首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >电报Bot URL返回404

电报Bot URL返回404
EN

Stack Overflow用户
提问于 2021-05-24 12:40:54
回答 2查看 206关注 0票数 0

我使用Python向电报组发送消息,URL返回404。以下是代码:

代码语言:javascript
运行
复制
import requests
from config import API, CHAT_ID

# telegram url
url = "https://api.telegram.org/bot{}".format(API)

print(url)


def send_mess(text):
    params = {'chat_id': CHAT_ID, 'text': text}
    response = requests.post(url + 'sendMessage', data=params, timeout=20)
    return response


if __name__ == '__main__':
    d = send_mess('Hi')

    print(d)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-24 13:08:43

看起来APICHAT_ID配置得不太好。尽管如此,我还是建议使用telegram库:

pip install python-telegram-bot

代码语言:javascript
运行
复制
import telegram

def send_mess(text):
    token = "XXXXXX"
    chat_id = "XXXXXX"
    bot = telegram.Bot(token=token)
    bot.sendMessage(chat_id=chat_id, text=text)

if __name__ == '__main__':
    d = send_mess('Hi')

    print(d)
票数 0
EN

Stack Overflow用户

发布于 2021-05-24 15:45:11

在您的代码中有一个简单的错误,让我们看看以下几行:

代码语言:javascript
运行
复制
url = "https://api.telegram.org/bot{}".format(API)
...
response = requests.post(url + 'sendMessage', data=params, timeout=20)

这使我们产生了一个像url一样的世界;

代码语言:javascript
运行
复制
https://api.telegram.org/bot123456:QWERTYsendMessage

在这里,url在令牌和方法之间缺少一个/,建议更改;

url + 'sendMessage'url + '/sendMessage'以获得正确的url:

代码语言:javascript
运行
复制
https://api.telegram.org/bot123456:QWERTY/sendMessage
                                         ^

然后,您的代码按照预期发送消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67672240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档