Telegram integration returns 500

Hello.

I tested my model with rasa shell and was ready to move to Telegram. I tried localhost+ngrok and dedicated server approaches - both of them have the same result.

When I try to open https://a084-91-230-65-56.ngrok-free.app/webhooks/telegram/webhook - it returns me 500 error. But https://a084-91-230-65-56.ngrok-free.app/webhooks/telegram - tells me “ok” health status. Here is the error I get:

[2024-07-14 23:10:29 +0000] [96305] [ERROR] Exception occurred while handling uri: 'https://livekit-test2.shvetsov.tech/webhooks/telegram/webhook'
Traceback (most recent call last):
  File "handle_request", line 124, in handle_request
sanic.exceptions.ServerError: Invalid response type None (need HTTPResponse)

If I “/start” conversations with tg bot I am getting this error in 10s:

2024-07-15 02:16:08 DEBUG    aiogram  - Make request: "getMe" with data: "{}" and files "None"
[2024-07-15 02:16:08 +0300] [65350] [ERROR] Exception occurred while handling uri: 'http://a084-91-230-65-56.ngrok-free.app/webhooks/telegram/webhook'
Traceback (most recent call last):
  File "handle_request", line 83, in handle_request
    )
  File "/Users/pavel.shvetsov/miniforge3/envs/myenv/lib/python3.9/site-packages/rasa/core/channels/telegram.py", line 223, in message
    credentials = await out_channel.get_me()
  File "/Users/pavel.shvetsov/miniforge3/envs/myenv/lib/python3.9/site-packages/aiogram/bot/bot.py", line 215, in get_me
    result = await self.request(api.Methods.GET_ME, payload)
  File "/Users/pavel.shvetsov/miniforge3/envs/myenv/lib/python3.9/site-packages/aiogram/bot/base.py", line 208, in request
    return await api.make_request(self.session, self.server, self.__token, method, data, files,
  File "/Users/pavel.shvetsov/miniforge3/envs/myenv/lib/python3.9/site-packages/aiogram/bot/api.py", line 139, in make_request
    async with session.post(url, data=req, **kwargs) as response:
  File "/Users/pavel.shvetsov/miniforge3/envs/myenv/lib/python3.9/site-packages/aiohttp/client.py", line 1197, in __aenter__
    self._resp = await self._coro
  File "/Users/pavel.shvetsov/miniforge3/envs/myenv/lib/python3.9/site-packages/aiohttp/client.py", line 479, in _request
    handle = tm.start()
  File "/Users/pavel.shvetsov/miniforge3/envs/myenv/lib/python3.9/site-packages/aiohttp/helpers.py", line 660, in start
    return self._loop.call_at(when, self.__call__)
  File "/Users/pavel.shvetsov/miniforge3/envs/myenv/lib/python3.9/asyncio/base_events.py", line 730, in call_at
    self._check_closed()
  File "/Users/pavel.shvetsov/miniforge3/envs/myenv/lib/python3.9/asyncio/base_events.py", line 515, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed

Help me please to understand the root cause.

During rasa starts i see what webhook installed with no error. But why server respond with error?

Here is my credentials.yml

telegram:
  access_token: "7165692472:..."
  verify: "antibullying_rasa_bot"
  webhook_url: "https://a084-91-230-65-56.ngrok-free.app/webhooks/telegram/webhook"
  
# This entry is needed if you are using Rasa Enterprise. The entry represents credentials
# for the Rasa Enterprise "channel", i.e. Talk to your bot and Share with guest testers.
# rasa:
#   url: "http://localhost:5002/api"

Thank you a lot!

ok; solved by downgrading rasa

1 Like