簡體   English   中英

python-telegram-bot 僅在命令后處理消息

[英]python-telegram-bot handle message only after command

我試圖讓機器人通過首先發送/send_m命令來發送我給他的消息,然后它會在我寫下將發送給其他用戶的消息之后詢問消息,問題是消息處理程序正在運行send function 即使我沒有給它/send_m命令我該如何解決這個問題?

dispatcher = updater.dispatcher
dispatcher.add_handler(CommandHandler('send', send_m))
dispatcher.add_handler(MessageHandler(Filters.text,send))
updater.start_polling()

我正在處理這樣的消息和命令。

我已經聲明了一個布爾變量,當我得到命令時,它被設置為True並聲明結束函數以在函數調用時將布爾值設置為False ,並且我為處理的每條消息放置 if 語句以檢查發送命令是否已調用。

dispatcher.add_handler(MessageHandler(Filters.text,send & ~Filters.command, send))

您可能會注意到使用 MessageHandler 而不是 CommandHandler。 這是一個更通用的處理程序,它根據您提供的標志選擇消息。 在這種情況下,它處理包含文本但不是命令的消息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM