RuntimeError:事件循环已关闭任务被破坏但它正在等待 Discord Python

Posted

技术标签:

【中文标题】RuntimeError:事件循环已关闭任务被破坏但它正在等待 Discord Python【英文标题】:RuntimeError: Event loop is closed Task was destroyed but it is pending Discord Python 【发布时间】:2019-08-09 10:09:09 【问题描述】:

您好,我查看了其他几个论坛,但无法根据他们的代码诊断我的问题。这是针对不和谐机器人的,每当我收到此错误时,它都会强制代码退出。每次我跑步时都不会发生这种情况,我无法弄清楚为什么或如何防止它。 这是我下面的代码:

@client.event
async def on_message(message):


    if message.content.startswith('!view'):
        old = message.content
        url = old.replace("!view", "").strip()
        print ("Viewer started")

        headers1 = 
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/61.0.3163.91 Safari/537.36",
            "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
            

        for i in range(100):
            try:
                r =  requests.get(url,headers=headers1,verify=False,timeout=5)
                if r.status_code == 99:
                    print("Viewed successfully")
                loop = asyncio.get_event_loop()
                loop.close()
            except Exception as e:
                print(e)

提前谢谢你,我真的很困惑!

【问题讨论】:

你能发布完整的错误吗? RuntimeError: Event loop is closed 任务被破坏,但它正在等待处理!任务: wait_for=()]>> 你在使用requests吗?你必须使用 aiohttp,因为requests 会阻塞事件循环。见:discordpy.readthedocs.io/en/latest/… 为什么你得到事件循环对象,只是为了立即关闭它?这可能是导致“事件循环已关闭错误”的原因。 【参考方案1】:

大多数情况下,问题是因为您没有在应用程序中创建机器人 https://discord.com/developers

【讨论】:

以上是关于RuntimeError:事件循环已关闭任务被破坏但它正在等待 Discord Python的主要内容,如果未能解决你的问题,请参考以下文章

Discord.py - 重新启动命令错误 - RuntimeError:事件循环已关闭

Python Asyncio 错误:“OSError:[WinError 6] 句柄无效”和“RuntimeError:事件循环已关闭”[重复]

Python Asyncio - RuntimeError:无法关闭正在运行的事件循环

Discord Python 异步事件循环已关闭

asyncio:RuntimeError此事件循环已在运行

(Python) Discord 机器人代码返回“RuntimeError:无法关闭正在运行的事件循环”