电报机器人 URL returns

Telegram Bot URL returns 404

我正在使用 Python 向电报组发送消息,URL returns 404。下面是代码:

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)

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

pip install python-telegram-bot

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)

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

url = "https://api.telegram.org/bot{}".format(API)
...
response = requests.post(url + 'sendMessage', data=params, timeout=20)

这会产生一个 url 赞;

https://api.telegram.org/bot123456:QWERTYsendMessage

这里的url在token和method之间少了一个/,建议改一下;
url + 'sendMessage'url + '/sendMessage' 以获得正确的 url:

https://api.telegram.org/bot123456:QWERTY/sendMessage
                                         ^

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