@Valeerjanka

Как создать перемнную для каждого пользователя?

Здравствуйте, пишу первый раз телеграмм бота на Python, суть в том, что пользователь выбирает группу после, нажимая кнопку расписание, ему выдаётся расписание на его группу, как сделать, чтобы у каждого пользователя переменная group была индивидуальна?

import telebot
from telebot import types

bot = telebot.TeleBot('Telebot')
@bot.message_handler(commands=['start'])
def start(message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    g1 = types.KeyboardButton('К-ИСП-221')
    g2 = types.KeyboardButton('К-ИСП-222')
    g3 = types.KeyboardButton('К-ИСП-223')
 markup.add(g1, g2, g3)
bot.send_message(message.chat.id, 'Привет, первокурсник, выбери свою группу:', parse_mode='html',
                     reply_markup=markup)
@bot.message_handler(content_types=['text'])
def group(message):
    global group
    if (message.text == "К-ИСП-221"):
        bot.send_message(message.chat.id, text="Твоя группа К-ИСП-221, если верно, то нажми кнопку меню ниже.")
        group = 1
    if (message.text == "К-ИСП-222"):
        bot.send_message(message.chat.id, text="Твоя группа К-ИСП-222, если верно, то нажми кнопку меню ниже. Красавчик уважаю!")
        group = 2
    if (message.text == "К-ИСП-223"):
        bot.send_message(message.chat.id, text="Твоя группа К-ИСП-223, если верно, то нажми кнопку меню ниже.")
        group = 3
 if (message.text == "Какое расписание?"):
      if group==1:
         photo = open('Razpsanie1.png', 'rb')
         bot.send_photo(message.chat.id, photo)
      if group==2:
        photo = open('Razpsanie.png', 'rb')
        bot.send_photo(message.chat.id, photo)
      if group==3:
        photo = open('Razpsanie3.png', 'rb')
        bot.send_photo(message.chat.id, photo)



bot.polling(none_stop=True)
  • Вопрос задан
  • 180 просмотров
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos
Держать массив/файл/бд с соответствием "айди юзера - группа"
Ответ написан
Комментировать
@Jack444
В какой документации вы находите чтобы делать подобный ход?
def group(message):
    global group
    ...
    group = 1


функция group тоже является объектом и туда можно закинуть дополнительные атрибуты а после к ним обращаться из других функций.
Как минимум правильно можно сделать так

@bot.message_handler(content_types=['text'])
def group(message):
    ...
    _group = 1
    group.groups[message.chat.id] = _group
    ...

group.groups = {}

bot.polling(none_stop=True)


И всё потом можно обращаться от куда угодна к функции group и её аттрибуту groups с id пользователя чтобы получить группу пользователя.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы