pyTelegramBotAPI Можно ли сделать так, чтобы на кнопке было написано одно, а при нажатии она писала в чат другое

Рейтинг: 0Ответов: 1Опубликовано: 24.05.2023

Например, есть кнопка, на которой написано значение "1", но при нажатии на нее, в чат отправляется сообщение "1) 1". Возможно, есть какой-то дополнительный параметр для types.KeyboardButton?

Ответы

▲ 0

Об обычных кнопках KeyboardButton, которые отображаются на клавиатуре под полем для ввода текста, в руководстве написано следующее:

Text of the button. If none of the optional fields are used, it will be sent as a message when the button is pressed

Таким образом, стандартными средствами изменить отправляемый текст нельзя. Но можно попробовать перехватывать номера отправляемых сообщений и изменять их текст уже после отправки. Это может происходить настолько быстро, что пользователь не будет замечать подмены.

Еще есть InlineKeyboardButton, которые отображаются на Inline клавиатуре под конкретным сообщением. И вы можете запрограммировать выполнение любого кода при нажатии на них, в том числе отправку определенного текста.