'Discord.py: How to fix "event loop is closed"
I am new to programming. I am trying to have my discord bot open up command prompt to confirm it can run, but I am getting this error:
File "C:\Users\---\AppData\Local\Programs\Python\Python38-32\lib\asyncio\proactor_events.py", line 116, in __del__
self.close()
File "C:\Users\---\AppData\Local\Programs\Python\Python38-32\lib\asyncio\proactor_events.py", line 108, in close
self._loop.call_soon(self._call_connection_lost, None)
File "C:\Users\---\AppData\Local\Programs\Python\Python38-32\lib\asyncio\base_events.py", line 719, in call_soon
self._check_closed()
File "C:\Users\---\AppData\Local\Programs\Python\Python38-32\lib\asyncio\base_events.py", line 508, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
[Finished in 0.871s]
Code:
import discord
from discord.ext import commands
client=commands.Bot(command_prefix = '.')
@client.event
async def on_ready():
print('ok')
client.run(token)
What causes this error, and how can I fix this?
Edit: after some testing, I believe "client.run(token)" is what is causing "event loop is closed", not sure why.
Solution 1:[1]
I guess your bot has no function
, so it just starts and then shuts down again, but I'm not sure. You would have to test this out by for example adding async def on_message(message)
.
Normally the Event loop is closed
"Error" is caused by client.close()
or client.logout()
Solution 2:[2]
This is because you didn't set the "token" variable, in your last line you use it but it isn't defined.
Or maybe did you set it but didn't write it here?
Solution 3:[3]
try enabling intents on the developer portal it worked for me when i had the same problem
Solution 4:[4]
Open Discord Developers Portal https://discord.com/developers/applications
Select your application
Open 'Bot' section in the settings
Enable SERVER MEMBERS INTENT.
now save changes and try :)
Solution 5:[5]
This is caused by a wrong or invalid token. Try to reset your token in the developer portal and start the bot with the new one.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | FlexGames |
Solution 2 | Eric Aya |
Solution 3 | idk |
Solution 4 | Dilshad |
Solution 5 | thePythonNoob |