Чтобы добавить кнопку "Назад" в ваш код, вы можете добавить KeyboardButton для "Назад" в объект разметки, а затем использовать метод bot.send_message() для отправки пользователю сообщения, содержащего кнопку "Назад".
Например, в представленном вами коде вы можете добавить следующий код в оператор elif для сообщения "? Прочее":
elif message.text == '? Прочее:':
markup2 = types.ReplyKeyboardMarkup(resize_keyboard=True)
item4 = types.KeyboardButton('?YouTube автора бота')
item5 = types.KeyboardButton('?Телеграм автора бота')
item6 = types.KeyboardButton('?Твич автора бота')
item7 = types.KeyboardButton('Назад') # добавлена строка для кнопки "Назад"
markup2.add(item4, item5, item6, item7)
bot.send_message(message.chat.id, 'Выбери нужный пункт:', reply_markup=markup2)
Затем в главной функции можно добавить еще один оператор if для обработки кнопки "Назад":
@bot.message_handler(content_types=['text'])
def lalala(message):
if message.chat.type == 'private':
if message.text == '? Рандомное число':
bot.send_message(message.chat.id, str(random.randint(0, 100)))
elif message.text == '? Как дела?':
markup = types.InlineKeyboardMarkup(row_width=2)
item1 = types.InlineKeyboardButton("Хорошо", callback_data='good')
item2 = types.InlineKeyboardButton("Не очень", callback_data='bad')
markup.add(item1, item2)
bot.send_message(message.chat.id, 'Отлично, сам как?', reply_markup=markup)
elif message.text == 'Назад': # добавлена строка для обработки кнопки "Назад"
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton("? Рандомное число")
item2 = types.KeyboardButton("? Как дела?")
item3 = types.KeyboardButton('? Прочее:', callback_data='proche')
markup.add(item1, item2, item3)
bot.send_message(message.chat.id, "Добро пожаловать обратно в главное меню!", reply_markup=markup)
# остальная часть кода ...
import telebot
import config
import random
from telebot import types
bot = telebot.TeleBot(config.token)
@bot.message_handler(commands=['start'])
def welcome(message):
sti = open('V:\PyProject/tgbot/stikers/sticker.webp', 'rb')
# keyboard
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton("? Рандомное число")
item2 = types.KeyboardButton("? Как дела?")
item3 = types.KeyboardButton('? Прочее:', callback_data='proche')
markup.add(item1, item2, item3)
bot.send_message(message.chat.id,
"Добро пожаловать, **{0.first_name}!**\nЯ - <b>{1.first_name}</b>, бот созданный .".format(
message.from_user, bot.get_me()),
parse_mode='html', reply_markup=markup)
bot.send_sticker(message.chat.id, sti)
@bot.message_handler(content_types=['text'])
def lalala(message):
if message.chat.type == 'private':
if message.text == '? Рандомное число':
bot.send_message(message.chat.id, str(random.randint(0, 100)))
elif message.text == '? Как дела?':
markup = types.InlineKeyboardMarkup(row_width=2)
item1 = types.InlineKeyboardButton("Хорошо", callback_data='good')
item2 = types.InlineKeyboardButton("Не очень", callback_data='bad')
markup.add(item1, item2)
bot.send_message(message.chat.id, 'Отлично, сам как?', reply_markup=markup)
elif message.text == '? Прочее:':
markup2 = types.ReplyKeyboardMarkup(resize_keyboard=True)
item4 = types.KeyboardButton('?YouTube автора бота')
item5 = types.KeyboardButton('?Телеграм автора бота')
item6 = types.KeyboardButton('?Твич автора бота')
markup2.add(item4, item5, item6)
bot.send_message(message.chat.id, 'Выбери нужный пункт:', reply_markup=markup2)
elif message.text == '?Телеграм автора бота':
bot.send_message(message.chat.id, 'Лови: ')
elif message.text == '?YouTube автора бота':
bot.send_message(message.chat.id, 'Лови: ')
elif message.text == '?Твич автора бота':
bot.send_message(message.chat.id, 'Лови: ')
else:
bot.send_message(message.chat.id, 'Я не знаю что ответить ?')
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
try:
if call.message:
if call.data == 'good':
bot.send_message(call.message.chat.id, 'Вот и отличненько ?')
elif call.data == 'bad':
bot.send_message(call.message.chat.id, 'Бывает ?')
# remove inline buttons
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="? Как дела?",
reply_markup=None)
except Exception as e:
print(repr(e))
# RUN
bot.polling(none_stop=True)