简体   繁体   中英

Discord bot in python issues

I'm making a discord bot with Python following a video but my code won't execute, even though the one in video has no problem. I tried to loop it up, but everything I tried didn't help.

My code:

import discord
from discord.ext import commands


client = commands.Bot(command_prefix='!')


@client.event
async def on_ready():
    print('Hello server!')

client.run('MyToken')

Errors:

Traceback (most recent call last):
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/aiohttp/connector.py", line 936, in _wrap_create_connection
    return await self._loop.create_connection(*args, **kwargs)  # type: ignore  # noqa
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/base_events.py", line 1046, in create_connection
    transport, protocol = await self._create_connection_transport(
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/base_events.py", line 1076, in _create_connection_transport
    await waiter
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/sslproto.py", line 529, in data_received
    ssldata, appdata = self._sslpipe.feed_ssldata(data)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/sslproto.py", line 189, in feed_ssldata
    self._sslobj.do_handshake()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/ssl.py", line 944, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/bot.py", line 12, in <module>
    client.run('ZMrX0vZ6HlhdHiOLuD-6j1uF-Gzkq2lo')
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/discord/client.py", line 640, in run
    return future.result()
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/discord/client.py", line 621, in runner
    await self.start(*args, **kwargs)
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/discord/client.py", line 584, in start
    await self.login(*args, bot=bot)
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/discord/client.py", line 442, in login
    await self.http.static_login(token.strip(), bot=bot)
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/discord/http.py", line 261, in static_login
    data = await self.request(Route('GET', '/users/@me'))
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/discord/http.py", line 165, in request
    async with self.__session.request(method, url, **kwargs) as r:
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/aiohttp/client.py", line 1012, in __aenter__
    self._resp = await self._coro
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/aiohttp/client.py", line 480, in _request
    conn = await self._connector.connect(
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/aiohttp/connector.py", line 523, in connect
    proto = await self._create_connection(req, traces, timeout)
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/aiohttp/connector.py", line 858, in _create_connection
    _, proto = await self._create_direct_connection(
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/aiohttp/connector.py", line 1004, in _create_direct_connection
    raise last_exc
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/aiohttp/connector.py", line 980, in _create_direct_connection
    transp, proto = await self._wrap_create_connection(
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/aiohttp/connector.py", line 938, in _wrap_create_connection
    raise ClientConnectorCertificateError(
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host discordapp.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')]

First of all, you should be careful because your token is visible in the error you gave us. Anyone with your token will have full control of your bot so be sure to regenerate it after you get this problem fixed.

Try doing: client = discord.Client()

Instead of: client = commands.Bot(command_prefix='!')

I ran it with that command and it worked

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM