• Как сделать запрос с кнопками в TelegramBotAPI?

    @a2NaF Автор вопроса
    В reply_markup передается inline_keyboard из массива массивов объектов кнопок.
    Кнопка состоит из text и одного обязательного optional.
    url ="https://api.telegram.org/bot"+token
    json_string = """ 
    {
        "chat_id":"300000000",
        "text":"hello",
        "reply_markup":{
           "inline_keyboard": [[
               {
                    "text": "Последние операции",
                    "callback_data": "\/last"
               },
               {
                    "text": "Баланс",
                    "callback_data": "\/balance"
                  }
                ]]
            }
    } """
    parsed_string = json.loads(json_string)
    requests.get(url + "/sendMessage",json = parsed_string)
    Ответ написан
    2 комментария
  • Как отправить сообщение в телеграм боте с помощью запроса?

    deepblack
    @deepblack Куратор тега Python
    requests.get зачем get если там должен быть post?
    curl'ом вот так:
    curl -X POST \
         -H 'Content-Type: application/json' \
         -d '{"chat_id": "888888", "text": "This is a test message from curl", "disable_notification": true}' \
         https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage


    Python:
    import requests
    import json
    
    proxy = {'https': 'socks5h://user:password@IP:1080'}
    
    token = '8888:ABC'
    chat_id = 88888
    
    URL = 'https://api.telegram.org/bot' + token + '/sendMessage'
    reply_markup ={ "keyboard": [["Yes", "No"], ["Maybe"], ["1", "2", "3"]], "resize_keyboard": True}
    data = {'chat_id': chat_id, 'text': '123', 'reply_markup': json.dumps(reply_markup)}
    r = requests.post(URL, data=data, proxies=proxy)
    
    print(r.json())
    Ответ написан
    Комментировать