假装电报机器人正在打字?

时间:2020-04-30 09:42:26

标签: bots telegram python-telegram-bot

如何使机器人伪装成正在键入消息?

自动程序假装键入时,聊天室中将显示以下文本:

enter image description here

我使用python aiogram框架,但对本机Telegram API的建议也将有所帮助。

1 个答案:

答案 0 :(得分:1)

我强烈建议您使用python-telegram-bot库,该库具有广泛的Wiki。 code snippets中介绍了所需的解决方案。

您可以手动发送操作:

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

或创建一个装饰器,然后将其用于您希望在处理过程中显示该动作的任何功能:

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.