我想向特定的电报用户发送消息 -
所以我创建了一个名为 Rapid1898Bot 的机器人并获取它的 api-key。 我还在机器人中发送消息并进行处理
https://api.telegram.org/bot<Bot\_token>/getUpdates
聊天ID
使用以下代码,我现在可以向机器人发送消息 - 这很好:
import os
from dotenv import load_dotenv, find_dotenv
import requests
load_dotenv(find_dotenv())
TELEGRAM_API = os.environ.get("TELEGRAM_API")
# CHAT_ID = os.environ.get("CHAT_ID_Rapid1898Bot")
CHAT_ID = os.environ.get("CHAT_ID_Rapid1898")
print(CHAT_ID)
botMessage = "This is a test message from python!"
sendText = f"https://api.telegram.org/bot{TELEGRAM_API}/sendMessage?chat_id={CHAT_ID}&parse_mode=Markdown&text={botMessage}"
response = requests.get(sendText)
print(response.json())
但现在我还想向特定的电报用户发送消息。根据这个解释:
我期待着
a) 从例如发送消息。我的电报帐户到机器人
b) 然后打开
https://api.telegram.org/bot<Bot\_token>/getUpdates
但不幸的是,它似乎总是相同的聊天ID,我可以用它将消息发送到rapid1898bot - 但不能发送到我的电报帐户。
为什么这不起作用以及为什么我总是得到相同的聊天 ID?
您已经拥有一个机器人及其代币
之后你需要得到
chat_id
:
https://api.telegram.org/bot<YourBOTToken>/getUpdates
并在chat_id
键下获得
message['chat']['id']
import requests
def telegram_bot_sendtext(bot_message):
bot_token = ''
bot_chatID = ''
send_text = 'https://api.telegram.org/bot' + bot_token + '/sendMessage?chat_id=' + bot_chatID + '&parse_mode=Markdown&text=' + bot_message
response = requests.get(send_text)
return response.json()
test = telegram_bot_sendtext("Testing Telegram bot")
print(test)
您也可以手动发送消息,但如果您想从您的电报帐户发送批量消息,我在这里找到了一篇文章,您可以阅读这篇文章,谢谢电报消息发送者