Здравствуйте.
Пишу бота с расписанием уроков для школы и столкнулась с такой проблемой: мне нужно, чтобы бот отправлял изображение с расписанием разным классам, в соответствии с тем, какую кнопку нажмёт юзер, но так как в моменте выбора буквы класса(сначала юзер выбирает класс 5,6,7..., а затем букву А,Б,В...) они повторяются, то я не понимаю как сделать так, чтобы бот отправлял нужное расписание, а не расписание, к примеру "7а", вместо "5а".
Ниже прикрепляю код с пояснениями, буду благодарна за помощь.
import telebot
from telebot import types #импорт библиотеки и нужных нам функций
bot = telebot.TeleBot('токен')#привязываем бота к коду с помощью токена
newFile = open('users.txt', 'r')#открытие файла с id пользователей
users = set()
photo5a = open('5а.jpg', 'r')# и далее планируется добавить все изображения с расписанием, может через список
for line in newFile:
users.add(line.strip()) # прочитывает каждую строку и добавляет её в set(), записывает id юзера в список
newFile.close()
@bot.message_handler(func=lambda x: x.text == 'Назад')#реализация клопки, которая возвращает в главное меню
@bot.message_handler(commands=['start']) #добавление комнады 'start'
def start(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn5 = types.KeyboardButton('5') #кнопки
btn6 = types.KeyboardButton('6')
btn7 = types.KeyboardButton('7')
btn8 = types.KeyboardButton('8')
btn9 = types.KeyboardButton('9')
btn10 = types.KeyboardButton('10')
btn11 = types.KeyboardButton('11')
markup.add(btn5, btn6, btn7, btn8, btn9, btn10, btn11) #инициируем кнопки
if not str(message.chat.id) in users:
newFile = open('users.txt', 'a')
newFile.write(str(message.chat.id) + '\n')
users.add(message.chat.id) #проверка того, есть ли id в set() и добавляет, если нет
bot.send_message(message.chat.id,text='Привет! Это телеграм-бот с расписаниями уроков 5-11 классов для школы №21.\nДля продолжения выберите нужный класс:'.format(message.from_user), reply_markup=markup)
@bot.message_handler(content_types=['text'])#считывание текста
def func(message):
if (message.text == '5'):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton('А')
btn2 = types.KeyboardButton('Б')
btn3 = types.KeyboardButton('В')
btn4 = types.KeyboardButton('Г')
btnc = types.KeyboardButton('Назад')
markup.add(btn1, btn2, btn3, btn4, btnc)
bot.send_message(message.chat.id, text='Выбери нужный класс:', reply_markup=markup)
elif (message.text == '6'):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton('А')
btn2 = types.KeyboardButton('Б')
btn3 = types.KeyboardButton('В')
btnc = types.KeyboardButton('Назад')
markup.add(btn1, btn2, btn3, btnc)
bot.send_message(message.chat.id, text='Выбери нужный класс:', reply_markup=markup)
elif (message.text == '7'):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton('А')
btn2 = types.KeyboardButton('Б')
btn3 = types.KeyboardButton('В')
btnc = types.KeyboardButton('Назад')
markup.add(btn1, btn2, btn3, btnc)
bot.send_message(message.chat.id, text='Выбери нужный класс:', reply_markup=markup)
elif (message.text == '8'):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton('А')
btn2 = types.KeyboardButton('Б')
btn3 = types.KeyboardButton('В')
btnc = types.KeyboardButton('Назад')
markup.add(btn1, btn2, btn3, btnc)
bot.send_message(message.chat.id, text='Выбери нужный класс:', reply_markup=markup)
elif (message.text == '9'):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton('А')
btn2 = types.KeyboardButton('Б')
btn3 = types.KeyboardButton('В')
btnc = types.KeyboardButton('Назад')
markup.add(btn1, btn2, btn3, btnc)
bot.send_message(message.chat.id, text='Выбери нужный класс:', reply_markup=markup)
elif (message.text == '10'):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton('А')
btn2 = types.KeyboardButton('Б')
btnc = types.KeyboardButton('Назад')
markup.add(btn1, btn2, btnc)
bot.send_message(message.chat.id, text='Выбери нужный класс:', reply_markup=markup)
elif (message.text == '11'):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton('А')
btn2 = types.KeyboardButton('Б')
btnc = types.KeyboardButton('Назад')
markup.add(btn1, btn2, btnc)
bot.send_message(message.chat.id, text='Выбери нужный класс:', reply_markup=markup)
bot.infinity_polling()