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)