Python 我为我的机器人做了一个循环,但它赢了';跑不动
我正在使用discord.py创建一个discord bot,我正在为我的借用命令使用一个事件循环,但是当我运行它时,它会给我一堆错误代码。错误代码表示循环已在运行,但我只是修改了代码 注意:这是discord.py包的问题,而不是python本身。 代码: 错误代码:Python 我为我的机器人做了一个循环,但它赢了';跑不动,python,discord.py,Python,Discord.py,我正在使用discord.py创建一个discord bot,我正在为我的借用命令使用一个事件循环,但是当我运行它时,它会给我一堆错误代码。错误代码表示循环已在运行,但我只是修改了代码 注意:这是discord.py包的问题,而不是python本身。 代码: 错误代码: File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/client.py", line 631, in run lo
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/client.py", line 631, in run
loop.run_forever()
File "/usr/lib/python3.8/asyncio/base_events.py", line 560, in run_forever
self._check_running()
File "/usr/lib/python3.8/asyncio/base_events.py", line 552, in _check_running
raise RuntimeError('This event loop is already running')
RuntimeError: This event loop is already running
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/client.py", line 92, in _cleanup_loop
_cancel_tasks(loop)
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/client.py", line 77, in _cancel_tasks
loop.run_until_complete(asyncio.gather(*tasks, return_exceptions=True))
File "/usr/lib/python3.8/asyncio/base_events.py", line 592, in run_until_complete
self._check_running()
File "/usr/lib/python3.8/asyncio/base_events.py", line 552, in _check_running
raise RuntimeError('This event loop is already running')
RuntimeError: This event loop is already running
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "main.py", line 801, in <module>
asyncio.get_event_loop().run_until_complete(run_bot())
File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
return future.result()
File "main.py", line 798, in run_bot
await client.run(Token)
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/client.py", line 637, in run
_cleanup_loop(loop)
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/client.py", line 97, in _cleanup_loop
loop.close()
File "/usr/lib/python3.8/asyncio/unix_events.py", line 58, in close
super().close()
File "/usr/lib/python3.8/asyncio/selector_events.py", line 89, in close
raise RuntimeError("Cannot close a running event loop")
RuntimeError: Cannot close a running event loop
文件“/opt/virtualenvs/python3/lib/python3.8/site packages/discord/client.py”,第631行,正在运行
loop.run_forever()
文件“/usr/lib/python3.8/asyncio/base\u events.py”,第560行,永远运行
自我检查运行()
文件“/usr/lib/python3.8/asyncio/base\u events.py”,第552行,正在运行
raise RUNTIMERROR('此事件循环已在运行')
RuntimeError:此事件循环已在运行
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“/opt/virtualenvs/python3/lib/python3.8/site packages/discord/client.py”,第92行,循环中
_取消任务(循环)
文件“/opt/virtualenvs/python3/lib/python3.8/site packages/discord/client.py”,第77行,在“取消”任务中
loop.run_直到_完成(asyncio.gather(*tasks,return_exceptions=True))
文件“/usr/lib/python3.8/asyncio/base\u events.py”,第592行,运行直到完成
自我检查运行()
文件“/usr/lib/python3.8/asyncio/base\u events.py”,第552行,正在运行
raise RUNTIMERROR('此事件循环已在运行')
RuntimeError:此事件循环已在运行
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“main.py”,第801行,在
asyncio.get_event_loop()。运行_直到完成(运行_bot())
文件“/usr/lib/python3.8/asyncio/base\u events.py”,第616行,运行直到完成
返回future.result()
文件“main.py”,第798行,在run_bot中
等待客户端运行(令牌)
文件“/opt/virtualenvs/python3/lib/python3.8/site packages/discord/client.py”,第637行,正在运行
_清除循环(循环)
文件“/opt/virtualenvs/python3/lib/python3.8/site packages/discord/client.py”,第97行,循环中
loop.close()
文件“/usr/lib/python3.8/asyncio/unix_events.py”,第58行,关闭
super().close()
文件“/usr/lib/python3.8/asyncio/selector_events.py”,第89行,关闭
raise RUNTIMERROR(“无法关闭正在运行的事件循环”)
RuntimeError:无法关闭正在运行的事件循环
不是一个协同程序,而是一个函数。使用事件循环的机制已经包含在其中。当您想要运行bot时,您应该只调用client.run(Token)
。不是一个协同程序,它是一个函数。使用事件循环的机制已经包含在其中。当你想运行你的机器人时,你只需调用client.run(Token)
。检查此链接@isAif Thank,我看。检查此链接@isAif Thank,我看。
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/client.py", line 631, in run
loop.run_forever()
File "/usr/lib/python3.8/asyncio/base_events.py", line 560, in run_forever
self._check_running()
File "/usr/lib/python3.8/asyncio/base_events.py", line 552, in _check_running
raise RuntimeError('This event loop is already running')
RuntimeError: This event loop is already running
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/client.py", line 92, in _cleanup_loop
_cancel_tasks(loop)
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/client.py", line 77, in _cancel_tasks
loop.run_until_complete(asyncio.gather(*tasks, return_exceptions=True))
File "/usr/lib/python3.8/asyncio/base_events.py", line 592, in run_until_complete
self._check_running()
File "/usr/lib/python3.8/asyncio/base_events.py", line 552, in _check_running
raise RuntimeError('This event loop is already running')
RuntimeError: This event loop is already running
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "main.py", line 801, in <module>
asyncio.get_event_loop().run_until_complete(run_bot())
File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
return future.result()
File "main.py", line 798, in run_bot
await client.run(Token)
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/client.py", line 637, in run
_cleanup_loop(loop)
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/client.py", line 97, in _cleanup_loop
loop.close()
File "/usr/lib/python3.8/asyncio/unix_events.py", line 58, in close
super().close()
File "/usr/lib/python3.8/asyncio/selector_events.py", line 89, in close
raise RuntimeError("Cannot close a running event loop")
RuntimeError: Cannot close a running event loop