无法从我的机器人向自己发送消息 - 找不到聊天

问题描述 投票:0回答:1

我从

BotFather
创建了 Telegram 机器人,它给了我一个 API 密钥。现在当我尝试打开这个网址时

https://api.telegram.org/bot<MYAPIKEY>/sendMessage?chat_id=@<MYTELEGRAMUSERNAME>&text=Hello

它回应了我

{
    "ok": false,
    "error_code": 400,
    "description": "Bad Request: chat not found"
}

如何修复?我忘记做什么了?

我试图在电报中打开我的机器人页面并在那里输入一些内容(它没有响应任何内容)。


我希望我的计算机向我发送 Telegram 通知。

telegram telegram-bot telegram-api
1个回答
0
投票

当您尝试使用 Telegram Bot API 发送消息时收到错误消息

"Bad Request: chat not found"
,通常表示提供的
chat_id
不正确,或者机器人没有向指定聊天发送消息的权限。

解决问题的步骤:

  1. 使用正确的聊天ID:

    • 确保
      chat_id
      是您的用户 ID 或您的机器人所属的群组/频道的 ID。
    • 如果您尝试向个人 Telegram 帐户发送消息,请使用您的用户 ID 而不是用户名。您可以使用 Telegram 上的UserInfoBot 找到您的用户 ID。只需启动机器人,它就会为您提供您的用户 ID。
  2. 确保机器人已启动:

    • 在 Telegram 中与您的机器人打开聊天(搜索其用户名)。
    • 向机器人发送任何消息(例如“开始”或任何文本)。此步骤至关重要,因为机器人需要与您至少交互一次才能向您发送消息。
  3. 检查URL格式:

    • 确保您的 URL 格式正确。将
      <MYAPIKEY>
      替换为您的实际机器人 API 密钥,将
      <YOUR_USER_ID>
      替换为您的实际 Telegram 用户 ID。
    • URL 应如下所示:
      https://api.telegram.org/bot<MYAPIKEY>/sendMessage?chat_id=<YOUR_USER_ID>&text=Hello
      
  4. 权限:

    • 如果您要向群组或频道发送消息,请确保机器人已添加到该群组/频道并且有权发送消息。

正确网址示例:

如果您想直接向自己发送消息,则 URL 应如下所示:

https://api.telegram.org/bot123456789:ABCdefGhiJKLmnopQRStuvWXyz/sendMessage?chat_id=123456789&text=Hello

确保将

123456789
替换为您的实际机器人 API 密钥和用户 ID。

使用 Curl 进行测试:

您可以在终端或命令提示符中使用

curl
测试 API 调用:

curl -X POST "https://api.telegram.org/bot<MYAPIKEY>/sendMessage" -d "chat_id=<YOUR_USER_ID>" -d "text=Hello"

结论:

执行这些步骤后,您应该能够从机器人接收消息。如果您仍然遇到问题,请仔细检查聊天 ID 并确保在 Telegram 中正确设置机器人。

© www.soinside.com 2019 - 2024. All rights reserved.