【发布时间】:2020-05-01 19:08:39
【问题描述】:
我正在尝试在 heroku 上部署和运行电报机器人。 我正在使用 python 3 和库 python-telegram-bot。
我的 .py 类名为 test.py 和 git 项目名为 telegram_bot。 我还创建了一个 heroku 管道(包括一个名为 telegram-bot-1 的项目)并将其连接到我的 git。 (所以每次我提交新的提交时,heroku 都会开始构建项目)
这些是我在 git 项目中的所有代码(包括 test.py、Dockerfile 和 herouku.yml):
import os
import sys
from telegram.ext import Updater, CommandHandler
TOKEN = "515148657:dvGVfrSVU78SfvdEtvfZf25EvefvEftnU-8"
def run(updater):
PORT = int(os.environ.get("PORT", "8443"))
HEROKU_APP_NAME = "telegram_bot"
updater.start_webhook(listen="0.0.0.0",
port=PORT,
url_path=TOKEN)
updater.bot.set_webhook("https://{}.herokuapp.com/{}".format(HEROKU_APP_NAME, TOKEN))
def start_handler(bot, update):
user = update.message.from_user
update.message.reply_text("Hello dear {} :).format(user['first_name']))
def get_handler(bot, update):
stock_name = update.effective_message["text"]
update.message.reply_text("you said: {}".format(stock_name))
if __name__ == '__main__':
updater = Updater(TOKEN)
updater.dispatcher.add_handler(CommandHandler("start", start_handler))
updater.dispatcher.add_handler(CommandHandler("get", get_handler))
run(updater)
FROM python:3.7
RUN pip install python-telegram-bot
RUN mkdir /app
ADD . /app
WORKDIR /app
CMD python /app/test.py
build:
docker:
web: Dockerfile
我所有的文件都在一个文件夹中。
但是在heroku上自动构建后的日志是:
2019-06-01T14:32:57.000000+00:00 app[api]: Build started by user esrvef@gmail.com
2019-06-01T14:33:55.792474+00:00 app[api]: Deploy 50b099c1 by user esrvef@gmail.com
2019-06-01T14:33:55.792474+00:00 app[api]: Release v40 created by user esrvef@gmail.com
2019-06-01T14:33:55.000000+00:00 app[api]: Build succeeded
并且代码没有运行。所以机器人不起作用。
我应该怎么做才能使它正确?
谢谢。
【问题讨论】:
-
请对机器人令牌保密!它们应该保密(因为任何拥有令牌的人都可以随时完全控制您的机器人).. 确保尽快在 @BotFather 上更改它,下次小心
标签: python heroku telegram-bot