RuntimeError:此事件循环已在运行|使用discord.py时出错

2024-10-04 01:26:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图在mcoc.py cog中发出命令-

    @commands.command()
    async def mcoc(self, ctx, tier_str:int,*,champname:str):  
        champname = champname.strip()
        champname = champname.lower()
        if champname == "bwcv":
            champname=="blackwidow_timely"
        url = f"https://auntm.ai/champions/{champname}/tier/{tier_str}"
                                                                                                                           
        session = AsyncHTMLSession()
        
        r = await session.get(url)
        
        await r.html.render(sleep=1, keep_page=True, scrolldown=1)
        
        information = await r.html.find("div.sc-hiSbYr.XqbgT")
        sig = await r.html.find('div.sc-fbNXWD.iFMyOV')
        name = await r.html.find('div.sc-cxFLnm.izBVou')
        tier_access = information[0]
        self.tier = tier_access.text
async with ctx.typing:
            embed = discord.Embed(title=f"{self.name_of_champ}",description=f"More Information about {self.name_of_champ} can be found (here)[{self.url_page}]")
            await ctx.send(embed=embed)

但我不断地得到错误-

Ignoring exception in on_command_error
Traceback (most recent call last):
  File "/home/indo/.local/lib/python3.9/site-packages/discord/ext/commands/core.py", line 85, in wrapped
    ret = await coro(*args, **kwargs)
  File "/home/indo/Documents/Python/LoB/cogs/mcoc.py", line 119, in mcoc
    await r.html.render(sleep=1, keep_page=True, scrolldown=1)
  File "/home/indo/.local/lib/python3.9/site-packages/requests_html.py", line 598, in render
    content, result, page = self.session.loop.run_until_complete(self._async_render(url=self.url, script=script, sleep=sleep, wait=wait, content=self.html, reload=reload, scrolldown=scrolldown, timeout=timeout, keep_page=keep_page))
  File "/usr/lib/python3.9/asyncio/base_events.py", line 618, in run_until_complete
    self._check_running()
  File "/usr/lib/python3.9/asyncio/base_events.py", line 578, in _check_running
    raise RuntimeError('This event loop is already running')
RuntimeError: This event loop is already running

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/indo/.local/lib/python3.9/site-packages/discord/ext/commands/core.py", line 94, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: RuntimeError: This event loop is already running

即使在不断尝试之后,我仍然会出现错误,原因是什么,我如何修复


Tags: inpyselfurllibhtmllinepage