Непонятная ошибка RuntimeError: Event loop is closed

Сейчас создаю дискорд бота, который отправляет реквесты на сообщение с ссылкой Roblox. Я не понимаю в чем проблема, ведь все должно работать.

Использую Python 3.11.6 64bit; Прошу запомнить, что я использую aiosonic. Вот мой код:

# main.py
import asyncio, aiosonic, discord
from source.backend.requesting import *

...

@bot.event
async def on_message(ctx):
    global claimable_channels

    if ctx.channel.id in claimable_channels:
        if "roblox.com/" in ctx.content:
            id = ctx.content.split("/")[4]
            await claim_group(headers, id)

async def main() -> None:
    global session, user_id, headers, user_data

    headers = await get_headers(session, cookie)
    user_data = await get_user_data(session, headers)
    user_id = user_data["id"]

    await generate_logo("Elite")
    await send_webhook("hey, i'm running on user: " + str(user_id))

asyncio.run(main())
bot.run("вот да")
# requesting.py
import aiosonic, asyncio, time
from aiosonic import HTTPClient

asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
client = HTTPClient()

...

async def claim_group(headers: dict, group_id: int) -> dict:
    global client
    start_time = time.time()

    print(client)

    join_request = await client.post(f"https://groups.roblox.com/v1/groups/{group_id}/users", headers=headers)
    claim_request = await client.post(f"https://groups.roblox.com/v1/groups/{group_id}/claim-ownership", headers=headers)

    end_time = time.time()

    json = {"join_request": join_request, "claim_request": claim_request, "time": end_time - start_time}
    print(json)

    return json

А также полная ошибка:

Traceback (most recent call last):
  File "D:\python 3.11.6\Lib\site-packages\discord\client.py", line 600, in _run_event
    await coro(*args, **kwargs)
  File "C:\Users\Alexander\Documents\re-autoclaimer\main.py", line 23, in on_message
    await claim_group(headers, id)
  File "C:\Users\Alexander\Documents\re-autoclaimer\source\backend\requesting.py", line 36, in claim_group
    join_request = await client.post(f"https://groups.roblox.com/v1/groups/{group_id}/users", headers=headers)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\python 3.11.6\Lib\site-packages\aiosonic\__init__.py", line 596, in post
    return await self._request_with_body(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\python 3.11.6\Lib\site-packages\aiosonic\__init__.py", line 542, in _request_with_body
    return await self.request(
           ^^^^^^^^^^^^^^^^^^^
  File "D:\python 3.11.6\Lib\site-packages\aiosonic\__init__.py", line 772, in request
    response = await wait_for(
               ^^^^^^^^^^^^^^^
  File "D:\python 3.11.6\Lib\asyncio\tasks.py", line 489, in wait_for
    return fut.result()
           ^^^^^^^^^^^^
  File "D:\python 3.11.6\Lib\site-packages\aiosonic\__init__.py", line 422, in _do_request
    async with (await connector.acquire(*args)) as connection:
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\python 3.11.6\Lib\site-packages\aiosonic\connectors.py", line 76, in acquire
    return await self.after_acquire(
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\python 3.11.6\Lib\site-packages\aiosonic\connectors.py", line 91, in after_acquire
    dns_info = await self.__resolve_dns(urlparsed.hostname, urlparsed.port)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\python 3.11.6\Lib\site-packages\aiosonic\connectors.py", line 123, in __resolve_dns
    dns_data = await self.resolver.resolve(host, port)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\python 3.11.6\Lib\site-packages\aiosonic\resolver.py", line 53, in resolve
    infos = await self.loop.getaddrinfo(
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\python 3.11.6\Lib\asyncio\base_events.py", line 867, in getaddrinfo
    return await self.run_in_executor(
                 ^^^^^^^^^^^^^^^^^^^^^
  File "D:\python 3.11.6\Lib\asyncio\base_events.py", line 816, in run_in_executor
    self._check_closed()
  File "D:\python 3.11.6\Lib\asyncio\base_events.py", line 519, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed

Ответы (0 шт):