当前位置: 首页 > 知识库问答 >
问题:

电报机器人-网络钩子

芮瑾瑜
2023-03-14

我通过GitHub将我的电报机器人部署到Heroku(我使用Webhook),机器人正在运行,但由于某种原因,它没有通过Webhook接收消息。

代码如下:

import os
import telebot
from flask import Flask, request

#I deleted an irrelevant code here for the question ...
server = Flask(__name__) 

TOKEN = "..."
bot = telebot.TeleBot(token=TOKEN)

@bot.message_handler(commands=['start']) # welcome message handler
def send_welcome(message):
    #I deleted an irrelevant code here for the question ...


@bot.message_handler(commands=['help']) # help message handler
def send_welcome(message):
    #I deleted an irrelevant code here for the question ...


@bot.message_handler(func=lambda msg: msg.text)
def converter(message):
   #I deleted an irrelevant code here for the question ...


@server.route('/' + TOKEN, methods=['POST'])
def getMessage():
    bot.process_new_updates([telebot.types.Update.de_json(request.stream.read().decode("utf-8"))])
    return "!", 200


@server.route("/")
def webhook():
    bot.remove_webhook()
    bot.set_webhook(url='https://myherokuapp.herokuapp.com/' + TOKEN)
    return "!", 200


if __name__ == "__main__":
    server.run(host="0.0.0.0", port=int(os.environ.get('PORT', 5000)))

文件:

共有1个答案

何禄
2023-03-14

你在推进到heroku之前提交了Procfile吗?

我还忘记提交Procfile,所以应用程序没有运行。

如果这没有帮助,请在此处分享完整的git推送日志

 类似资料:
  • 我需要将电报频道帖子与我的网站同步。所以,我创建了一个机器人,一个频道,将我的机器人添加到这个频道(具有管理员权限,它可以访问消息),并将我的机器人的网络钩子绑定到指定的服务器url。一切顺利,帖子创建更新被正确发送到服务器url。唯一的问题是,没有跟踪电报频道帖子删除的更新,因此管理员手动从服务器数据库中删除帖子。任何想法,如何设置机器人或网络钩子以跟踪帖子删除?

  • 我正在尝试用python制作一个电报回声机器人。我在heroku上托管我的python。 起初,我只是对python请求使用了电报本地API方法,然后我使用了一个python-telegram-bot库。 我能够让常规的getUpdate方法(使用长轮询——即heroku定期向您的电报机器人发出请求以获取更新)工作,但webhook不能。 我认为问题是heroku不会允许进入港口 有谁知道我该怎么

  • 我在赫洛库上部署了我的电报机器人。Bot曾经工作正常,但在某些时候,它只是在接收命令时停止发送消息。以下是获取网络钩子信息的答案: {"ok":true,"结果":{"url":"https://telegram-rainbow-bot.herokuapp.com:443/api/message/update","has_custom_certificate":false,"pending_upd

  • 我无法理解电报机器人api的Reply_to_message方法。以下是我的代码: 这里,当用户发送/启动机器人发送hello world文本。我想让用户回复发送hello world的消息。我的意思是当用户发送/启动机器人回复信息的文本“你好,世界!” 我使用网络钩子。

  • 我的电报机器人是用煤气做的,但我的自定义键盘不工作。我的functon发送消息如下。谢谢 VAR有效载荷={'method':'sendMessage','chat_id': String(chat Id),'text': text,'parse_mode':'超文本标记语言'} }

  • 这不是重复的:| 我添加了一个用于管理goup的新机器人。通过此信息: 我的机器人是管理员 我的机器人隐私被禁用 “启用”-您的机器人只会接收以“/”符号开头或通过用户名提及机器人的消息。“禁用”-您的机器人将接收人们发送到组的所有消息。当前状态是:禁用成功!新状态是:禁用 bot可以读取除其他bot消息外的所有成员!但可以在回复中看到信息。 我的tg api是:https://github.co