电报机器人“未找到聊天”

Posted

技术标签:

【中文标题】电报机器人“未找到聊天”【英文标题】:Telegram Bot "chat not found" 【发布时间】:2017-05-01 16:27:26 【问题描述】:

我在 Python 中有以下代码,可以从机器人向自己发送消息。

import requests

token = '123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI'
method = 'sendMessage'
myuserid = 1949275XX
response = requests.post(
    url='https://api.telegram.org/bot0/1'.format(token, method),
    data='chat_id': myuserid, 'text': 'hello friend'
).json()
print(response)

但这会返回'description': 'Bad Request: chat not found', 'error_code': 400, 'ok': False

我做错了什么?我通过将/getid 发送到@myidbot 获得了myuserid,我从@BotFather 获得了我的令牌

【问题讨论】:

您需要先写信给机器人,然后机器人才能向您发送消息。 什么是get id 命令?也许它不是用户 ID 和它的机器人 ID 他的意思是@myidbot,它确实返回了用户ID。 @Maak 当我写信给机器人时,我会立即得到关于默认命令的答案。 @Maak 你如何给机器人写信? 【参考方案1】:

正如@maak 所指出的,您需要先向机器人发送消息,然后机器人才能向您发送消息。

【讨论】:

我们如何获得他们机器人的名字?【参考方案2】:

有一种方法可以将通知消息发送到电报。这有点棘手,但教程很棒!

http://bernaerts.dyndns.org/linux/75-debian/351-debian-send-telegram-notification

我刚刚将我的 apache 状态的消息发送到私有通道。 也可以在公共频道上使用,但这不是我想要的。当您调用脚本 (bash) 时,您可以使用任何脚本语言准备参数。

希望对您有所帮助。

【讨论】:

链接失效【参考方案3】:

如果您尝试向群组发送消息,则必须在您的聊天 ID 前添加一个“-”。 例如:

TELEGRAM_REG_CHAT_ID="1949275XX"

应该是

TELEGRAM_REG_CHAT_ID="-1949275XX"

【讨论】:

事实并非如此。您需要先向机器人发送消息,然后它才能向您发送消息 这不是问的。特别是组 ID 以 -100 开头。 这对我也有用 - 这是否记录在任何地方?【参考方案4】:

我在chat_id 的值之前使用前缀@,就像到处建议的那样。我删除了它并开始工作。 注意:如果您的聊天 ID 是 12345678,那么您需要在它前面加上 -100,这样它就是 -10012345678。 邮递员调用示例:

/sendMessage?chat_id=-10012345678&text=Let's get together

【讨论】:

这应该在 Telegram 文档中更新。在找到解决方案之前,我浪费了数小时尝试各种事情。 添加 -100 是完全错误的。你为什么要这样做?他想给私人聊天写信。组 ID 以 -100 开头。您不能只添加它,因为您会尝试向随机、未知的群组或频道发送消息。 这对我有用。可能是因为所讨论的组属于“超级组”类型。【参考方案5】:

对我来说,它只适用于频道 ID 之前的 @ 前缀

【讨论】:

【参考方案6】:

如果您使用用户名,则不需要任何前缀。这意味着以下内容不正确:

https://t.me/vahid_esmaily_ie
t.me/vahid_esmaily_ie

这是正确的情况:

vahid_esmaily_ie

【讨论】:

【参考方案7】:

如果你想在频道中使用机器人消息,你可以参考这里的步骤

步骤:

    创建 Telegram 公共频道 通过 BotFather 创建 Telegram BOT(例如 x_bot) 将x_bot设置为您频道的管理员

chat_id 是@x_bot,它是https://t.me/x_bot 的一部分,不会添加您的频道名称。

【讨论】:

以上是关于电报机器人“未找到聊天”的主要内容,如果未能解决你的问题,请参考以下文章

电报机器人的客户端,有可能吗?

删除电报机器人发送的传出消息(电报,python)

电报机器人可以访问有关用户的哪些信息?

电报机器人可以读取频道消息吗

电报机器人位置python

电报机器人 - OAuth 授权