Притворяется, что бот-телеграмм печатает? - PullRequest
0 голосов
/ 30 апреля 2020

Как мне заставить бота сделать вид, что он печатает сообщение?

Следующий текст появляется в чате, когда бот притворяется, что печатает:

enter image description here

Я использую python aiogram framework, но было бы полезно также предложить собственное API Telegram.

1 Ответ

1 голос
/ 30 апреля 2020

Я серьезно рекомендую использовать библиотеку python-telegram-bot, которая имеет обширный вики. Решение для того, что вы хотите, описано в фрагментах кода .

. Вы можете вручную отправить действие:

bot.send_chat_action(chat_id=chat_id, action=telegram.ChatAction.TYPING)

или создать декоратор, который затем можно использовать на любая функция, которую вы хотите sh, чтобы показать это действие при обработке:

from functools import wraps

def send_typing_action(func):
    """Sends typing action while processing func command."""

    @wraps(func)
    def command_func(update, context, *args, **kwargs):
        context.bot.send_chat_action(chat_id=update.effective_message.chat_id, action=ChatAction.TYPING)
        return func(update, context,  *args, **kwargs)

    return command_func

@send_typing_action
def my_handler(update, context):
    pass # Will send 'typing' action while processing the request.
...