Как сделать, чтобы команда в aiogram заработала в боте?
Хочу написать бота и мне нужно, чтобы после ввода пароля срабатывала команда /number. После ввода этой команды человек будет вводить номер телефона и программа будет уже обрабатывать его
from aiogram import Bot, Dispatcher, executor, types
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from aiogram.dispatcher import FSMContext
from aiogram.dispatcher.filters.state import StatesGroup, State
import config
TOKEN = "mytoken"
bot = Bot(token=TOKEN)
storage = MemoryStorage()
dp = Dispatcher(bot, storage=storage)
class FSMInputName(StatesGroup):
name = State()
@dp.message_handler(commands=["start"])
async def process_start_command(message: types.Message):
await message.reply("Чтобы войти, введите команду /password")
@dp.message_handler(commands=["password"])
async def cmd_pass(message: types.Message):
await message.answer("Введите пароль")
await FSMInputName.name.set()
@dp.message_handler(state=FSMInputName.name)
async def state_pass(message: types.Message, state: FSMContext):
async with state.proxy() as data:
data['password'] = message.text
if message.text == "hkpo123":
await message.answer("Введите команду /number, чтобы ввести номер клиента")
@dp.message_handler(commands=["number"])
async def cmd_num(message1: types.Message):
await message1.answer("Введите номер")
await FSMInputName.name.set()
if __name__ == '__main__':
executor.start_polling(dp, skip_updates=True)
Источник: Stack Overflow на русском