async def setlevel_callback(callback: types.CallbackQuery): message = callback.message await callback.answer() if func.column_take(message.chat.id, "state") == 1237: level = callback.data.replace("#setlevel@", "") func.column_add(message.chat.id, "level", level) await days_choose(message)
async def settime_callback(callback: types.CallbackQuery): message = callback.message await callback.answer() if func.column_take(message.chat.id, "state") == 1239: time = callback.data.replace("#settime@", "") func.column_add(message.chat.id, "time", time) await questions_step(message)
async def setdays_callback(callback: types.CallbackQuery): message = callback.message await callback.answer() if func.column_take(message.chat.id, "state") == 1238: days = callback.data.replace("#setdays@", "") func.column_add(message.chat.id, "days", days) await time_choose(message)
async def get_contact(message: types.Message): if func.column_take(message.chat.id, "state") != 1235: return 0 func.column_add(message.chat.id, "state", 1236) func.column_add(message.chat.id, "phone", message.contact["phone_number"]) await bot.send_message( message.chat.id, "Спасибо за регистрацию! Теперь Вы можете полноценно пользоваться сервисом!", reply_markup=keyboard.remove())
async def reg_well_done(callback: types.CallbackQuery): message = callback.message await callback.answer() if func.column_take(message.chat.id, "state") == 1240: await message.reply( "Отлично! Скоро мы свяжемся с тобой, чтобы договориться о встрече 🙌🏻\nДобро пожаловать в Esp.Hola! 💛", parse_mode=ParseMode.MARKDOWN, reply=False)
async def take_phone_callback(callback: types.CallbackQuery): message = callback.message await callback.answer() if func.column_take(message.chat.id, "state") == 1234: full_name = func.check_full_name(message.chat.first_name + " " + message.chat.last_name) first_name, last_name = full_name func.column_add(message.chat.id, "first_name", first_name) func.column_add(message.chat.id, "last_name", last_name) await take_phone(message)
async def time_choose(message: types.Message): func.column_add(message.chat.id, "state", 1239) await message.reply( "Отлично! Твой выбор *{days}*\nА в какое время тебе удобно приходить?". format(days=func.column_take(message.chat.id, "days")), parse_mode=ParseMode.MARKDOWN, reply_markup=keyboard.inline( [["8:00", "10:00", "12:00"], ["14:00", "15:00", "16:00"], ["18:00", "19:00", "20:00"], ["Изменить дни недели"]], [["#settime@8:00", "#settime@10:00", "#settime@12:00"], ["#settime@14:00", "#settime@15:00", "#settime@16:00"], ["#settime@18:00", "#settime@19:00", "#settime@20:00"], ["#dayschoose"]]), reply=False)
async def welcome_again(message: types.Message): await message.reply( "Рад снова Вас видеть, %s!\nПеред Вами *сервис доставки еды на дом*." % (func.column_take(message.chat.id, "first_name")), reply=False, parse_mode=ParseMode.MARKDOWN)
@dp.message_handler( lambda message: func.chat_id_found(message.chat.id) == False, commands=['start']) async def welcome_message(message: types.Message): func.chat_id_add(message.chat.id) func.column_add(message.chat.id, "state", 1234) await message.reply( "Добро пожаловать!\nПеред Вами *сервис доставки еды на дом*.", reply=False, parse_mode=ParseMode.MARKDOWN) await full_name_request(message) @dp.message_handler( lambda message: func.column_take(message.chat.id, "state") == 1234, commands=['start']) async def full_name_request(message: types.Message): full_name = func.check_full_name( message.chat.first_name + " " + message.chat.last_name) if "last_name" in message.chat else None if full_name: first_name, last_name = full_name await message.reply( 'Вы *%s %s*?\nЕсли имя-фамилия определены неверно, пожалуйста, *напишите правильные* в формате: *Имя Фамилия*.\nЕсли все верно, нажмите "Далее" под этим сообщением\n' % (first_name, last_name), reply=False, parse_mode=ParseMode.MARKDOWN, reply_markup=keyboard.inline("Далее", "#setstate@1235")) else: await message.reply(
async def days_choose_callback(callback: types.CallbackQuery): message = callback.message await callback.answer() if func.column_take(message.chat.id, "state") == 1239: await days_choose(message)
kb = keyboard.inline([[ "A1.1", "A1.2", "A2.1", "A2.2" ], ["B1.1", "B1.2", "B2.1", "B2.2"], ["C"]], [[ "#[email protected]", "#[email protected]", "#[email protected]", "#[email protected]" ], [ "#[email protected]", "#[email protected]", "#[email protected]", "#[email protected]" ], ["#setlevel@C"]]) await message.reply(text, parse_mode=ParseMode.MARKDOWN, reply_markup=kb, reply=False) @dp.message_handler( lambda message: func.column_take(message.chat.id, "state") == 1235) async def text_message1(message: types.Message): full_name = func.check_full_name(message.text) if full_name: first_name, last_name = full_name func.column_add(message.chat.id, "first_name", first_name) func.column_add(message.chat.id, "last_name", last_name) await take_phone(message) else: await bot.send_message(message.chat.id, "Неверный формат. Попробуйте снова.") @dp.message_handler( lambda message: func.column_take(message.chat.id, "state") == 1240) async def question_to_db(message: types.Message):