@Deduwka

Как кнопку в телеграмм боте сделать командой?

Всем привет, пробую себя в написании ботов. Дошел до создания клавиатур и тут уперся в тупик. Как добавить клавиатуру репликей я разобрался, но не могу найти ответ как сделать так чтоб при нажатии на кнопку клавиатуры, боту была отправлена определенная команда, а не текст. Вот мой код:
import config
import telebot
from telebot import types

bot = telebot.TeleBot(config.token)



@bot.message_handler(commands=["start"])
def start(message):
  kb = types.ReplyKeyboardMarkup()
  kb.row('Реєстрація')
  bot.send_message(message.chat.id, "Вітаю, я Ваш особистий помічник. Для подальшої роботи потрібно зареєструватися. Для реєстрації натисніть на вказівку з меню, або введіть команду /register", reply_markup=kb)


При нажатии на кнопку боту уходить только текст кнопки, а нужно чтоб отправилась команда "/register"., при этом название кнопки должно остаться.
Возможно ли это сделать?
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Reply клавиатура просто отправляет текст с кнопки, без всяких команд. Можно просто так сделать:

@bot.message_handler(regexp='^Реєстрація$')
@bot.message_handler(commands=['register'])
def register(message):
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@MEDIOFF
Python Developer
ReplyKeyboard - отправляет то что на ней написано, и по другому никак, попробуйти использовать InlineKeyboard, и обрабатывать callback_data тогда не будет сообщений никаких отправляться, а на кнопке что угодно можете писать

P.S: Либо явно обрабатывайте 'Реєстрація' вместо /register
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы