deny adding a command who already exist in the bot itself
This commit is contained in:
parent
8058ab1453
commit
c50cc204d9
3 changed files with 36 additions and 15 deletions
|
@ -1,5 +1,5 @@
|
|||
from twitchio.ext import commands
|
||||
from utils.core import load
|
||||
from utils.core import load, listCommands
|
||||
from utils.commands import CommandesDB
|
||||
|
||||
def prepare(client: commands.Bot):
|
||||
|
@ -19,7 +19,7 @@ class Commandes(commands.Cog): # Les méthodes qui ont no_global_checks de Vrai
|
|||
if commandName == None or commandMessage == None:
|
||||
return
|
||||
if ctx.author.is_mod:
|
||||
if CommandesDB().existeCommande(commandName)[0] == False:
|
||||
if CommandesDB().existeTouteCommande(self.client, commandName)[0] == False:
|
||||
CommandesDB().ajoutCommande(commandName, commandMessage)
|
||||
await ctx.send(f"@{ctx.author.name}, commande {commandName} ajoutée !")
|
||||
else:
|
||||
|
@ -46,19 +46,17 @@ class Commandes(commands.Cog): # Les méthodes qui ont no_global_checks de Vrai
|
|||
"""Affiche la liste des commandes de la base de donnée du bot"""
|
||||
commandes = CommandesDB().listeCommande()
|
||||
|
||||
cogs = self.client.cogs.values()
|
||||
for cog in cogs:
|
||||
for command in cog.commands.values():
|
||||
name = command.name
|
||||
if command.no_global_checks:
|
||||
if not ctx.author.is_mod:
|
||||
continue
|
||||
if command.aliases:
|
||||
name += " (alias: "
|
||||
for aliase in command.aliases:
|
||||
name += f"{self.keys['PREFIX']}{aliase}, "
|
||||
name = f"{name[:-2]})"
|
||||
commandes.append((name,))
|
||||
for command in listCommands(self.client):
|
||||
name = command.name
|
||||
if command.no_global_checks:
|
||||
if not ctx.author.is_mod:
|
||||
continue
|
||||
if command.aliases:
|
||||
name += " (alias: "
|
||||
for aliase in command.aliases:
|
||||
name += f"{self.keys['PREFIX']}{aliase}, "
|
||||
name = f"{name[:-2]})"
|
||||
commandes.append((name,))
|
||||
|
||||
if len(commandes) > 0:
|
||||
message = f"@{ctx.author.name}, liste des commandes -> "
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
from utils.db import Database
|
||||
from utils.core import listCommands
|
||||
|
||||
class CommandesDB(Database):
|
||||
def __init__(self):
|
||||
|
@ -44,3 +45,17 @@ class CommandesDB(Database):
|
|||
if commande[0] == command:
|
||||
return (True, commande[1])
|
||||
return (False,)
|
||||
|
||||
def existeTouteCommande(self, client, commande: str):
|
||||
commandes = []
|
||||
for command in self.listeCommande():
|
||||
commandes.append(command[0])
|
||||
for command in listCommands(client):
|
||||
commandes.append(command.name)
|
||||
if command.aliases:
|
||||
for comm in command.aliases:
|
||||
commandes.append(comm)
|
||||
if commande in commandes:
|
||||
return (True,)
|
||||
return (False,)
|
||||
|
||||
|
|
|
@ -17,3 +17,11 @@ def load(variables):
|
|||
exit(1)
|
||||
|
||||
return keys
|
||||
|
||||
def listCommands(client):
|
||||
cogs = client.cogs.values()
|
||||
commands = []
|
||||
for cog in cogs:
|
||||
for command in cog.commands.values():
|
||||
commands.append(command)
|
||||
return commands
|
||||
|
|
Loading…
Reference in a new issue