2017-05-22 1 views
1

Je fais un bot discord, et je veux qu'il efface les messages dans un serveur. J'ai le code, mais quand je le lance, il me demande des permissions. Comment autoriser le bot à supprimer les messages de la chaîne?Python 3 - Discord Bot

Répondre

2

Votre compte d'utilisateur bot doit avoir le MANAGE_MESSAGESpermission sur le serveur/la guilde sur lequel vous exécutez la commande pour supprimer les messages. Cela doit être défini par le gestionnaire de serveur lors de l'installation de votre bot (généralement avec un rôle personnalisé que le bot utilise). Vous pouvez vérifier pour vous assurer que vous avez le rôle pour cela comme suit:

# get your bot's guild member object first (that's outside the scope of this post) 
# we'll call the guild member object "member" here... 

# MANAGE_MESSAGES permission is 0x00002000, we'll use a bitwise AND to see if the 
# bot has a role with the MANAGE_MESSAGES permission. 
if not filter(lambda role: role.permissions & 0x00002000 != 0, member.roles): 
    # error handling, possibly send a message saying the bot needs permissions 
else: 
    # delete messages using your method