查询现有的 webhook

Querying existing webhooks

现有应用程序已使用 Telegram API 设置了 webhooks。

一个较新的应用程序想要使用相同的机器人发送消息,最终使用相同的命名操作 webhook。

最初,人们可能希望首先查询现有的 webhook 以识别现有的 webhook,然后根据操作上下文的复杂性不断增加,可能会删除它们。 telegram API documentation does not appear to have methods 用于此类操作。

A) 可以查询自己的机器人 webhooks 并删除它们吗?

在任何情况下,新服务器都将拥有自己的 TLS 通信证书。

curl -F "url=https://b.example.online/<WEBHOOKLOCATION>" https://api.telegram.org/bot<YOURTOKEN>/setWebhook

B) 如果使用 相同的 操作(或 Telegram 中的 webhooklocation )名称设置新的 webhook,那会杀死吗现有的,比如说

curl -F "url=https://a.example.online/<WEBHOOKLOCATION>" https://api.telegram.org/bot<YOURTOKEN>/setWebhook

或者将通知发送到两个 webhook(即,已认证 URL 和操作名称的组合被视为唯一对象)?

C) 基本 webhooks /start /help 等发生了什么?如果 webhooks 不存在,它们是否会被 Telegram 服务器响应?同样,他们是否可以将多个经过认证的域目标用于同一操作

一种方法是撤销令牌@BotFather,这可能会杀死相关的 webhook。新令牌允许重新创建 webhook。

虽然 the official documentation link

中没有记录,但有一个 deleteWebhook 操作

通过试错,结论是每个bot只有一个webhook。为具有相同机器人的不同应用程序设置不同的 webhooks,只有最后一个处于活动状态(旧的已被删除)。