• Home
  • Aiogram
  • Магический телеграм бот на aiogram: Принимайте решения с помощью искусственного интеллекта

Магический телеграм бот на aiogram: Принимайте решения с помощью искусственного интеллекта

Image

Добро пожаловать на мой новый видеоурок на YouTube, где я покажу вам, как написать магический телеграм бот с использованием aiogram. Узнайте, как принимать решения с помощью искусственного интеллекта в вашем Telegram боте.

В этом уроке я рассмотрю процесс создания магического бота на основе aiogram. Вы сами сможете задать результаты выпадения решений.

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

Я предоставлю вам полный код и примеры, которые помогут вам создать своего собственного магического телеграм бота на основе aiogram. Вы сможете адаптировать и расширять функциональность бота в соответствии с вашими потребностями.

from aiogram import Bot, Dispatcher, Router, F
from aiogram.types import Message
from aiogram.filters import Command
import asyncio
from random import shuffle

BOT_TOKEN = '123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ'

ANSWERS = [
    'Думаю, да!',
    'Не стоит.',
    'Я сомневаюсь в этом',
    'Вероятно, да',
    'Бесспорно',
    'Не могу сказать',
    'Не сейчас',
    'Спросите позже',
    'Решительно, да!'
]

router: Router = Router()


@router.message(Command(commands=['start']))
async def start_command(message: Message):
    await message.answer('Привет! Я бот для принятия решений. Просто спроси меня о чём угодно.')


@router.message(F.text.endswith('?'))
async def answer_to_questions(message: Message):
    shuffle(ANSWERS)
    await message.answer(ANSWERS[0])


@router.message()
async def answer(message: Message):
    await message.answer('Не понимаю о чем ты... Просто задай вопрос.')


async def start():
    bot: Bot = Bot(token=BOT_TOKEN, parse_mode='HTML')

    dp: Dispatcher = Dispatcher()
    dp.include_router(router)
    try:
        await dp.start_polling(bot)
    finally:
        await bot.session.close()

if __name__ == '__main__':
    asyncio.run(start())
Image