aiogram/examples/webhook_example_2.py

51 lines
1.1 KiB
Python
Raw Normal View History

2018-07-18 01:21:50 +03:00
import asyncio
import logging
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.utils.executor import start_webhook
2019-06-29 19:53:18 +03:00
API_TOKEN = "BOT TOKEN HERE"
2018-07-18 01:21:50 +03:00
# webhook settings
2019-06-29 19:53:18 +03:00
WEBHOOK_HOST = "https://your.domain"
WEBHOOK_PATH = "/path/to/api"
2018-07-18 01:21:50 +03:00
WEBHOOK_URL = f"{WEBHOOK_HOST}{WEBHOOK_PATH}"
# webserver settings
2019-06-29 19:53:18 +03:00
WEBAPP_HOST = "localhost" # or ip
2018-07-18 01:21:50 +03:00
WEBAPP_PORT = 3001
logging.basicConfig(level=logging.INFO)
loop = asyncio.get_event_loop()
bot = Bot(token=API_TOKEN, loop=loop)
dp = Dispatcher(bot)
@dp.message_handler()
async def echo(message: types.Message):
await bot.send_message(message.chat.id, message.text)
async def on_startup(dp):
await bot.set_webhook(WEBHOOK_URL)
# insert code here to run it after start
async def on_shutdown(dp):
# insert code here to run it before shutdown
pass
2018-07-18 01:21:50 +03:00
2019-06-29 19:53:18 +03:00
if __name__ == "__main__":
start_webhook(
dispatcher=dp,
webhook_path=WEBHOOK_PATH,
on_startup=on_startup,
on_shutdown=on_shutdown,
skip_updates=True,
host=WEBAPP_HOST,
port=WEBAPP_PORT,
)