sastrabot.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import asyncio
  2. import logging
  3. from aiogram import Bot, Dispatcher, types
  4. from aiogram.filters.command import Command
  5. from config.config import BOT_MODE, BOT_TOKEN
  6. # ========== LOGGER ==============
  7. LOG_FORMAT = "%(asctime)s %(levelname)s %(name)s - %(message)s"
  8. logging.basicConfig(
  9. #filename="program.log",
  10. level=logging.INFO if BOT_MODE == 'prod' else logging.DEBUG,
  11. format=LOG_FORMAT)
  12. logger = logging.getLogger(__name__)
  13. logging.getLogger("aiogram").setLevel(logging.DEBUG + 1)
  14. # =======================================
  15. # Объект бота
  16. bot = Bot(token=BOT_TOKEN)
  17. # Диспетчер
  18. dp = Dispatcher()
  19. # Хэндлер на команду /start
  20. @dp.message(Command("start"))
  21. async def cmd_start(message: types.Message):
  22. await message.answer("Hello!")
  23. # Запуск процесса поллинга новых апдейтов
  24. async def main():
  25. logger.info(f"Bot has been started in {BOT_MODE.upper()} MODE")
  26. await dp.start_polling(bot)
  27. if __name__ == "__main__":
  28. asyncio.run(main())