我试图在我的CallbackQueryHandler中调用异步函数,但是在调用main()
之后没有发生任何事情,程序运行良好,但如果我触发回调函数,它不起作用
这是我的代码
from telegram.ext import Updater, CallbackQueryHandler
async def button(update, context) -> None:
query = update.callback_query
query.answer()
data = query.data
print(data)
if await post_data(data):
bot.send_message(chat_id=update.chat_instance, text='Done!')
async def main() -> None:
updater = Updater(TELEGRAM_BOT_TOKEN)
updater.dispatcher.add_handler(CallbackQueryHandler(button, run_async=True))
updater.start_polling()
updater.idle()
await main()
我错过了什么吗?
python-telegram-bot
(还)不支持asyncio
模块,参见这里。run_async
特性使用线程。
免责声明:我目前是python-telegram-bot
的维护者。