要在使用 python-telegram-bot
库编写的 Python 机器人中显示“正在键入...”状态,你可以使用 telegram.Bot.send_chat_action
方法。这个方法允许你发送一个表示当前正在进行的动作的通知给用户,例如“正在键入”、“上传照片”等。
send_chat_action
方法用于发送一个聊天动作,告诉用户机器人正在执行某个操作。这有助于提高用户体验,让用户知道机器人没有卡住,而是在处理他们的请求。
Telegram 支持多种聊天动作,包括:
typing
:表示正在键入。upload_photo
:表示正在上传照片。record_video
:表示正在录制视频。以下是一个简单的示例,展示如何在发送消息之前显示“正在键入...”状态:
import time
from telegram import Update
from telegram.ext import Updater, CommandHandler, CallbackContext
def start(update: Update, context: CallbackContext) -> None:
# 发送“正在键入...”状态
update.message.chat.send_action(action='typing')
# 模拟一些处理时间
time.sleep(3)
# 发送实际的消息
update.message.reply_text('你好!我已经准备好帮助你了。')
def main():
updater = Updater("YOUR_TOKEN")
dispatcher = updater.dispatcher
# 注册命令处理器
dispatcher.add_handler(CommandHandler("start", start))
# 启动机器人
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
send_chat_action
,以免造成用户困扰。通过这种方式,你的机器人可以在执行任务时给用户一个清晰的反馈,从而提升整体的交互体验。
领取专属 10元无门槛券
手把手带您无忧上云