[mod-help] aide et d'autre trucs

This commit is contained in:
Louis Chauvet 2020-03-21 14:53:40 +01:00
parent 98ffba74c3
commit bccf545911
Signed by: fomys
GPG Key ID: 1ECA046A9615ABA0
5 changed files with 80 additions and 7 deletions

View File

@ -11,8 +11,7 @@ from modules.base import BaseClassPython
class MainClass(BaseClassPython):
name = "errors"
description = "Error handling"
interactive = True
help_active = True
authorized_users = [431043517217898496]
authorized_roles = []
color = 0xdb1348
@ -30,8 +29,8 @@ class MainClass(BaseClassPython):
self.errorsDeque = None
async def on_load(self):
if self.objects.save_exists('errorsDeque'):
self.errorsDeque = self.objects.load_object('errorsDeque')
if await self.objects.save_exists('errorsDeque'):
self.errorsDeque = await self.objects.load_object('errorsDeque')
else:
self.errorsDeque = collections.deque()
@ -44,7 +43,7 @@ class MainClass(BaseClassPython):
await to_delete.delete()
except:
raise
self.objects.save_object('errorsDeque', self.errorsDeque)
await self.objects.save_object('errorsDeque', self.errorsDeque)
async def command(self, message, args, kwargs):
raise Exception("KERNEL PANIC!!!")

39
modules/help/__init__.py Normal file
View File

@ -0,0 +1,39 @@
from pprint import pprint
import discord
from modules.base import BaseClassPython
class MainClass(BaseClassPython):
name = "Aide"
help_active = True
help = {
"description": "Module d'aide",
"commands": {
"`{prefix}{command} list`": "Affiche une liste des modules ainsi qu'une desription",
"`{prefix}{command} <module>`": "Affiche l'aide sépcifique d'un module"# ,
# "`{prefix}{command} all`": "Affiche l'aide de tous les modules"
}
}
color = 0x3c9653
command_text = "help"
async def com_list(self, message, args, kwargs):
embed = discord.Embed(title="[Aide] - Liste des modules", color=self.color)
for moduleName in list(self.client.modules.keys()):
if self.client.modules[moduleName]["initialized_class"].help_active:
embed.add_field(
name=moduleName.capitalize(),
value=self.client.modules[moduleName]["initialized_class"].help["description"])
await message.channel.send(embed=embed)
# async def com_all(self, message, args, kwargs):
# for name, module in self.client.modules.items():
# await module["initialized_class"].send_help(message.channel)
async def command(self, message, args, kwargs):
if len(args) and args[0] in self.client.modules.keys():
await self.client.modules[args[0]]["initialized_class"].send_help(message.channel)
else :
await self.send_help(message.channel)

View File

@ -9,7 +9,7 @@ from modules.modules.api import Api
class MainClass(BaseClassPython):
name = "modules"
help_active = True
command_text = "modules"
color = 0x000000
help = {

View File

@ -26,7 +26,7 @@ class MainClass(BaseClassPython):
self.config.init({"channel": 0, "lost_role": 0, "min_delta": datetime.timedelta(minutes=30).total_seconds()})
async def on_load(self):
if self.objects.save_exists('history'):
if await self.objects.save_exists('history'):
self.history = self.objects.load_object('history')
else:
self.history = {}

35
modules/roles/__init__.py Normal file
View File

@ -0,0 +1,35 @@
import discord
from modules.base import BaseClassPython
class MainClass(BaseClassPython):
name = "Roles"
color = 0xffb593
help_active = True
help = {
"description": "Modulé gérant l'attribution des roles",
"commands": {
"`{prefix}{command} list`": "Liste les roles",
"`{prefix}{command} <role>`": "S'attribuer le role <role>"
}
}
command_text = "roles"
def __init__(self, client):
super().__init__(client)
self.config.init({"roles": {}})
async def com_list(self, message, args, kwargs):
response = discord.Embed(title="Roles disponibles", color=self.color)
for id_ in self.config.roles.keys():
role = await self.client.id.get_role(int(id_))
response.add_field(name=role.name, value=self.config.roles[id_], inline=True)
await message.channel.send(embed=response)
async def com_add(self, message, args, kwargs):
if len(args) <= 1:
await message.channel.send("Il manque des arguments à la commande")
for role in args[0:]:
role = await self.client.id.get_role(name = role)
print(role.name)