Files
social-post-writer-bot/bot.py
T
2026-10-04 19:00:16 +02:00

46 lines
1.2 KiB
Python

import asyncio
import logging
import os
from aiogram import Bot, Dispatcher, F, Router
from aiogram.client.session.aiohttp import AiohttpSession
from aiogram.client.telegram import TEST
from aiogram.filters import CommandStart
from aiogram.types import Message
logging.basicConfig(level=logging.INFO)
router = Router()
@router.message(CommandStart())
async def start(message: Message) -> None:
await message.answer("Тестовый эхо-бот запущен. Отправь мне текст — я повторю его.")
@router.message(F.text & ~F.text.startswith("/"))
async def echo(message: Message) -> None:
if message.text:
await message.answer(message.text)
async def main() -> None:
token = os.environ.get("BOT_TOKEN", "").strip()
if not token:
raise RuntimeError("BOT_TOKEN is required")
test_env = os.environ.get("BOT_ENV", "test").strip().lower() == "test"
session = AiohttpSession(api=TEST) if test_env else None
bot = Bot(token=token, session=session)
dp = Dispatcher()
dp.include_router(router)
try:
await dp.start_polling(bot)
finally:
await bot.session.close()
if __name__ == "__main__":
asyncio.run(main())