【问题标题】:Bot started but /start command isn't doing anything机器人启动但 /start 命令没有做任何事情
【发布时间】:2019-09-10 06:30:19
【问题描述】:

使用 docker 容器在 Heroku 上设置 python teegram bot 脚本后,脚本正在运行,但 /start 命令根本没有做任何事情

使用 Python 电报机器人在 Heroku 服务器上设置电报机器人

import logging
import os
import sys
from telegram.ext import Updater, CommandHandler

logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',level=logging.INFO)
logger = logging.getLogger()

# Get mode and token from environment
mode = os.getenv("MODE")
TOKEN = os.getenv("TOKEN")

if mode == "prod":
    def run(updater):
        PORT = int(os.environ.get("PORT", "8443"))
        AppName = os.environ.get("AppName")
        # Code from https://github.com/python-telegram-bot/python-telegram-bot/wiki/Webhooks#heroku
        updater.start_webhook(listen="0.0.0.0",
                              port=PORT,
                              url_path=TOKEN)
        updater.bot.set_webhook("https://{}.herokuapp.com/{}".format(AppName, TOKEN))
else:
    logger.error("No mode specified")
    sys.exit(1)

def start(update, context):
    logging.info("User started bot {}".format(update.message.from_user.first_name))
    context.bot.send_message(chat_id=update.message.chat_id, text="Your name is {}".format(update.message.from_user.first_name))


if __name__ == '__main__':
    logger.info("Bot started")
    updater = Updater(token=TOKEN, use_context=True)

    # ADD dispatcher with command handler
    dispatcher = updater.dispatcher
    logger.info("working till here")
    start_handler = CommandHandler('start', start)
    dispatcher.add_handler(start_handler)
    logger.info(dispatcher.add_handler(start_handler))
    run(updater)

期望 /start 命令打印用户名但不起作用

【问题讨论】:

  • 你确定你的容器正在运行吗?
  • 是的,heroku 日志显示 bot 已启动,状态已更改为启动
  • 谁能帮帮我?
  • 不抱歉,您可能想先在本地开始调试

标签: python docker heroku python-telegram-bot


【解决方案1】:

我想知道您为什么不使用通常的updater.start_polling() 命令来启动机器人轮询过程,该过程基本上是侦听用户消息的过程,我认为这就是您所缺少的

使用updater.start_polling() 而不是run(updater)

【讨论】:

  • 感谢您的反馈,遗憾的是不再从事此工作
猜你喜欢
  • 2020-03-20
  • 2020-03-20
  • 2021-06-25
  • 2021-04-12
  • 1970-01-01
  • 2021-05-13
  • 1970-01-01
  • 1970-01-01
  • 2011-03-05
相关资源
最近更新 更多