Задать вопрос
@artchis

Почему код не работает дальше?

Суть такова, когда запускаю бота, всё запускается, когда нажимаю на кнопку "Числитель" код работает как часы, как нажимаю на кнопку назад "Ответа не поступает", когда нажимаю на Знаменатель - ответа тоже не поступает почему?

Всё делаю по учебникам и интернету, в программировании не особо шарю

КОД:
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor
 
bot = Bot(token='Тут мой токен')

dp = Dispatcher(bot)


# Обработчик событий /start

@dp.message_handler(commands=['start',])
async def start(message: types.Message):
	if message.text == ('/start'):
		keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
		buttons = ["Числитель", "Знаменатель"]
		keyboard.add(*buttons)
		await message.answer("Вас приветсвует БОТ Расписание ВГПГК для группы ИС-213\nВыбери какая неделя идёт: Числитель или Знаменатель?", reply_markup=keyboard)

# Обработчик событий кнопки назад

#@dp.message_handler(content_types=['text'])
#async def back(message: types.Message):
#	if message.text == ('Назад'):
#		keyboard.add(*buttons)
#		await message.answer("Вас приветсвует БОТ Расписание ВГПГК для группы ИС-213\nВыбери какая неделя идёт: Числитель или Знаменатель?", reply_markup=keyboard)

# Обработчки событий Числитель день недели

@dp.message_handler(content_types=['text'])
async def chis(message: types.Message):
	if message.text == ('Числитель'):
		keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
		dny = ["Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Назад"]
		keyboard.add(*dny)
		await bot.send_message(message.from_user.id, 'Выбери день недели', reply_markup=keyboard)

	if message.text == ('Понедельник'):
		keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
		back = ["Назад"]
		keyboard.add(*back)
		await bot.send_message(message.from_user.id, 'Понедельник:\n1. Математика - Хз | 8:00 - 9:35\n2. Информатика - Грезина | 9:45 - 11:20\n3. ОБЖ - Авилов | 12:55 - 13:30', reply_markup=keyboard)

	if message.text == ('Вторник'):
		keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
		back = ["Назад"]
		keyboard.add(*back)
		await bot.send_message(message.from_user.id, 'Вторник:\n1. Математика - Хз | 8:00 - 9:35\n2. Информатика - Грезина | 9:45 - 11:20\n3. ОБЖ - Авилов | 12:55 - 13:30', reply_markup=keyboard)

	if message.text == ('Среда'):
		keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
		back = ["Назад"]
		keyboard.add(*back)
		await bot.send_message(message.from_user.id, 'Среда:\n1. Математика - Хз | 8:00 - 9:35\n2. Информатика - Грезина | 9:45 - 11:20\n3. ОБЖ - Авилов | 12:55 - 13:30', reply_markup=keyboard)

	if message.text == ('Четверг'):
		keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
		back = ["Назад"]
		keyboard.add(*back)
		await bot.send_message(message.from_user.id, 'Четверг:\n1. Математика - Хз | 8:00 - 9:35\n2. Информатика - Грезина | 9:45 - 11:20\n3. ОБЖ - Авилов | 12:55 - 13:30', reply_markup=keyboard)

	if message.text == ('Пятница'):
		keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
		back = ["Назад"]
		keyboard.add(*back)
		await bot.send_message(message.from_user.id, 'Пятница:\n1. Математика - Хз | 8:00 - 9:35\n2. Информатика - Грезина | 9:45 - 11:20\n3. ОБЖ - Авилов | 12:55 - 13:30', reply_markup=keyboard)

	if message.text == ('Суббота'):
		keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
		back = ["Назад"]
		keyboard.add(*back)
		await bot.send_message(message.from_user.id, 'Суббота:\n1. Математика - Хз | 8:00 - 9:35\n2. Информатика - Грезина | 9:45 - 11:20\n3. ОБЖ - Авилов | 12:55 - 13:30', reply_markup=keyboard)

# Знаменатель

