Bot discord

a marqué ce sujet comme résolu.

Bonjour,

Je suis entrain d’essayer de développer un bot discord avec python… Sauf que je n’arrive pas à le connecter.

Pour l’instant, j’ai fait un petit bot tout simple qui ne fait rien :

import discord

intents = discord.Intents.default()
intents.message_content = True
intents.members = True

client = discord.Client(intents = intents)

token = "REMOVED"

client.run(token)

Et je reçois l’erreur suivante :

aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host discord.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)’)]

De ce que j’en comprends, j’ai un problème avec la vérification SSL lors de la connexion, mais ne sais pas du tout comment m’y prendre pour résoudre ça …

Merci d’avance,

@flopy78

+0 -0

Salut,

Ça n’a pas l’air d’être lié à ton code en lui-même. Lorsqu’on recherche plus d’informations sur ton erreur, on tombe sur des cas similaires qui expliquent que les certificats ne sont pas correctement installés sur des systèmes type Mac OS.

As-tu essayé de suivre cette démarche ? https://support.chainstack.com/hc/en-us/articles/9117198436249-Common-SSL-Issues-on-Python-and-How-to-Fix-it

Salut,

Merci beaucoup ! (c’est l’exécution du fichier ".command" qui a marché). Le bot fonctionne, mais j’ai encore quelques petites questions :

  • Comment est-ce que je peux vérifier les droits de mon bot ?
  • Dès que je coupe le programme Python, le bot est hors-ligne sur le serveur… Comment faire pour qu’il tourne 24h/24 7j/7 ?

Merci encore,

Bonne journée,

@flopy78

Bonjour,

J’ai élaboré mon bot, et j’ai un petit problème : la méthode "on_message" ne fonctionne pas !

Voici le code de mon bot (l’objectif est de réprimander les membres grossiers) :

import discord

insultes = ["merde","putain","chier","geule","race","nické","nicker","nicke","con","connard","salope","pute","salaud"]
class PyBot(discord.Client):
    async def on_ready(self):
        print("go !")

    async def on_message(self, message):
        if message.author == self.user:
            return
        text = message.content.lower()
        print(text)
        nb_insultes = 0
        for insulte in insultes:
            if insulte in text:
                nb_insultes += 1
        if nb_insultes > 0:
            print("insultes détectées")
            await message.channel.send("{message.author}, surveille ton langage ! Il y avait {nb_insultes} grossièretées sur ton langage...")

Et le code de mise en route :

import discord
from bot import PyBot

intents = discord.Intents.default()


client = PyBot(intents = intents)

token = "MY_TOKEN"

client.run(token)

J’ai l’impression que mon bot n’a pas les droits nécessaires, mais je ne sais pas comment m’y prendre… Pourriez-vous m’aider ?

Bonne journée,

@flopy78

Pour faire tourner le bot en permanence, il n’y a pas vraiment d’autre solution que… d’avoir le programme allumé en permanence.

Le plus simple pour toi est probablement de le faire tourner sur ton propre ordinateur, que tu laisserais allumé, ou un petit serveur chez toi, genre Raspberry Pi.

La solution habituelle sinon pour ce genre de choses, c’est d’utiliser un serveur hébergé ailleurs. Ça peut être un peu de boulot à mettre en place, surtout si tu n’y connais rien. Il y a peut être des solutions clés-en-main pour des bots Discord, mais je ne connais pas.

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte