tg_bot/tg_bot/app.py

57 lines
1.1 KiB
Python

import asyncio
import logging
import sys
from os import getenv
from aiogram import Bot, Dispatcher
from aiogram.enums import ParseMode
from aiogram.filters import CommandStart
from aiogram.types import Message
from aiogram.utils.markdown import hbold
from tg_bot.handlers import (
games,
lesson_five,
lesson_four,
lesson_one,
lesson_tree,
lesson_two,
quest,
quiz,
tic_tac_toy,
)
TOKEN: str = getenv('BOT_TOKEN') or 'Your TG_BOT token'
dp = Dispatcher()
dp.include_routers(
quest.router,
tic_tac_toy.router,
quiz.router,
games.router,
lesson_five.router,
lesson_four.router,
lesson_tree.router,
lesson_two.router,
lesson_one.router,
)
@dp.message(CommandStart())
async def command_start_handler(message: Message) -> None:
await message.answer(f'Hello, {hbold(message.from_user.first_name)}!')
async def run_bot() -> None:
bot = Bot(TOKEN, parse_mode=ParseMode.HTML)
await dp.start_polling(bot)
def main():
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
asyncio.run(run_bot())
if __name__ == '__main__':
main()