@dp.message_handler(content_types=['text'])
async def znam(message: types.Message):
	if message.text == ('Знаменатель'):
		keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
		dny = ["Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Назад"]
		keyboard.add(*dny)
		await bot.send_message(message.from_user.id, 'Выбери день недели', reply_markup=keyboard)

	if message.text == ('Понедельник'):
		keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
		back = ["Назад"]
		keyboard.add(*back)
		await bot.send_message(message.from_user.id, 'Понедельник:\n1. Математика - Хз | 8:00 - 9:35\n2. Информатика - Грезина | 9:45 - 11:20\n3. ОБЖ - Авилов | 12:55 - 13:30', reply_markup=keyboard)

	if message.text == ('Вторник'):
		keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
		back = ["Назад"]
		keyboard.add(*back)
		await bot.send_message(message.from_user.id, 'Вторник:\n1. Математика - Хз | 8:00 - 9:35\n2. Информатика - Грезина | 9:45 - 11:20\n3. ОБЖ - Авилов | 12:55 - 13:30', reply_markup=keyboard)

	if message.text == ('Среда'):
		keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
		back = ["Назад"]
		keyboard.add(*back)
		await bot.send_message(message.from_user.id, 'Среда:\n1. Математика - Хз | 8:00 - 9:35\n2. Информатика - Грезина | 9:45 - 11:20\n3. ОБЖ - Авилов | 12:55 - 13:30', reply_markup=keyboard)

	if message.text == ('Четверг'):
		keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
		back = ["Назад"]
		keyboard.add(*back)
		await bot.send_message(message.from_user.id, 'Четверг:\n1. Математика - Хз | 8:00 - 9:35\n2. Информатика - Грезина | 9:45 - 11:20\n3. ОБЖ - Авилов | 12:55 - 13:30', reply_markup=keyboard)

	if message.text == ('Пятница'):
		keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
		back = ["Назад"]
		keyboard.add(*back)
		await bot.send_message(message.from_user.id, 'Пятница:\n1. Математика - Хз | 8:00 - 9:35\n2. Информатика - Грезина | 9:45 - 11:20\n3. ОБЖ - Авилов | 12:55 - 13:30', reply_markup=keyboard)

	if message.text == ('Суббота'):
		keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
		back = ["Назад"]
		keyboard.add(*back)
		await bot.send_message(message.from_user.id, 'Суббота:\n1. Математика - Хз | 8:00 - 9:35\n2. Информатика - Грезина | 9:45 - 11:20\n3. ОБЖ - Авилов | 12:55 - 13:30', reply_markup=keyboard)

@dp.message_handler(content_types=['text'])
async def back_or(message: types.Message):
	if message.text == ('Назад'):
		keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
		back_or = ["Числитель", "Знаменатель"]
		keyboard.add(*back_or)
		await bot.send_message(message.from_user.id, 'Выбери день недели', reply_markup=keyboard)


if __name__ == '__main__':
    executor.start_polling(dp)
  • Вопрос задан
  • 125 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@Old_TyT
Дак у вас не написан обработчик для текста "Числитель"
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor
 
bot = Bot(token='Тут токен')

dp = Dispatcher(bot)

@dp.message_handler(commands=['start'])
async def start(message: types.Message):
    keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
    buttons = ["Числитель", "Знаменатель"]
    keyboard.add(*buttons)
    await message.answer("Вас приветсвует БОТ Расписание ВГПГК для группы ИС-213\nВыбери какая неделя идёт: Числитель или Знаменатель?", reply_markup=keyboard)


@dp.message_handler()
async def back_or(message: types.Message):
    text = ':\n1. Математика - Хз | 8:00 - 9:35\n2. Информатика - Грезина | 9:45 - 11:20\n3. ОБЖ - Авилов | 12:55 - 13:30'
    dny = ["Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Назад"]
    back = ["Назад"]
    keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
    keyboard.add(*dny)

    if message.text == ('Назад'):
        await start(message)
        return()
    
    if message.text == ('Знаменатель'):
        await bot.send_message(message.from_user.id, 'Выбери день недели', reply_markup=keyboard)
        return()

    if message.text == ('Числитель'):
        await bot.send_message(message.from_user.id, 'Тут какой то код должен быть')
        return()

    for dn in dny:
        if message.text == dn:
            await bot.send_message(message.from_user.id, str(dn) + text, reply_markup=keyboard)
            return()

if __name__ == '__main__':
    executor.start_polling(dp)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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