@LeakySpoon

Как правильно сформировать POST запрос?

Когда я пытаюсь прикрепить разметку ReplyKeyboard, не присылает мне клавиатуру, текст сообщения тоже перестает посылать. Как мне корректно сформулировать POST запрос?
def send_message(chat_id, text, reply_markup=None):
    method = "sendMessage"
    token = get_from_env("TOKEN")
    url = f"https://api.telegram.org/bot{token}/{method}"
    data = {"chat_id": chat_id, "text": text, "reply_markup": reply_markup}
    requests.post(url, data)

send_message(
                chat_id=request.json["message"]["from"]["id"],
                text='Неправильно, это же ' + str(answer).lower() + '. Стыдно не знать!',
                reply_markup={"keyboard": [[{"text": "Кнопка 1"},{"text": "Кнопка 2"}],[{"text": "Кнопка 3"},{"text": "Кнопка 4"}]]}
                )
  • Вопрос задан
  • 50 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Нужно этот словарь преобразовать в JSON строку

imprort json

data = {"chat_id": chat_id, "text": text, "reply_markup": json.dumps(reply_markup)}


Либо изначально отправить всё это как application/json
data = {"chat_id": chat_id, "text": text, "reply_markup": reply_markup}
requests.post(url, json=data)


На будущее - читайте ответ запроса
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы