2018-08-11 01:50:18 +02:00
|
|
|
import discord
|
2018-08-15 13:00:58 +02:00
|
|
|
import traductions as tr
|
|
|
|
|
2018-08-11 01:50:18 +02:00
|
|
|
|
|
|
|
class MainClass:
|
|
|
|
name = "modules"
|
|
|
|
|
|
|
|
def __init__(self, guild):
|
|
|
|
self.guild = guild
|
|
|
|
|
|
|
|
async def load(self, msg, command, args):
|
2018-08-13 17:15:46 +02:00
|
|
|
if msg.author.id in self.guild.config["master_admin"]:
|
2018-08-11 01:50:18 +02:00
|
|
|
errors = []
|
|
|
|
for arg in args:
|
|
|
|
if args not in self.guild.config["modules"]:
|
2018-08-15 13:00:58 +02:00
|
|
|
self.guild.config["modules"].append(arg)
|
2018-08-11 01:50:18 +02:00
|
|
|
errors.extend(self.guild.update_modules())
|
|
|
|
if errors:
|
2018-08-15 13:00:58 +02:00
|
|
|
texts = [
|
|
|
|
(tr.tr[self.guild.config["lang"]]["modules"]["modules"]["load"]["error"]["name"] % module,
|
|
|
|
tr.tr[self.guild.config["lang"]]["modules"]["modules"]["load"]["error"]["value"] %
|
2018-08-11 01:50:18 +02:00
|
|
|
self.guild.config["prefixe"])
|
|
|
|
for module in errors
|
|
|
|
]
|
2018-08-15 13:00:58 +02:00
|
|
|
embed = discord.Embed(
|
|
|
|
title=tr.tr[self.guild.config["lang"]]["modules"]["modules"]["load"]["error"]["title"])
|
|
|
|
for error in texts:
|
|
|
|
embed.add_field(name=error[0], value=error[1], inline=False)
|
2018-08-11 01:50:18 +02:00
|
|
|
await msg.channel.send(embed=embed)
|
|
|
|
self.guild.save_config()
|
|
|
|
else:
|
2018-08-15 13:00:58 +02:00
|
|
|
embed = discord.Embed(
|
|
|
|
title=tr.tr[self.guild.config["lang"]]["modules"]["modules"]["load"]["permissionError"]["title"])
|
2018-08-11 01:50:18 +02:00
|
|
|
if len(args) == 1:
|
2018-08-15 13:00:58 +02:00
|
|
|
embed.add_field(
|
|
|
|
name=tr.tr[self.guild.config["lang"]]["modules"]["modules"]["load"]["permissionError"]["one"][
|
|
|
|
"name"],
|
|
|
|
value=tr.tr[self.guild.config["lang"]]["modules"]["modules"]["load"]["permissionError"]["one"][
|
|
|
|
"value"])
|
2018-08-11 01:50:18 +02:00
|
|
|
else:
|
2018-08-15 13:00:58 +02:00
|
|
|
embed.add_field(
|
|
|
|
name=tr.tr[self.guild.config["lang"]]["modules"]["modules"]["load"]["permissionError"]["many"][
|
|
|
|
"name"],
|
|
|
|
value=tr.tr[self.guild.config["lang"]]["modules"]["modules"]["load"]["permissionError"]["many"][
|
|
|
|
"value"])
|
2018-08-13 17:15:46 +02:00
|
|
|
await msg.channel.send(embed=embed)
|
2018-08-15 13:00:58 +02:00
|
|
|
return
|
2018-08-13 17:15:46 +02:00
|
|
|
|
|
|
|
async def unload(self, msg, command, args):
|
|
|
|
if msg.author.id in self.guild.config["master_admin"]:
|
2018-08-15 13:00:58 +02:00
|
|
|
errors = []
|
2018-08-13 17:15:46 +02:00
|
|
|
for arg in args:
|
|
|
|
try:
|
|
|
|
self.guild.config["modules"].remove(arg)
|
|
|
|
except ValueError:
|
|
|
|
errors.append(arg)
|
|
|
|
|
|
|
|
errors.extend(self.guild.update_modules())
|
|
|
|
if errors:
|
|
|
|
textes = [
|
2018-08-15 13:00:58 +02:00
|
|
|
(tr.tr[self.guild.config["lang"]]["modules"]["modules"]["unload"]["error"]["name"] % module,
|
|
|
|
tr.tr[self.guild.config["lang"]]["modules"]["modules"]["unload"]["error"]["value"] %
|
2018-08-13 17:15:46 +02:00
|
|
|
self.guild.config["prefixe"])
|
|
|
|
for module in errors
|
|
|
|
]
|
2018-08-15 13:00:58 +02:00
|
|
|
embed = discord.Embed(
|
|
|
|
title=tr.tr[self.guild.config["lang"]]["modules"]["modules"]["unload"]["error"]["title"])
|
2018-08-13 17:15:46 +02:00
|
|
|
for erreur in textes:
|
|
|
|
embed.add_field(name=erreur[0], value=erreur[1], inline=False)
|
|
|
|
await msg.channel.send(embed=embed)
|
|
|
|
self.guild.save_config()
|
|
|
|
else:
|
2018-08-15 13:00:58 +02:00
|
|
|
embed = discord.Embed(
|
|
|
|
title=tr.tr[self.guild.config["lang"]]["modules"]["modules"]["unload"]["permissionError"][
|
|
|
|
"title"])
|
2018-08-13 17:15:46 +02:00
|
|
|
if len(args) == 1:
|
2018-08-15 13:00:58 +02:00
|
|
|
embed.add_field(
|
|
|
|
name=tr.tr[self.guild.config["lang"]]["modules"]["modules"]["unload"]["permissionError"]["one"][
|
|
|
|
"name"],
|
|
|
|
value=tr.tr[self.guild.config["lang"]]["modules"]["modules"]["unload"]["permissionError"]["one"][
|
|
|
|
"value"])
|
2018-08-13 17:15:46 +02:00
|
|
|
else:
|
2018-08-15 13:00:58 +02:00
|
|
|
embed.add_field(
|
|
|
|
name=tr.tr[self.guild.config["lang"]]["modules"]["modules"]["unload"]["permissionError"]["many"][
|
|
|
|
"name"],
|
|
|
|
value=tr.tr[self.guild.config["lang"]]["modules"]["modules"]["unload"]["permissionError"]["many"][
|
|
|
|
"value"])
|
2018-08-11 01:50:18 +02:00
|
|
|
await msg.channel.send(embed=embed)
|
2018-08-15 13:00:58 +02:00
|
|
|
return
|
2018-08-11 01:50:18 +02:00
|
|
|
|
|
|
|
async def list_modules(self, msg, command, args):
|
2018-08-15 13:00:58 +02:00
|
|
|
embed = discord.Embed(title=tr.tr[self.guild.config["lang"]]["modules"]["modules"]["list_modules"]["title"])
|
2018-08-11 01:50:18 +02:00
|
|
|
for module, classe in self.guild.bot.modules.items():
|
|
|
|
if module not in self.guild.config["modules"]:
|
2018-08-15 13:00:58 +02:00
|
|
|
embed.add_field(name=classe.name + ":",
|
|
|
|
value=tr.tr[self.guild.config["lang"]]["modules"][classe.name]["description"],
|
|
|
|
inline=False)
|
2018-08-11 01:50:18 +02:00
|
|
|
else:
|
2018-08-15 13:00:58 +02:00
|
|
|
embed.add_field(name="***" + classe.name + "***:",
|
|
|
|
value=tr.tr[self.guild.config["lang"]]["modules"][classe.name]["description"],
|
|
|
|
inline=False)
|
2018-08-11 01:50:18 +02:00
|
|
|
await msg.channel.send(embed=embed)
|
2018-08-15 13:00:58 +02:00
|
|
|
return
|
2018-08-11 01:50:18 +02:00
|
|
|
|
|
|
|
async def on_message(self, msg):
|
|
|
|
if msg.content.startswith(self.guild.config["prefixe"]):
|
|
|
|
command, *args = msg.content.lstrip(self.guild.config["prefixe"]).split(" ")
|
|
|
|
if command == "load":
|
|
|
|
await self.load(msg, command, args)
|
|
|
|
elif command == "list_modules":
|
|
|
|
await self.list_modules(msg, command, args)
|
2018-08-13 17:15:46 +02:00
|
|
|
elif command == "unload":
|
|
|
|
await self.unload(msg, command, args)
|
2018-08-15 13:00:58 +02:00
|
|
|
return
|