trying to run a discord bot
this is the code
import discord
from discord.ext import commands
TOKEN: str = "Token"
client = commands.Bot(command_prefix = '.')
@client.event
async def on_ready():
print('Connected')
client.start(TOKEN)
I get this error:
C:\Users\josep\AppData\Local\Programs\Python\Python38\python.exe C:/Users/josep/Desktop/unsettler/unsettler.py C:/Users/josep/Desktop/unsettler/unsettler.py:12: RuntimeWarning: coroutine 'Client.start' was never awaited client.start(TOKEN) RuntimeWarning: Enable tracemalloc to get the object allocation traceback
I tried using client.run instead of client.start, but it triggers more errors. How do I fix this?
edit: the errors I got from client run:
Traceback (most recent call last): File "C:\Users\josep\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\http.py", line 291, in static_login data = await self.request(Route('GET', '/users/@me')) File "C:\Users\josep\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\http.py", line 245, in request raise HTTPException(r, data) discord.errors.HTTPException: 401 Unauthorized (error code: 0): 401: Unauthorized
The above exception was the direct cause of the following exception:
Traceback (most recent call last): File "C:/Users/josep/Desktop/unsettler/unsettler.py", line 12, in client.run(TOKEN) File "C:\Users\josep\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\client.py", line 708, in run return future.result() File "C:\Users\josep\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\client.py", line 687, in runner await self.start(*args, **kwargs) File "C:\Users\josep\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\client.py", line 650, in start await self.login(*args, bot=bot) File "C:\Users\josep\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\client.py", line 499, in login await self.http.static_login(token.strip(), bot=bot) File "C:\Users\josep\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\http.py", line 295, in static_login raise LoginFailure('Improper token has been passed.') from exc discord.errors.LoginFailure: Improper token has been passed. Exception ignored in: <function _ProactorBasePipeTransport.del at 0x00000216FCD9FDC0> Traceback (most recent call last): File "C:\Users\josep\AppData\Local\Programs\Python\Python38\lib\asyncio\proactor_events.py", line 116, in del self.close() File "C:\Users\josep\AppData\Local\Programs\Python\Python38\lib\asyncio\proactor_events.py", line 108, in close self._loop.call_soon(self._call_connection_lost, None) File "C:\Users\josep\AppData\Local\Programs\Python\Python38\lib\asyncio\base_events.py", line 711, in call_soon self._check_closed() File "C:\Users\josep\AppData\Local\Programs\Python\Python38\lib\asyncio\base_events.py", line 504, in _check_closed raise RuntimeError('Event loop is closed') RuntimeError: Event loop is closed
client.run
?client.run
andclient.start
are not equivalent functions, asclient.start
needs to be manually initialized into the event loop, whereasclient.run
abstracts that process and makes it simpler to use. – thegamecracks