Не работают вебхуки Aiogram

Рейтинг: 0Ответов: 0Опубликовано: 24.05.2023

Не работают вебхуки на библиотеки Aiogram3, подскажите где ошибся, в WEBHOOK_URL белый ip-адрес, на котором открыт порт 8000.

main.py


import logging
import uvicorn

from fastapi import FastAPI
from aiogram import Bot, Dispatcher, types
from aiogram.fsm.storage.memory import MemoryStorage

from handler import start_router
from config import BOT_TOKEN

logger = logging.getLogger(__name__)
logging.basicConfig(
    level=logging.INFO,
    format=u"%(filename)s:%(lineno)d #%(levelname)-8s [%(asctime)s] - %(name)s - %(message)s",
)

storage = MemoryStorage()

WEBHOOK_PATH = f"/bot/{BOT_TOKEN}"
WEBHOOK_URL = "217.107.197.108" + WEBHOOK_PATH

app = FastAPI()
bot = Bot(token=BOT_TOKEN, parse_mode="HTML")
dp = Dispatcher(storage=storage)


@app.on_event("startup")
async def on_startup():
    webhook_info = await bot.get_webhook_info()
    if webhook_info != WEBHOOK_URL:
        await bot.set_webhook(url=WEBHOOK_URL)

    logger.info("App started")

dp.include_router(start_router)


@app.post(WEBHOOK_PATH)
async def bot_webhook(update: dict):
    telegram_update = types.Update(**update)
    await dp.feed_update(bot=bot, update=telegram_update)


@app.on_event("shutdown")
async def on_shutdown():
    await bot.session.close()
    logger.info("App stopped")


if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)

handler.py


from aiogram import types, Router
from aiogram.filters import Command

start_router = Router()


@start_router.message(Command("start"))
async def start_handler(message: types.Message):
    await message.answer(f"Hey {message.from_user.first_name}")

Ответы

Ответов пока нет.