gpt4 book ai didi

python - 如何修复运行时错误 : Cannot close a running event loop - Python Discord Bot

转载 作者:行者123 更新时间:2023-12-01 00:37:15 26 4
gpt4 key购买 nike

我正在尝试使用 Python 创建一个 Discord 机器人,但是每当我运行此处的示例代码时:

import discord

client = discord.Client()

@client.event
async def on_message(message):
# we do not want the bot to reply to itself
if message.author == client.user:
return

if message.content.startswith('!hello'):
msg = 'Hello {0.author.mention}'.format(message)
await client.send_message(message.channel, msg)

@client.event
async def on_ready():
print('Logged in as')
print(client.user.name)
print(client.user.id)
print('------')

client.run('tokenhere')

它返回错误:

Traceback (most recent call last):

File "<ipython-input-6-ea5a13e5703d>", line 1, in <module>
runfile('C:/Users/User/Pictures/rito_bot.py', wdir='C:/Users/User/Pictures')

File "C:\Users\User\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 703, in runfile
execfile(filename, namespace)

File "C:\Users\User\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 108, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)

File "C:/Users/User/Pictures/rito_bot.py", line 22, in <module>
client.run('token')

File "C:\Users\User\Anaconda3\lib\site-packages\discord\client.py", line 595, in run
_cleanup_loop(loop)

File "C:\Users\User\Anaconda3\lib\site-packages\discord\client.py", line 97, in _cleanup_loop
loop.close()

File "C:\Users\User\Anaconda3\lib\asyncio\selector_events.py", line 94, in close
raise RuntimeError("Cannot close a running event loop")

RuntimeError: Cannot close a running event loop

其他每一行似乎都运行得很好,但如果没有最后一行,它就无法连接到服务器,这使得它毫无用处。

注意:我看到了问题here ,但是OP的解决方案似乎不适用于我的情况。

最佳答案

(这里是 Spyder 维护者)要在我们的控制台中运行异步代码,您首先需要安装 nest_asyncio打包,然后在运行任何代码之前调用它,如自述文件中所述。

关于python - 如何修复运行时错误 : Cannot close a running event loop - Python Discord Bot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57639751/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com