Всем есть который выполняет регистрацию пользователя, смог сделать 2 кнопки, но не могу понять как сделать обработчик на вторую кнопку чтобы бот что-либо отвечал на неё, а не просто бездействовал
from cgitb import text
import logging
from msvcrt import kbhit
import re
from aiogram import Bot, Dispatcher, executor, types
import markups as nav
from db import Database
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):
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_message(message.from_user.id,"Здравствуйте!\nВы уже зарегестированы и можете пользоваться возможностями бота.", reply_markup=nav.mainHelp)
@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Ваша квартира "{}"'.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Вы зарегистрированы!", 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_request", "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':
# обновить никнейм пользователя с id
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':
# обновить имя пользваотеля с таким то id
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':
# обновить никнейм пользователя с id
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)
# Навигация
from aiogram.types import ReplyKeyboardMarkup, KeyboardButton
btnProfile = KeyboardButton('ПРОФИЛЬ')
btnHelp = 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, btnHelp)
mainHelp = ReplyKeyboardMarkup(resize_keyboard=True)
mainHelp.add(btnHelp)
allCategoryUser = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
allCategoryUser.add(btnCategoryUser1, btnCategoryUser2, btnCategoryUser3, btnInformation)
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)