58 lines
1.4 KiB
Python
58 lines
1.4 KiB
Python
import aiogram
|
|
|
|
from aiogram import Bot
|
|
from aiogram.fsm.context import FSMContext
|
|
from aiogram.filters import Command
|
|
|
|
from data.keyboards.inline import ibmain
|
|
from data import factory, states
|
|
from loader import custom_logger
|
|
|
|
|
|
async def mainstart(
|
|
message: aiogram.types.Message,
|
|
state: FSMContext,
|
|
command: Command,
|
|
bot: Bot,
|
|
):
|
|
await state.clear()
|
|
custom_logger.debug("Hello!")
|
|
return await message.answer(text="hello!", reply_markup=ibmain.example_callback())
|
|
|
|
|
|
async def example_callback(
|
|
message: aiogram.types.CallbackQuery,
|
|
state: FSMContext,
|
|
command: Command,
|
|
bot: Bot,
|
|
):
|
|
await state.clear()
|
|
return await message.answer(text="hello callback!")
|
|
|
|
|
|
async def example_callback_factory(
|
|
message: aiogram.types.CallbackQuery,
|
|
state: FSMContext,
|
|
command: Command,
|
|
bot: Bot,
|
|
callback_data: factory.ExampleFactory = None,
|
|
):
|
|
await state.clear()
|
|
await state.set_state(states.ExampleState.input_user)
|
|
return await bot.send_message(
|
|
chat_id=message.message.chat.id,
|
|
text=f'CallbackData: {callback_data.example} | Set state, wait input...'
|
|
)
|
|
|
|
|
|
async def example_state(
|
|
message: aiogram.types.Message,
|
|
state: FSMContext,
|
|
command: Command,
|
|
bot: Bot,
|
|
):
|
|
await state.clear()
|
|
return await message.answer(
|
|
text=f"hello! Your text: \n\n{message.text}"
|
|
)
|