57 lines
1.1 KiB
Python
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()
|