向特定ID发送消息python-telegraph-bot

uxhixvfz  于 2023-01-04  发布在  Python
关注(0)|答案(1)|浏览(168)

我想在机器人初始化时发送一条消息到机器人的管理器(特定ID)。所有脚本都是用句柄制作的,我无法让它同时使用两种发送消息的方法:

def main() -> None:
    """Start the bot."""
    # Create the Application and pass it your bot's token.
    application = Application.builder().token("TOKEN").build()
    
    application.bot.send_message("SOME ID","Hello! I am working.") # Problematic line

    # Handlers
    application.add_handler(CommandHandler("command", command_function))
    ...
    
    # on non command i.e message - echo the message on Telegram
    application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, default_command))
    
    # Run the bot until the user presses Ctrl-C
    application.run_polling()

如果我尝试运行前面的脚本,我会收到以下警告:

RuntimeWarning: coroutine 'ExtBot.send_message' was never awaited
  application.bot.send_message("SOME ID","Hello! I am working.") # Problematic line

我可以猜测问题出在两种发送消息的方法之间。但是有没有办法我可以同时使用这两种方法呢?(或者至少一次,只在机器人初始化的时候)

uoifb46i

uoifb46i1#

为了在启动时运行异步代码,Application(Builder)类提供了post_init钩子。文档还包含了一个如何使用这个钩子在启动时调用bot方法的示例。
免责声明:我目前是python-telegram-bot的维护者

相关问题