@eldenhard2

Как добавить условие проверки в aiogram?

как можно реализовать следующий технический момент:
Необходимо чтобы при входе выводилось 2 кнокпи ( выводятся уже)
Но чтобы при нажатии бот считал что выбрали, и если выбрали физ.лицо, то ответили успешно, и пользователь мог зарегистрироваться, при нажатии на юр. лицо отправить текст о невозможности зарегистрироваться
код
from aiogram import Bot, Dispatcher, executor, types
import markups as nav
from db import Database
import emoji

TOKEN = ""

bot = Bot(token=TOKEN)
dp = Dispatcher(bot)
db = Database('MotorinDB.db')

last_commands = []


@dp.message_handler(commands=['start'])
async def start(message: types.Message):
    await bot.send_message(message.from_user.id,"Здравствуйте!\nВыберите пункт меню", reply_markup=nav.Direction)

    
@dp.message_handler(commands=['registration'])
async def registration(message: types.Message):
    if(not db.user_exists(message.from_user.id)):
        db.add_user(message.from_user.id)
        
        await bot.send_message(message.from_user.id,"Добро пожаловать в форму регистрации! \nПожалуйста, выберите необходимое поле", reply_markup=nav.allCategoryUser)
        last_commands.append({"command":"status_request","data":message})
    else:
        await bot.send_mess
@dp.message_handler(commands=['zakaz'])
async def help(message: types.Message):
    await bot.send_message(message.from_user.id,"Здравствуйте!\nОпишите свою проблему")

@dp.message_handler(commands=['video'])
async def cmd_image(message: types.Message):
    with open('C:/Users/Asus/Desktop/lemur.mp4', 'rb') as video:
        await message.answer_video(video)
        await bot.send_message(message.from_user.id, "Приятного просмотра!")

@dp.message_handler(commands=['price'])
async def price(message: types.Document):
    await bot.send_document(message.from_user.id, open('C:/Users/Asus/Desktop/Услуги.xlsx', 'rb'))


@dp.message_handler()
async def bot_message(message: types.Message):
    if message.chat.type == 'private':
        if message.text == 'ПРОФИЛЬ':
            user = db.get_user(message.from_user.id)
            user_status = user[2]
            user_name = user[3]
            user_lastname = user [4]
            user_street = user [5]
            user_house = user [6]
            user_entrance = user [7]
            user_room = user [8]
            if user_status and user_name and user_lastname:
                await bot.send_message(message.from_user.id, 'Ваш статус "{}"\nВаше имя "{}"\nВаша фамилия "{}"\nВаша улица "{}"\nВаш дом "{}"\nВаш подъезд "{}"\nВаша квартира "{}"\n\n\nОзнакомьтесь с командами бота:\n/helpme - введите команду если у вас что-то случилось, и опишите свою проблему, после чего с вами свяжется держурный администратор\n\n/video - введите этот запрос и вы получите видео о компании УЮТ и о том как пользоваться ботом"'.format(user_status, user_name, user_lastname, user_street, user_house, user_entrance, user_room))
            else:
                await bot.send_message(message.from_user.id,"Укажите вашу фамилию")
                last_commands.append({"command":"status_request","data":message})

        elif last_commands[-1]["command"] == 'room_request':
            last_commands.append({"command":"","data":message})
            db.put_user(message.from_user.id,message.text,'room')
            await bot.send_message(message.from_user.id,"Благодарим вас за регистрацию\nТеперь вы можете:\n/zakaz - Здесь вы можете заказать услугу и связаться с специалистом\n/price – здесь вы можете ознакомиться с стоимостью и перечнем оказываемых услуг.\n/video – здесь вы можете посмотреть видео о том, как работает наш сервис.", reply_markup=nav.mainMenu)

        elif last_commands[-1]["command"] == 'entrance_requesat':
            last_commands.append({"command":"room_request", "data":message})
            db.put_user(message.from_user.id,message.text,'entrance')
            await bot.send_message(message.from_user.id,"Укажите вашу квартиру")

        elif last_commands[-1]["command"] == 'house_request':
            last_commands.append({"command":"entrance_requesat","data":message})
            db.put_user(message.from_user.id,message.text,'house')
            await bot.send_message(message.from_user.id,"Укажите ваш подъезд")  

        elif last_commands[-1]["command"] == 'street_request':
            last_commands.append({"command":"house_request", "data":message})
            db.put_user(message.from_user.id,message.text,'street')
            await bot.send_message(message.from_user.id,"Укажите ваш дом\nВыберите из списка", reply_markup=nav.allHome)

        elif last_commands[-1]["command"] == 'lastname_request':
            last_commands.append({"command":"street_request","data":message})
            db.put_user(message.from_user.id,message.text,'lastname')
            await bot.send_message(message.from_user.id,"Укажите вашу улицу\nВыберите из списка", reply_markup=nav.allStreet)

        elif last_commands[-1]['command'] == 'name_request':
            last_commands.append({"command":"lastname_request","data":message})
            db.put_user(message.from_user.id,message.text,'name')
            await bot.send_message(message.from_user.id,"Укажите вашу фамилию")

        elif last_commands[-1]["command"] == 'status_request':
            last_commands.append({"command":"name_request","data":message})
            db.put_user(message.from_user.id,message.text,'status')
            await bot.send_message(message.from_user.id,"Укажите ваше имя")





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


# Навигация
import re
from aiogram.types import ReplyKeyboardMarkup, KeyboardButton

btnProfile = KeyboardButton('ПРОФИЛЬ')
btnDirection = KeyboardButton('Физ. лицо')
btnDirection2 = KeyboardButton('Юр.лицо')
btnCategoryUser1 = KeyboardButton('Собственник')
btnCategoryUser2 = KeyboardButton('Арендатор')
btnCategoryUser3 = KeyboardButton('Сожитель')

btnInformation = KeyboardButton('Иформация о боте')

btnStreet = KeyboardButton('Береговой проезд')

btnAllHomeBeregovoi1 = KeyboardButton('5к1')
btnAllHomeBeregovoi2 = KeyboardButton('5к2')
btnAllHomeBeregovoi3 = KeyboardButton('5к3')


mainMenu = ReplyKeyboardMarkup(resize_keyboard = True)
mainMenu.add(btnProfile)


allCategoryUser = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
allCategoryUser.add(btnCategoryUser1, btnCategoryUser2, btnCategoryUser3)

Direction = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
Direction.add(btnDirection, btnDirection2)

allStreet = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
allStreet.add(btnStreet)

allHome = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
allHome.add(btnAllHomeBeregovoi1, btnAllHomeBeregovoi2, btnAllHomeBeregovoi3)
  • Вопрос задан
  • 169 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
28 нояб. 2024, в 11:54
50000 руб./за проект
23 нояб. 2024, в 07:32
75000 руб./за проект
28 нояб. 2024, в 11:38
5000 руб./за проект