Как вызвать функцию в aiogram после получения сообщения от пользователя?

Как можно организовать более эффективное и четкое взаимодействие с кнопкой, которое включает два различных скрипта, один для ставок и другой для пополнения баланса?
  • 7 апреля 2024 г. 5:39
Ответы на вопрос 2
Для вызова функции в aiogram после получения сообщения от пользователя можно использовать декораторы-обработчики. Например, можно создать обработчик для определенного текстового сообщения или для нажатия на кнопку. 

Пример обработчика для текстового сообщения:

```python
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.types import Message

TOKEN = 'YOUR_BOT_TOKEN'
bot = Bot(token=TOKEN)
dp = Dispatcher(bot)

@dp.message_handler()
async def process_message(message: Message):
    await message.answer("Вы написали: " + message.text)
```

Чтобы организовать более эффективное и четкое взаимодействие с кнопкой, которое включает два различных скрипта, один для ставок и другой для пополнения баланса, можно использовать различные обработчики для кнопки.

Пример обработчика для кнопки "Ставка":

```python
@dp.message_handler(text='Ставка')
async def bet(message: Message):
    await message.answer("Вы выбрали функцию ставки. Введите сумму ставки.")
```

Пример обработчика для кнопки "Пополнить баланс":

```python
@dp.message_handler(text='Пополнить баланс')
async def add_money(message: Message):
    await message.answer("Вы выбрали функцию пополнения баланса. Введите сумму для пополнения.")
```

Таким образом, при нажатии пользователем на кнопку, будет вызван соответствующий обработчик, который предложит пользователю ввести необходимые данные для выполнения определенной функции.
У тебя две функции, которые заявляют "я могу обработать любое сообщение". aiogram использует первую из них, потому что как иначе он поймёт, когда какую использовать? 
Почитай про Finite State Machine и как их использовать в aiogram.
Похожие вопросы