Я сделал точно, как в этом официальном примере: https://github.com/eternnoir/pyTelegramBotAPI/blob/master/examples/webhook_examples/webhook_aiohttp_echo_bot.py. Кажется, ничего не работает. Это также не sh.
WEBHOOK_URL в формате http://adress.io. WEBHOOK_PATH = '/'.
import telebot
from aiohttp import web
from config import *
from messages import *
bot = telebot.TeleBot(TOKEN)
app = web.Application()
bot.remove_webhook()
bot.set_webhook(url=WEBHOOK_URL + WEBHOOK_PATH)
async def handle(request):
if request.match_info.get('token') == bot.token:
request_body_dict = await request.json()
update = telebot.types.Update.de_json(request_body_dict)
bot.process_new_updates([update])
return web.Response()
else:
return web.Response(status=403)
# main loop
if __name__ == '__main__':
@bot.message_handler(content_types=['text'])
def reply(message):
if message.text == "/start":
bot.send_message(message.from_user.id, MESSAGE_START)
elif message.text == "/help":
bot.send_message(message.from_user.id, MESSAGE_HELP)
elif message.text == "/seeagreement":
bot.send_message(message.from_user.id, MESSAGE_AGREEMENT)
web.run_app(
app,
host=WEBHOOK_IP,
port=WEBHOOK_PORT,
)