Python / 向特定电报用户发送消息?

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

我想向特定的电报用户发送消息 -

所以我创建了一个名为 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?

python api bots telegram
2个回答
4
投票

您已经拥有一个机器人及其代币

之后你需要得到

chat_id
:

  1. 在聊天中写消息
  2. 访问
    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)

更多信息 - https://medium.com/@ManHay_Hong/how-to-create-a-telegram-bot-and-send-messages-with-python-4cf314d9fa3e


0
投票

您也可以手动发送消息,但如果您想从您的电报帐户发送批量消息,我在这里找到了一篇文章,您可以阅读这篇文章,谢谢电报消息发送者

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