Как объяснить боту, что это разные команды?

Хотел сделать бота с расписанием пар для каждой группы. Но когда выбираешь, условно, понедельник он скидывает расписание той группы, которая в коде идем первой. Объяснил вроде не очень понятно, но надеюсь вы сможете помочь)

@dp.message_handler(lambda message: message.text =='КСК')
async def KSK(message: types.Message):
    keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
    button_1 = types.KeyboardButton(text="115")
    keyboard.add(button_1)
    button_2 = "116"
    keyboard.add(button_2)
    button_3 = "105"
    keyboard.add(button_3)
    await message.answer("Ваша группа", reply_markup=keyboard)

@dp.message_handler(lambda message: message.text =='115')
async def MYgorup(message: types.Message):
    keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
    button_1 = types.KeyboardButton(text="Понедельник")
    keyboard.add(button_1)
    button_2 = "Вторник"
    keyboard.add(button_2)
    button_3 = "Среда"
    keyboard.add(button_3)
    button_3 = "Четверг"
    keyboard.add(button_3)
    button_3 = "Пятница"
    keyboard.add(button_3)
    button_3 = "Суббота"
    keyboard.add(button_3)
    await message.answer("День недели", reply_markup=keyboard)

@dp.message_handler(lambda message: message.text =='Понедельник')
async def Ponedelnik(message: types.Message):
    await message.answer("1 - 321 Физика Бабченко Т.Н\n2 - 313|322 Родной язык  Хуснуллина З.М., Шириева Г.М\n3 - 309 Математика    Габдулхакова Г.Р.")

@dp.message_handler(lambda message: message.text =='Вторник')
async def Vtornik(message: types.Message):
    await message.answer("1 - 425   Химия\n2 - 309  Математика")

@dp.message_handler(lambda message: message.text =='Среда')
async def Sreda(message: types.Message):
    await message.answer("1 -311    Информатика\n2 - c/з Физическая культура|309 Математика\n3 - 407|405 Иностранный язык\n4 - 205  Основы безопасности жизнедеятельности")

@dp.message_handler(lambda message: message.text =='Четверг')
async def Setverg(message: types.Message):
    await message.answer("1 - 426 Литература, 405|407 иностранный язык\n2 - 413 Астрономия 1-16 нед|Физика 17-23 нед\n3 - 426   Русский язы\n4 - 419    История")

@dp.message_handler(lambda message: message.text =='Пятница')
async def Friday(message: types.Message):
    await message.answer("\n\n 3 - 309  Математика\n4 - 426 Литература")

@dp.message_handler(lambda message: message.text =='Суббота')
async def Sibbota(message: types.Message):
    await message.answer("1 - с/з   Физическая культура\2 - 311 Информатика\n3 - 419    История")


@dp.message_handler(lambda message: message.text =='116')
async def Denssec(message: types.Message):
    keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
    button_1 = types.KeyboardButton(text="Понедельник")
    keyboard.add(button_1)
    button_2 = "Вторник"
    keyboard.add(button_2)
    button_3 = "Среда"
    keyboard.add(button_3)
    button_3 = "Четверг"
    keyboard.add(button_3)
    button_3 = "Пятница"
    keyboard.add(button_3)
    button_3 = "Суббота"
    keyboard.add(button_3)
    await message.answer("День недели", reply_markup=keyboard)

Ответы (1 шт):

Автор решения: oleksandrigo

Ну к примеру вот так

from aiogram import Bot, Dispatcher, executor
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from aiogram.dispatcher.filters.state import State, StatesGroup
from aiogram.dispatcher.storage import FSMContext
from aiogram.utils.exceptions import MessageTextIsEmpty

from aiogram import types

import config

bot = Bot(token=config.BOT_TOKEN)
storage = MemoryStorage()
dp = Dispatcher(bot, storage=storage)

data_lessons = {
    "105": {
        "monday":
            "",
        "tuesday":
            "",
        "wednesday":
            "",
        "thursday":
            "",
        "friday":
            "",
        "saturday":
            ""
    },
    "115": {
        "monday":
            "1 - 321 Физика Бабченко Т.Н\n"
            "2 - 313|322 Родной язык  Хуснуллина З.М., Шириева Г.М\n"
            "3 - 309 Математика    Габдулхакова Г.Р.",
        "tuesday":
            "1 - 425   Химия\n"
            "2 - 309  Математика",
        "wednesday":
            "1 -311    Информатика\n"
            "2 - c/з Физическая культура|309 Математика\n"
            "3 - 407|405 Иностранный язык\n"
            "4 - 205  Основы безопасности жизнедеятельности",
        "thursday":
            "1 - 426 Литература, 405|407 иностранный язык\n"
            "2 - 413 Астрономия 1-16 нед|Физика 17-23 нед\n"
            "3 - 426   Русский язы\n"
            "4 - 419    История",
        "friday":
            "\n\n 3 - 309  Математика\n"
            "4 - 426 Литература",
        "saturday":
            "1 - с/з   Физическая культура\n"
            "2 - 311 Информатика\n"
            "3 - 419    История"
    },
    "116": {
        "monday":
            "",
        "tuesday":
            "",
        "wednesday":
            "",
        "thursday":
            "",
        "friday":
            "",
        "saturday":
            ""
    }
}


class Lessons(StatesGroup):
    input_group = State()
    input_auditory = State()


@dp.message_handler(text='КСК')
async def chiose_group(message: types.Message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    markup.add("105", "115", "116")
    await message.answer("Выберите вашу группу", reply_markup=markup)
    await Lessons.input_group.set()


@dp.message_handler(text=list(data_lessons.keys()), state=Lessons.input_group)
async def choise_weekday(message: types.Message, state: FSMContext):
    async with state.proxy() as data:
        data['choise_group'] = message.text

    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    markup.add("Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота")
    markup.add("Назад")
    await message.answer("Выберите день недели", reply_markup=markup)
    await Lessons.next()


@dp.message_handler(text="Назад", state=Lessons.input_auditory)
async def back_but(message: types.Message, state: FSMContext):
    await state.reset_data()
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    markup.add("105", "115", "116")
    await message.answer("Выберите вашу группу", reply_markup=markup)
    await Lessons.previous()


@dp.message_handler(text=["Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"],
                    state=Lessons.input_auditory)
async def choise_auditory(message: types.Message, state: FSMContext):
    dict_ = {
        "Понедельник": "monday",
        "Вторник": "tuesday",
        "Среда": "wednesday",
        "Четверг": "thursday",
        "Пятница": "friday",
        "Суббота": "saturday"
    }
    async with state.proxy() as data:
        try:
            await message.answer(f'{data_lessons[data["choise_group"]][dict_[message.text]]}')
        except MessageTextIsEmpty:
            await message.answer("В словаре нет текта")


if __name__ == '__main__':
    executor.start_polling(dp, skip_updates=True)

→ Ссылка