问题标签 [telegram-webhook]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
799 浏览

bots - 无法设置我的 Telegram Bot 的 webhook

我设置了 Telegram Bot 的 webhook,它似乎工作正常,但是当我尝试给他写信时,bot 没有回复。我表示为 webhook 的文件的代码是正确的(我使用 getupdates 方法检查了它),并且托管它的服务器具有 SSL 证书。

试图查看 getWebhookInfo 方法的结果,我检查了错误是"Wrong response from the webhook: 410 Gone"

任何人都可以帮助我找出问题所在?

0 投票
1 回答
1500 浏览

telegram-bot - 使用整数 id 的频道上的 Telegram Bot getChat 方法返回旧的详细信息

我们有一个网络应用程序,用户将我们的机器人添加到他/她的频道中作为管理员,并且可以从网络应用程序中做一些事情(例如发布/编辑带有标记按钮的项目..等),我们的应用程序很大程度上基于频道整数chat_id(例如:chat_id=-1001006616144)而不是(@username),一切正常......问题是:

当频道所有者更改频道用户名(例如 @foo 到 @bar)时,如果我传递频道整数 id(例如:-1001006616144),robots getChat方法仍然返回旧频道的用户名(@foo),尽管没有频道不再使用用户名@foo

但这不适用于更改频道标题,我的意思是如果所有者更改频道标题,getChat(以整数 id 作为参数)方法会立即返回更新后的频道标题(和用户名)

我需要使用整数chat_id,因为它在频道的生命周期内保持不变,直到它被删除,并且我的网络应用程序需要更新的@username 和标题,只要我的机器人是频道中的管理员,这
是某种错误吗?任何人都可以建议一个解决方法,这样我就可以获得更新的频道信息(最多 12 小时间隔)?我使用 PHP BTW

0 投票
1 回答
1266 浏览

node.js - 为什么 node js telegram bot 放在 heroku 上的回答是 403

我编写电报机器人并使用 Telegraf 库。我把我的机器人放在 Heroku 上。我以这种方式设置 webhook:

但是在 Heroku 日志中我看到 at=info method=POST path="/bot" host=my-app.herokuapp.com request_id=a8f99998-5e9b-4fe4-9af6-9ac56e492ae3 fwd="149.154.167.206" dyno=web.1 connect=3ms service=4ms status=403 bytes=101 protocol=https

getWebhookInfo() 也记录last_error_message: 'Wrong response from the webhook: 403 Forbidden. 使用邮递员从电报 webhook 指南中尝试测试示例也返回 403

解决方案:我通过在我的脚本中添加 Express 来解决它,就像在这个例子中一样

0 投票
0 回答
1277 浏览

python - 在 Hook.io 上使用 Python 从 Telegram 机器人获取 POST 数据

我正在尝试使用 Python 在 Telegram 上制作一个简单的回声机器人,作为 hook.io 上的微服务托管。

问题:无法解析来自 Hook 对象的 POST 数据。

我在另一个机器人中尝试了这里的 JavaScript 方法,效果很好。试图在 Python 中做同样的事情,如下所示:

但没有得到任何回应。

更新:

我通过在 Hook['params'] 上执行 json.dumps 和 json.loads 解决了这个问题。

这是完整的代码:

0 投票
1 回答
466 浏览

python-3.6 - 在 python 3 中处理电报 webhook 数据

我使用这个框架pyTelegramBotAPI制作了聊天机器人,并将 webhook 设置为我在 Telegram 中的聊天机器人。我为此使用 CherryPy。一切正常。但我无法处理用户发送给我的机器人的数据。我只是收到用户发送内容的通知。我该如何解决这个问题?谢谢。

0 投票
1 回答
260 浏览

python - 从cherrypy webhook类调用变量

在 CherryPy 的帮助下,我将 webhook 设置为我的电报聊天机器人。现在我正在尝试处理通过 webhook 收到的数据。我在cherrypy webhook 类中找到了包含所需json 数据的变量。在我的代码中,变量名是json_string。我需要在我的 python 脚本中到处调用这个变量。我怎么能这样做?谢谢。

0 投票
1 回答
1591 浏览

php - 电报机器人:同一域上具有不同路由的多个机器人

我正在使用Telegram Bot Php-Sdk。由于问题是不言自明的,我试图在同一域但不同的路线上运行多个机器人。我在 mybot.domain.com/someroute 有一个带有 webhook 设置的实时机器人,在 mybot2.domain.com/someroute 有一个登台机器人。两者都在不同的服务器上。今天我创建了一个新的机器人,创建了一个新的控制器并在这个控制器的构造函数中传递了机器人令牌,例如

我为这个新机器人创建了一个新的 webhook,名为 mybot2.domain.com/DifferentRoute。但是自从这个新机器人的部署和 webhook 设置以来,我的所有 3 个机器人都没有响应。我没有在 getWebhookUpdate 函数上获得任何聊天数据。需要指导 谢谢

0 投票
1 回答
288 浏览

asp.net-mvc-4 - 从 nuget 添加 Telegram.Bot 后,MVC 编译失败

我正在使用 vs2012 并创建了一个 MVC4 项目

我将为电报机器人实现一个 webhook。

但是在我从 nuget 添加 Telegram Bot Api 后,我的项目无法完全编译并引发如下异常:

尝试通过方法“System.Web.Http.HttpConfiguration..ctor(System.Web.Http.HttpRouteCollection)”访问方法“System.Web.Http.HttpConfiguration.DefaultFormatters()”失败。

我在 stackoverflow 上找到了一些解决方案,但他们帮不了我。有人 siad 卸载并安装 WebApiClient 但它没有任何影响。

0 投票
1 回答
3618 浏览

nginx - 无法在 Telegram bot webhook 中使用 Let's Encrypt 证书(自签名证书工作正常)

我正在尝试使用Let's Encrypt 证书设置我的Telegram bot webhook ,但 Telegram 一直说verify_failed。但是,浏览器完全可以使用新的 Let's Encrypt 证书。

我的自签名证书目前在带有Nginx web server的Ubuntu 17.04上的 webhooks 中运行良好。

我错过了什么?

当前的自签名证书设置(Works)

我使用以下命令生成了我的证书:

和 Nginx 配置:

新的 Let's Encrypt 设置(在浏览器中有效,在 webhook 中失败)

使用 EFF 的出色 certbot 为我的域生成证书。

在设置 Telegram 的 webhook 时,我使用/etc/letsencrypt/live/example.org/cert1.pemfile.

这是我尝试过的 Nginx 配置:

0 投票
2 回答
6006 浏览

bots - 如何通过 ID 获取消息信息 [Telegram API]

我正在为电报编写机器人以从群聊中收集一些统计数据。我需要获取有关每条消息的信息(从聊天开始)。我知道我该怎么做,但这是一个非常糟糕的主意。我可以使用 forwardMessage 方法,但我需要第二个 acc 并且当我发送消息太快(一小时)时我会超时,所以收集超过 200 万条消息的对话的统计信息有点长;s 我试图设置每秒 10 条消息的限制,但我仍然超时,所以不知道它是如何工作的。必须有其他方法可以通过 id 获取 JUST 消息信息而不转发它;v 我在 API 中找不到它。