Вы попробовали еще раз?
Я следовал руководству (вплоть до "dispatcher.add_handler (inline_caps_handler)"), и это не доставило мне проблем. Закончив играть с заглавными буквами, я сделал dispatcher.remove_handler (inline_caps_handler), и он перестал преобразовывать в верхний регистр слова, которые я пишу. Затем я добавил другой обработчик (конвертер в нижнем регистре), и бот был обновлен.
Вот пример, который я использую в интерактивной оболочке Python (которая очень похожа на туториал, но обрезает не встроенный материал):
from telegram.ext import Updater
updater = Updater(token='TOKEN', use_context=True)
dispatcher = updater.dispatcher
import logging
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
level=logging.INFO)
updater.start_polling()
from telegram import InlineQueryResultArticle, InputTextMessageContent
def inline_caps(update, context):
query = update.inline_query.query
if not query:
return
results = list()
results.append(
InlineQueryResultArticle(
id=query.upper(),
title='Caps',
input_message_content=InputTextMessageContent(query.upper())
)
)
context.bot.answer_inline_query(update.inline_query.id, results)
from telegram.ext import InlineQueryHandler
inline_caps_handler = InlineQueryHandler(inline_caps)
dispatcher.add_handler(inline_caps_handler)
dispatcher.remove_handler(inline_caps_handler)
def inline_lower(update, context):
query = update.inline_query.query
if not query:
return
results = list()
results.append(
InlineQueryResultArticle(
id=query.lower(),
title='lows',
input_message_content=InputTextMessageContent(query.lower())
)
)
context.bot.answer_inline_query(update.inline_query.id, results)
from telegram.ext import InlineQueryHandler
inline_lower_handler = InlineQueryHandler(inline_lower)
dispatcher.add_handler(inline_lower_handler)
и после окончания испытаний.
updater.stop()