@kerych3

Создание клавиатурных кнопок в телеграм боте?

У меня проблема. Так как я начинающий в сфере python помогите решить задачку с созданием клавиатурных кнопок в боте.
import telebot;
from telebot import types
import telegram, telegram.ext
from aiogram.types import ReplyKeyboardRemove, \
    ReplyKeyboardMarkup, KeyboardButton, \
    InlineKeyboardMarkup, InlineKeyboardButton
from telegram.ext import Updater, MessageHandler, Filters, CommandHandler
from telegram import ReplyKeyboardMarkup, ReplyKeyboardRemove


bot = telebot.TeleBot('5233190153:AAFPP5jfEmfO1SQNAVhV_iQUhrWB43GKs1k');

reply_keyboard = [['/set_timer', '/unset_timer']]

markup = types.ReplyKeyboardMarkup(reply_keyboard, one_time_keyboard=False)

btn_my_site= types.InlineKeyboardButton(text='Наш сайт', url='https://habrahabr.ru')
markup.add(btn_my_site)
reply_keyboard = [['/address', '/phone'],
                  ['/site', '/work_time']]


@bot.message_handler(content_types=['text'])
def get_text_messages(message):
    if message.text == "/start":
        bot.send_message(message.from_user.id, "Привет! Я бот, который продает различные аккаунты. Тебе нужен какой не будь аккаунт?", reply_markup = markup)  
    elif message.text == "/contacts":
        bot.send_message(message.from_user.id, "Для контакта с разработчиком пиши @kerych3")
    elif message.text == "/help":
        bot.send_message(message.from_user.id, "Вот команды: /start , /contacts")
    else:
        bot.send_message(message.from_user.id, "Я тебя не понимаю. Напиши /help.")        


bot.poll_handler(CommandHandler('start', get_text_messages))
bot.poll_handler(CommandHandler('contacts', get_text_messages))


bot.polling(none_stop=True, interval=0)
  • Вопрос задан
  • 422 просмотра
Пригласить эксперта
Ответы на вопрос 1
@MaxKra1985
разработчик java, python
Ну, во первых, клавиатурные кнопки отправляют то что на них. То есть надо писать на них то, что должно быть видно пользователю:
menu = ReplyKeyboardMarkup(resize_keyboard=True)
menu.row(KeyboardButton('Кнопка 1'), KeyboardButton('Кнопка 2'), KeyboardButton('Кнопка 3'))
menu.row(KeyboardButton('Кнопка 4'))
menu.row(KeyboardButton('Кнопка 5'), KeyboardButton('Кнопка 6'))


И обрабатывать соответственно:
@bot.message_handler(content_types=['text'])
def get_text_messages(message):
    if message.text == "Кнопка 1":
       ...
    elif message.text == "Кнопка 2":
       ...
Ответ написан
Ваш ответ на вопрос

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

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