Не получается отправить requests запрос к Telegram API
Я реализую функцию установки реакции ботом на сообщение пользователя (недавно вышла новая версия bot api в Telegram, где и появилась эта функция).
def send_react(message):
global TOKEN
chat_id = message.chat.id
message_id = message.message_id
reaction = '?'
url = f'https://api.telegram.org/bot{TOKEN}/setMessageReaction'
data = {
'chat_id': chat_id,
'message_id': message_id,
'reaction': reaction,
'is_big': False
}
response = requests.post(url, json=data)
if response.status_code == 200:
result = response.json()
if result['ok']:
print('Реакция успешно установлена!')
else:
print('Не удалось установить реакцию. Причина:', result['description'])
else:
print('Ошибка при выполнении запроса. Код статуса:', response.status_code)
return
Однако получаю ошибку: Ошибка при выполнении запроса. Код статуса: 400 Что это может быть?
Ответы (1 шт):
Автор решения: Trees
→ Ссылка
Поле reaction ожидает не простую строку, а специальный формат. Нужно заменить на:
reaction = [{'type': 'emoji', 'emoji': '?'}]