diff --git a/.gitignore b/.gitignore
index a2f5f70..2c1c701 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,6 +13,7 @@ private.py
 
 # other
 *.logs
+*.log
  
 # Byte-compiled / optimized / DLL files
 __pycache__/
diff --git a/cogs/Admin.py b/cogs/Admin.py
index eeaed28..4c8b64a 100644
--- a/cogs/Admin.py
+++ b/cogs/Admin.py
@@ -67,7 +67,8 @@ class Admin(commands.Cog):
 
     @groupExtra(name='say', invoke_without_command=True, category='text',
                 description=Texts('admin_help').get('_say'),
-                short_doc=Texts('admin_help').get('_say__short'))
+                help=Texts('admin_help').get('_say__short'),
+                usage=Texts('admin_help').get('_say__usage'))
     async def _say(self, ctx: commands.Context, *, content: str):
         if ctx.invoked_subcommand is None:
             try:
@@ -79,7 +80,8 @@ class Admin(commands.Cog):
 
     @_say.command(name='edit',
                   description=Texts('admin_help').get('_say_edit'),
-                  short_doc=Texts('admin_help').get('_say_edit__short'))
+                  help=Texts('admin_help').get('_say_edit__short'),
+                  usage=Texts('admin_help').get('_say_edit__usage'))
     async def _say_edit(self, ctx: commands.Context, message_id: int, *,
                         content: str):
         try:
@@ -98,7 +100,8 @@ class Admin(commands.Cog):
 
     @_say.command(name='to',
                   description=Texts('admin_help').get('_say_to'),
-                  short_doc=Texts('admin_help').get('_say_to__short'))
+                  help=Texts('admin_help').get('_say_to__short'),
+                  usage=Texts('admin_help').get('_say_to__usage'))
     async def _say_to(self, ctx: commands.Context,
                       channel: Union[discord.TextChannel, discord.User], *,
                       content):
@@ -113,7 +116,8 @@ class Admin(commands.Cog):
 
     @commandExtra(name='ban', category='administration',
                   description=Texts('admin_help').get('_ban'),
-                  short_doc=Texts('admin_help').get('_ban__short'))
+                  help=Texts('admin_help').get('_ban__short'),
+                  usage=Texts('admin_help').get('_ban__usage'))
     async def _ban(self, ctx: commands.Context, user: discord.Member, *,
                    reason=""):
         try:
@@ -142,7 +146,8 @@ class Admin(commands.Cog):
 
     @commandExtra(name='kick', category='administration',
                   description=Texts('admin_help').get('_kick'),
-                  short_doc=Texts('admin_help').get('_kick__short'))
+                  help=Texts('admin_help').get('_kick__short'),
+                  usage=Texts('admin_help').get('_kick__usage'))
     async def _kick(self, ctx: commands.Context, user: discord.Member, *,
                     reason=""):
         try:
@@ -171,7 +176,8 @@ class Admin(commands.Cog):
 
     @commandExtra(name='clear', category='text',
                   description=Texts('admin_help').get('_clear'),
-                  short_doc=Texts('admin_help').get('_clear__short'))
+                  help=Texts('admin_help').get('_clear__short'),
+                  usage=Texts('admin_help').get('_clear__usage'))
     async def _clear(self, ctx: commands.Context, count: int):
         try:
             await ctx.message.delete()
@@ -183,14 +189,16 @@ class Admin(commands.Cog):
 
     @groupExtra(name='react', category='text',
                 description=Texts('admin_help').get('_react'),
-                short_doc=Texts('admin_help').get('_react__short'))
+                help=Texts('admin_help').get('_react__short'),
+                usage=Texts('admin_help').get('_react__usage'))
     async def _react(self, ctx: commands.Context):
         if ctx.invoked_subcommand is None:
             await ctx.send_help('react')
 
     @_react.command(name='add',
                     description=Texts('admin_help').get('_react_add'),
-                    short_doc=Texts('admin_help').get('_react_add__short'))
+                    help=Texts('admin_help').get('_react_add__short'),
+                    usage=Texts('admin_help').get('_react_add__usage'))
     async def _react_add(self, ctx: commands.Context, message_id: int, *,
                          emojis: str):
         emojis: list = emojis.split(' ')
@@ -208,7 +216,8 @@ class Admin(commands.Cog):
 
     @_react.command(name='clear',
                     description=Texts('admin_help').get('_react_remove'),
-                    short_doc=Texts('admin_help').get('_react_remove__short'))
+                    help=Texts('admin_help').get('_react_remove__short'),
+                    usage=Texts('admin_help').get('_react_remove__usage'))
     async def _react_remove(self, ctx: commands.Context, message_id: int):
         try:
             message: discord.Message = await ctx.channel.fetch_message(
@@ -224,7 +233,8 @@ class Admin(commands.Cog):
     @groupExtra(name='delete', invoke_without_command=True,
                 category='text',
                 description=Texts('admin_help').get('_delete'),
-                short_doc=Texts('admin_help').get('_delete__short'))
+                help=Texts('admin_help').get('_delete__short'),
+                usage=Texts('admin_help').get('_delete___usage'))
     async def _delete(self, ctx: commands.Context, message_id: int):
         try:
             await ctx.message.delete()
@@ -242,7 +252,8 @@ class Admin(commands.Cog):
 
     @_delete.command(name='from', aliases=['to', 'in'],
                      description=Texts('admin_help').get('_delete_from'),
-                     short_doc=Texts('admin_help').get('_delete_from__short'))
+                     help=Texts('admin_help').get('_delete_from__short'),
+                     usage=Texts('admin_help').get('_delete_from__usage'))
     async def _delete_from(self, ctx: commands.Context,
                            channel: discord.TextChannel, message_id: int):
         try:
@@ -308,7 +319,8 @@ class Admin(commands.Cog):
 
     @groupExtra(name='warn', aliases=['warns'], category='administration',
                 description=Texts('admin_help').get('_warn'),
-                short_doc=Texts('admin_help').get('_warn__short'))
+                help=Texts('admin_help').get('_warn__short'),
+                usage=Texts('admin_help').get('_warn__usage'))
     async def _warn(self, ctx: commands.Context):
         await ctx.trigger_typing()
         if ctx.invoked_subcommand is None:
@@ -322,7 +334,8 @@ class Admin(commands.Cog):
 
     @_warn.command(name='add', aliases=['new'],
                    description=Texts('admin_help').get('_warn_new'),
-                   short_doc=Texts('admin_help').get('_warn_new__short'))
+                   help=Texts('admin_help').get('_warn_new__short'),
+                   usage=Texts('admin_help').get('_warn_new__usage'))
     async def _warn_new(self, ctx: commands.Context, member: discord.Member,
                         *, reason="N/A"):
         member = await ctx.guild.fetch_member(member.id)
@@ -403,7 +416,8 @@ class Admin(commands.Cog):
 
     @_warn.command(name='remove', aliases=['revoke', 'del', 'delete'],
                    description=Texts('admin_help').get('_warn_remove'),
-                   short_doc=Texts('admin_help').get('_warn_remove__short'))
+                   help=Texts('admin_help').get('_warn_remove__short'),
+                   usage=Texts('admin_help').get('_warn_remove__usage'))
     async def _warn_remove(self, ctx: commands.Context, warn_id: int):
         warn = self.bot.database.session \
             .query(WarnModel) \
@@ -417,7 +431,8 @@ class Admin(commands.Cog):
 
     @_warn.command(name='show', aliases=['list', 'all'],
                    description=Texts('admin_help').get('_warn_show'),
-                   short_doc=Texts('admin_help').get('_warn_show__short'))
+                   help=Texts('admin_help').get('_warn_show__short'),
+                   usage=Texts('admin_help').get('_warn_show__usage'))
     async def _warn_show(self, ctx: commands.Context, member: discord.Member):
         warns_list, warns = await self.get_warn(ctx, member)
 
@@ -430,7 +445,8 @@ class Admin(commands.Cog):
 
     @_warn.command(name='edit', aliases=['change', 'modify'],
                    description=Texts('admin_help').get('_warn_edit'),
-                   short_doc=Texts('admin_help').get('_warn_edit__short'))
+                   help=Texts('admin_help').get('_warn_edit__short'),
+                   usage=Texts('admin_help').get('_warn_edit__usage'))
     async def _warn_edit(self, ctx: commands.Context, warn_id: int, *, reason):
         warn = self.bot.database.session \
             .query(WarnModel) \
@@ -448,7 +464,8 @@ class Admin(commands.Cog):
     @commandExtra(name='language', aliases=['lang', 'langue', 'langage'],
                   category='server',
                   description=Texts('admin_help').get('_language'),
-                  short_doc=Texts('admin_help').get('_language__short'))
+                  help=Texts('admin_help').get('_language__short'),
+                  usage=Texts('admin_help').get('_language__usage'))
     async def _language(self, ctx: commands.Context, locale: str):
         available = self.bot.database.session \
             .query(LangModel.value) \
@@ -481,14 +498,16 @@ class Admin(commands.Cog):
 
     @groupExtra(name='prefix', aliases=['prefixes'], category='server',
                 description=Texts('admin_help').get('_prefix'),
-                short_doc=Texts('admin_help').get('_prefix_short'))
+                help=Texts('admin_help').get('_prefix_short'),
+                usage=Texts('admin_help').get('_prefix__usage'))
     async def _prefix(self, ctx: commands.Context):
         if ctx.invoked_subcommand is None:
             await ctx.send_help('prefix')
 
     @_prefix.command(name='add', aliases=['set', 'new'],
                      description=Texts('admin_help').get('_prefix_add'),
-                     short_doc=Texts('admin_help').get('_prefix_add__short'))
+                     help=Texts('admin_help').get('_prefix_add__short'),
+                     usage=Texts('admin_help').get('_prefix_add__usage'))
     async def _prefix_add(self, ctx: commands.Context, prefix: str):
         if str(ctx.guild.id) in self.bot.prefixes:
             prefixes = self.bot.prefixes.get(
@@ -523,8 +542,8 @@ class Admin(commands.Cog):
 
     @_prefix.command(name='remove', aliases=['drop', 'del', 'delete'],
                      description=Texts('admin_help').get('_prefix_remove'),
-                     short_doc=Texts('admin_help').get(
-                         '_prefix_remove__short'))
+                     help=Texts('admin_help').get('_prefix_remove__short'),
+                     usage=Texts('admin_help').get('_prefix_remove__usage'))
     async def _prefix_remove(self, ctx: commands.Context, prefix: str):
         if str(ctx.guild.id) in self.bot.prefixes:
             prefixes = self.bot.prefixes.get(
@@ -554,7 +573,8 @@ class Admin(commands.Cog):
 
     @_prefix.command(name='list', aliases=['show', 'all'],
                      description=Texts('admin_help').get('_prefix_list'),
-                     short_doc=Texts('admin_help').get('_prefix_list__short'))
+                     help=Texts('admin_help').get('_prefix_list__short'),
+                     usage=Texts('admin_help').get('_prefix_list__usage'))
     async def _prefix_list(self, ctx: commands.Context):
         extras = ['.']
         if ctx.message.guild is not None:
diff --git a/cogs/Help.py b/cogs/Help.py
index 60337e1..f918673 100644
--- a/cogs/Help.py
+++ b/cogs/Help.py
@@ -16,28 +16,24 @@ log = logging.getLogger(__name__)
 class HelpCommand(commands.HelpCommand):
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
-        self.ignore_cogs = ["Monitoring", "Help", "Jishaku"]
-        self.owner_cogs = ["Admin"]
+        self.ignore_cogs = ["Monitoring", "Help"]
+        self.owner_cogs = ["Jishaku"]
+        self.admin_cogs = ["Admin"]
 
-    def common_command_formatting(self, emb, command):
+    def common_command_formatting(self, e, command):
         prefix = self.context.prefix if str(self.context.bot.user.id) not in self.context.prefix else f"@{self.context.bot.user.name}"
 
-        emb.title = self.get_command_signature(command)
+        e.title = self.get_command_signature(command)
+        e.description = command.description
 
-        emb.description = command.description
-        usage = command.description + "todo: usage"
-
-        try:
-            usg = command.description + "todo: usage"
-            emb.add_field(
-                name=usage,
-                value=f"{prefix}{command.qualified_name} " + usg
-            )
-        except KeyError:
-            emb.add_field(
-                name=usage,
-                value=f"{prefix}{command.qualified_name}"
-            )
+        e.add_field(
+            name="TODO: Text.params :",
+            value=command.usage
+        )
+        e.add_field(
+            name="TODO: Text.usage :",
+            value=f"{prefix}{command.qualified_name} " + command.usage
+        )
 
         aliases = "`" + '`, `'.join(command.aliases) + "`"
         if aliases == "``":
@@ -46,7 +42,7 @@ class HelpCommand(commands.HelpCommand):
             ).get(
                 'command_help.no_aliases'
             )
-        emb.add_field(
+        e.add_field(
             name=Texts(
                 'help', self.context
             ).get(
@@ -55,7 +51,7 @@ class HelpCommand(commands.HelpCommand):
             value=aliases
         )
 
-        return emb
+        return e
 
     async def send_bot_help(self, mapping):
         owners = self.context.bot.owners
@@ -129,14 +125,14 @@ class HelpCommand(commands.HelpCommand):
             pages[cmd.category] \
                 += f"{cmd.name}" \
                    + ' ' * int(17 - len(cmd.name)) \
-                   + f":: {cmd.short_doc}\n"
+                   + f":: {cmd.help}\n"
 
             if isinstance(cmd, commands.Group):
                 for group_command in cmd.commands:
                     pages[cmd.category] \
                         += f"━ {group_command.name}" \
                            + ' ' * int(15 - len(group_command.name)) \
-                           + f":: {cmd.short_doc}\n"
+                           + f":: {cmd.help}\n"
         for e in pages:
             pages[e] += "```"
         formatted = []
diff --git a/cogs/Logs.py b/cogs/Logs.py
index 6dbd153..b86c991 100644
--- a/cogs/Logs.py
+++ b/cogs/Logs.py
@@ -245,7 +245,7 @@ class Logs(commands.Cog):
 
     @commandExtra(name='commandstats', hidden=True, category='misc',
                   description=Texts('logs_help').get('_commandstats'),
-                  short_doc=Texts('logs_help').get('_commandstats__short'))
+                  help=Texts('logs_help').get('_commandstats__short'))
     @commands.is_owner()
     async def _commandstats(self, ctx, limit=20):
         counter = self.bot.command_stats
@@ -262,7 +262,7 @@ class Logs(commands.Cog):
 
     @commandExtra(name='socketstats', hidden=True, category='misc',
                   description=Texts('logs_help').get('_socketstats'),
-                  short_doc=Texts('logs_help').get('_socketstats__short'))
+                  help=Texts('logs_help').get('_socketstats__short'))
     @commands.is_owner()
     async def _socketstats(self, ctx):
         delta = datetime.datetime.utcnow() - self.bot.uptime
@@ -274,7 +274,7 @@ class Logs(commands.Cog):
 
     @commandExtra(name='uptime', category='misc',
                   description=Texts('logs_help').get('_uptime'),
-                  short_doc=Texts('logs_help').get('_uptime__short'))
+                  help=Texts('logs_help').get('_uptime__short'))
     async def _uptime(self, ctx):
         uptime = humanize.naturaltime(
             datetime.datetime.utcnow() - self.bot.uptime)
diff --git a/cogs/Polls.py b/cogs/Polls.py
index 2f77f78..23bab84 100644
--- a/cogs/Polls.py
+++ b/cogs/Polls.py
@@ -207,14 +207,14 @@ class Polls(commands.Cog):
     @groupExtra(name='poll', aliases=['sondage'],
                 category='poll',
                 description=Texts('poll_help').get('_poll'),
-                short_doc=Texts('poll_help').get('_poll__short'))
+                help=Texts('poll_help').get('_poll__short'))
     async def _poll(self, ctx: commands.Context):
         if ctx.invoked_subcommand is None:
             await ctx.send_help('sondage')
 
     @_poll.group(name='create', aliases=['new', 'nouveau'],
                  description=Texts('poll_help').get('_poll_create'),
-                short_doc=Texts('poll_help').get('_poll_create__short'))
+                 help=Texts('poll_help').get('_poll_create__short'))
     async def _poll_create(self, ctx: commands.Context, *, poll: str):
         is_anonymous = '--anonyme' in poll
         poll = poll.replace('--anonyme', '')
diff --git a/cogs/Useful.py b/cogs/Useful.py
index cbeb5ba..47d78db 100644
--- a/cogs/Useful.py
+++ b/cogs/Useful.py
@@ -70,7 +70,7 @@ class Useful(commands.Cog):
 
     @commandExtra(name='iplocalise', category='network',
                   description=Texts('useful_help').get('_iplocalise'),
-                  short_doc=Texts('useful_help').get('_iplocalise__short'))
+                  help=Texts('useful_help').get('_iplocalise__short'))
     async def _iplocalise(self, ctx: commands.Context, addr, ip_type=''):
         addr = re.sub(r'http(s?)://', '', addr)
         addr = addr[:-1] if addr.endswith('/') else addr
@@ -136,7 +136,7 @@ class Useful(commands.Cog):
 
     @commandExtra(name='getheaders', category='network',
                   description=Texts('useful_help').get('_getheaders'),
-                  short_doc=Texts('useful_help').get('_getheaders__short'))
+                  help=Texts('useful_help').get('_getheaders__short'))
     async def _getheaders(self, ctx: commands.Context, addr: str):
         if (addr.startswith('http') or addr.startswith('ftp')) is not True:
             addr = f"http://{addr}"
@@ -169,7 +169,7 @@ class Useful(commands.Cog):
     @commandExtra(name='git', aliases=['sources', 'source', 'github'],
                   category='misc',
                   description=Texts('useful_help').get('_git'),
-                  short_doc=Texts('useful_help').get('_git__short'))
+                  help=Texts('useful_help').get('_git__short'))
     async def _git(self, ctx):
         e = discord.Embed(
             title=Texts('useful', ctx).get('git repo'),
@@ -186,7 +186,7 @@ class Useful(commands.Cog):
 
     @commandExtra(name='quote', category='misc',
                   description=Texts('useful_help').get('_quote'),
-                  short_doc=Texts('useful_help').get('_quote__short'))
+                  help=Texts('useful_help').get('_quote__short'))
     async def _quote(self, ctx, message_id: discord.Message):
         e = discord.Embed(
             colour=message_id.author.colour,
@@ -210,7 +210,7 @@ class Useful(commands.Cog):
 
     @commandExtra(name='ping', category='network',
                   description=Texts('useful_help').get('_ping'),
-                  short_doc=Texts('useful_help').get('_ping__short'))
+                  help=Texts('useful_help').get('_ping__short'))
     async def _ping(self, ctx: commands.Context):
         start = time.perf_counter()
         await ctx.trigger_typing()
@@ -230,7 +230,7 @@ class Useful(commands.Cog):
 
     @commandExtra(name='info', aliases=['about'], category='misc',
                   description=Texts('useful_help').get('_info'),
-                  short_doc=Texts('useful_help').get('_info__short'))
+                  help=Texts('useful_help').get('_info__short'))
     async def _info(self, ctx: commands.Context):
         proc = psutil.Process()
         total, python = self.fetch_info()
@@ -315,7 +315,7 @@ class Useful(commands.Cog):
     @commandExtra(name='credits', aliases=['contributors', 'authors'],
                   category='misc',
                   description=Texts('useful_help').get('_credits'),
-                  short_doc=Texts('useful_help').get('_credits__short'))
+                  help=Texts('useful_help').get('_credits__short'))
     async def _credits(self, ctx: commands.Context):
         e = discord.Embed(
             title=Texts('useful', ctx).get('Contributors'),
diff --git a/cogs/User.py b/cogs/User.py
index a1f44ec..8ed7578 100644
--- a/cogs/User.py
+++ b/cogs/User.py
@@ -21,14 +21,14 @@ class User(commands.Cog):
 
     @groupExtra(name='alias', aliases=['aliases'], category='alias',
                 description=Texts('user_help').get('_alias'),
-                short_doc=Texts('user_help').get('_alias__short'))
+                help=Texts('user_help').get('_alias__short'))
     async def _alias(self, ctx: commands.Context):
         if ctx.invoked_subcommand is None:
             await ctx.send_help('alias')
 
     @_alias.command(name='add', aliases=['set', 'new'],
                     description=Texts('user_help').get('_alias_add'),
-                    short_doc=Texts('user_help').get('_alias_add__short'))
+                    help=Texts('user_help').get('_alias_add__short'))
     async def _alias_add(self, ctx: commands.Context, *, user_alias: str):
         is_global = False
         if '--global' in user_alias:
@@ -57,13 +57,13 @@ class User(commands.Cog):
 
     @_alias.command(name='remove', aliases=['drop', 'del', 'delete'],
                     description=Texts('user_help').get('_alias_remove'),
-                    short_doc=Texts('user_help').get('_alias_remove__short'))
+                    help=Texts('user_help').get('_alias_remove__short'))
     async def _alias_remove(self, ctx: commands.Context, prefix: str):
         ...
 
     @_alias.command(name='list', aliases=['show', 'all'],
                     description=Texts('user_help').get('_alias_list'),
-                    short_doc=Texts('user_help').get('_alias_list__short'))
+                    help=Texts('user_help').get('_alias_list__short'))
     async def _alias_list(self, ctx: commands.Context):
         ...
 
diff --git a/extras/locales/en/LC_MESSAGES/admin_help.po b/extras/locales/en/LC_MESSAGES/admin_help.po
index 26257ac..94d24bd 100644
--- a/extras/locales/en/LC_MESSAGES/admin_help.po
+++ b/extras/locales/en/LC_MESSAGES/admin_help.po
@@ -14,79 +14,239 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: pygettext.py 1.5\n"
 
+###########################################################################
+##########################   SAY   ########################################
+###########################################################################
 
 msgid '_say'
 msgstr ''
 
+msgid '_say_short'
+msgstr '_say_short'
+
+msgid '_say_usage'
+msgstr '_say_usage'
+
+###########################################################################
+
 msgid '_say_edit'
 msgstr ''
 
-msgid '_say_to'
+msgid '_say_edit__help'
+msgstr ''
+
+msgid '_say_edit__usage'
 msgstr ''
 
 ###########################################################################
 
+msgid '_say_to'
+msgstr ''
+
+msgid '_say_to__help'
+msgstr ''
+
+msgid '_say_to__usage'
+msgstr ''
+
+###########################################################################
+##########################   BAN   ########################################
+###########################################################################
 msgid '_ban'
 msgstr ''
 
+msgid '_ban__help'
+msgstr ''
+
+msgid '_ban__usage'
+msgstr ''
+
+###########################################################################
+##########################   KICK   #######################################
 ###########################################################################
 
 msgid '_kick'
 msgstr ''
 
+msgid '_kick__help'
+msgstr ''
+
+msgid '_kick__usage'
+msgstr ''
+
+###########################################################################
+##########################   CLEAR   ######################################
 ###########################################################################
 
 msgid '_clear'
 msgstr ''
 
+msgid '_clear__help'
+msgstr ''
+
+msgid '_clear__usage'
+msgstr ''
+
+###########################################################################
+##########################   REACT   ######################################
 ###########################################################################
 
 msgid '_react'
 msgstr ''
 
+msgid '_react__help'
+msgstr ''
+
+msgid '_react__usage'
+msgstr ''
+
+###########################################################################
+
 msgid '_react_remove'
 msgstr ''
 
+msgid '_react_remove__help'
+msgstr ''
+
+msgid '_react_remove__usage'
+msgstr ''
+
+###########################################################################
+##########################   DELETE   #####################################
 ###########################################################################
 
 msgid '_delete'
 msgstr ''
 
+msgid '_delete__help'
+msgstr ''
+
+msgid '_delete__usage'
+msgstr ''
+
+###########################################################################
+
 msgid '_delete_from'
 msgstr ''
 
+msgid '_delete_from__help'
+msgstr ''
+
+msgid '_delete_from__usage'
+msgstr ''
+
+###########################################################################
+##########################   WARN   #######################################
 ###########################################################################
 
 msgid '_warn'
 msgstr ''
 
+msgid '_warn__help'
+msgstr ''
+
+msgid '_warn__usage'
+msgstr ''
+
+###########################################################################
+
 msgid '_warn_new'
 msgstr ''
 
+msgid '_warn_new__help'
+msgstr ''
+
+msgid '_warn_new__usage'
+msgstr ''
+
+###########################################################################
+
 msgid '_warn_remove'
 msgstr ''
 
+msgid '_warn_remove__help'
+msgstr ''
+
+msgid '_warn_remove__usage'
+msgstr ''
+
+###########################################################################
+
 msgid '_warn_show'
 msgstr ''
 
+msgid '_warn_show__help'
+msgstr ''
+
+msgid '_warn_show__usage'
+msgstr ''
+
+###########################################################################
+
 msgid '_warn_edit'
 msgstr ''
 
+msgid '_warn_edit__help'
+msgstr ''
+
+msgid '_warn_edit__usage'
+msgstr ''
+
+###########################################################################
+##########################   LANGUAGE   ###################################
 ###########################################################################
 
 msgid '_language'
 msgstr ''
 
+msgid '_language__help'
+msgstr ''
+
+msgid '_language__usage'
+msgstr ''
+
+###########################################################################
+##########################   PREFIX   #####################################
 ###########################################################################
 
 msgid '_prefix'
 msgstr ''
 
+msgid '_prefix__help'
+msgstr ''
+
+msgid '_prefix__usage'
+msgstr ''
+
+###########################################################################
+
 msgid '_prefix_add'
 msgstr ''
 
+msgid '_prefix_add__help'
+msgstr ''
+
+msgid '_prefix_add__usage'
+msgstr ''
+
+###########################################################################
+
 msgid '_prefix_remove'
 msgstr ''
 
+msgid '_prefix_remove__help'
+msgstr ''
+
+msgid '_prefix_remove__usage'
+msgstr ''
+
+###########################################################################
+
 msgid '_prefix_list'
-msgstr ''
\ No newline at end of file
+msgstr ''
+
+msgid '_prefix_list__help'
+msgstr ''
+
+msgid '_prefix_list__usage'
+msgstr ''
diff --git a/extras/locales/fr/LC_MESSAGES/admin_help.po b/extras/locales/fr/LC_MESSAGES/admin_help.po
index 26257ac..58af405 100644
--- a/extras/locales/fr/LC_MESSAGES/admin_help.po
+++ b/extras/locales/fr/LC_MESSAGES/admin_help.po
@@ -14,79 +14,239 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: pygettext.py 1.5\n"
 
+###########################################################################
+##########################   SAY   ########################################
+###########################################################################
 
 msgid '_say'
-msgstr ''
+msgstr 'Permet de faire en sorte que le TuxBot envoi votre message'
 
-msgid '_say_edit'
-msgstr ''
+msgid '_say__short'
+msgstr 'Fait parler TuxBot'
 
-msgid '_say_to'
-msgstr ''
+msgid '_say_usage'
+msgstr '[sous-commande] <message>'
 
 ###########################################################################
 
-msgid '_ban'
-msgstr ''
+msgid '_say_edit'
+msgstr "Permet de modifier le contenu d'un message envoyé par TuxBot"
 
+msgid '_say_edit__short'
+msgstr 'Edite un message envoyé par le TuxBot'
+
+msgid '_say_edit__usage'
+msgstr '<ID/Lien du message> <message>'
+
+###########################################################################
+
+msgid '_say_to'
+msgstr "Permet de faire en sorte que le TuxBot envoi votre message dans un autre salon ou en MP à quelqu'un"
+
+msgid '_say_to__short'
+msgstr 'Fait parler TuxBot dans un autre salon'
+
+msgid '_say_to__usage'
+msgstr "<ID/Mention du salon ou ID/Mention d'un membre> <message>"
+
+###########################################################################
+##########################   BAN   ########################################
+###########################################################################
+msgid '_ban'
+msgstr 'Permet de bannir un membre'
+
+msgid '_ban__short'
+msgstr 'Bannir un membre'
+
+msgid '_ban__usage'
+msgstr '<ID/Mention du membre>'
+
+###########################################################################
+##########################   KICK   #######################################
 ###########################################################################
 
 msgid '_kick'
-msgstr ''
+msgstr "Permet d'expulser un membre"
 
+msgid '_kick__short'
+msgstr 'Expulser un membre'
+
+msgid '_kick__usage'
+msgstr '<ID/Mention du membre>'
+
+###########################################################################
+##########################   CLEAR   ######################################
 ###########################################################################
 
 msgid '_clear'
 msgstr ''
 
+msgid '_clear__short'
+msgstr ''
+
+msgid '_clear__usage'
+msgstr ''
+
+###########################################################################
+##########################   REACT   ######################################
 ###########################################################################
 
 msgid '_react'
 msgstr ''
 
+msgid '_react__short'
+msgstr ''
+
+msgid '_react__usage'
+msgstr ''
+
+###########################################################################
+
 msgid '_react_remove'
 msgstr ''
 
+msgid '_react_remove__short'
+msgstr ''
+
+msgid '_react_remove__usage'
+msgstr ''
+
+###########################################################################
+##########################   DELETE   #####################################
 ###########################################################################
 
 msgid '_delete'
 msgstr ''
 
+msgid '_delete__short'
+msgstr ''
+
+msgid '_delete__usage'
+msgstr ''
+
+###########################################################################
+
 msgid '_delete_from'
 msgstr ''
 
+msgid '_delete_from__short'
+msgstr ''
+
+msgid '_delete_from__usage'
+msgstr ''
+
+###########################################################################
+##########################   WARN   #######################################
 ###########################################################################
 
 msgid '_warn'
 msgstr ''
 
+msgid '_warn__short'
+msgstr ''
+
+msgid '_warn__usage'
+msgstr ''
+
+###########################################################################
+
 msgid '_warn_new'
 msgstr ''
 
+msgid '_warn_new__short'
+msgstr ''
+
+msgid '_warn_new__usage'
+msgstr ''
+
+###########################################################################
+
 msgid '_warn_remove'
 msgstr ''
 
+msgid '_warn_remove__short'
+msgstr ''
+
+msgid '_warn_remove__usage'
+msgstr ''
+
+###########################################################################
+
 msgid '_warn_show'
 msgstr ''
 
+msgid '_warn_show__short'
+msgstr ''
+
+msgid '_warn_show__usage'
+msgstr ''
+
+###########################################################################
+
 msgid '_warn_edit'
 msgstr ''
 
+msgid '_warn_edit__short'
+msgstr ''
+
+msgid '_warn_edit__usage'
+msgstr ''
+
+###########################################################################
+##########################   LANGUAGE   ###################################
 ###########################################################################
 
 msgid '_language'
 msgstr ''
 
+msgid '_language__short'
+msgstr ''
+
+msgid '_language__usage'
+msgstr ''
+
+###########################################################################
+##########################   PREFIX   #####################################
 ###########################################################################
 
 msgid '_prefix'
 msgstr ''
 
+msgid '_prefix__short'
+msgstr ''
+
+msgid '_prefix__usage'
+msgstr ''
+
+###########################################################################
+
 msgid '_prefix_add'
 msgstr ''
 
+msgid '_prefix_add__short'
+msgstr ''
+
+msgid '_prefix_add__usage'
+msgstr ''
+
+###########################################################################
+
 msgid '_prefix_remove'
 msgstr ''
 
+msgid '_prefix_remove__short'
+msgstr ''
+
+msgid '_prefix_remove__usage'
+msgstr ''
+
+###########################################################################
+
 msgid '_prefix_list'
-msgstr ''
\ No newline at end of file
+msgstr ''
+
+msgid '_prefix_list__short'
+msgstr ''
+
+msgid '_prefix_list__usage'
+msgstr ''
diff --git a/logs/tuxbot.log b/logs/tuxbot.log
index 04c3cb3..e69de29 100644
--- a/logs/tuxbot.log
+++ b/logs/tuxbot.log
@@ -1,19 +0,0 @@
-[INFO   ] [2020-01-05 01:27:19] discord.client: logging in using static token
-[INFO   ] [2020-01-05 01:27:21] discord.gateway: Shard ID 0 has sent the IDENTIFY payload.
-[INFO   ] [2020-01-05 01:27:21] discord.gateway: Shard ID 0 has connected to Gateway: ["gateway-prd-main-9bmr",{"micros":437974,"calls":["discord-sessions-prd-1-19",{"micros":435593,"calls":["start_session",{"micros":38434,"calls":["api-prd-main-m577",{"micros":35095,"calls":["get_user",{"micros":1858},"add_authorized_ip",{"micros":1746},"get_guilds",{"micros":2400},"coros_wait",{"micros":2}]}]},"guilds_connect",{"micros":73,"calls":[]},"presence_connect",{"micros":1,"calls":[]}]}]}] (Session ID: 821ba51666f198bfd1e13b0e1b75fc84).
-[INFO   ] [2020-01-05 01:27:30] discord.state: Processed a chunk for 462 members in guild ID 280805240977227776.
-[INFO   ] [2020-01-05 01:27:30] discord.state: Processed a chunk for 794 members in guild ID 331981755177238530.
-[INFO   ] [2020-01-05 01:27:30] discord.state: Processed a chunk for 1000 members in guild ID 296698073177128962.
-[INFO   ] [2020-01-05 01:27:31] discord.state: Processed a chunk for 1000 members in guild ID 296698073177128962.
-[INFO   ] [2020-01-05 01:27:31] discord.state: Processed a chunk for 1000 members in guild ID 296698073177128962.
-[INFO   ] [2020-01-05 01:27:32] discord.state: Processed a chunk for 1000 members in guild ID 296698073177128962.
-[INFO   ] [2020-01-05 01:27:32] discord.state: Processed a chunk for 1000 members in guild ID 296698073177128962.
-[INFO   ] [2020-01-05 01:27:33] discord.state: Processed a chunk for 1000 members in guild ID 296698073177128962.
-[INFO   ] [2020-01-05 01:27:33] discord.state: Processed a chunk for 1000 members in guild ID 296698073177128962.
-[INFO   ] [2020-01-05 01:27:34] discord.state: Processed a chunk for 1000 members in guild ID 296698073177128962.
-[INFO   ] [2020-01-05 01:27:34] discord.state: Processed a chunk for 842 members in guild ID 296698073177128962.
-[INFO   ] [2020-01-05 01:27:36] cogs.Logs: 2020-01-05 00:27:55.614000: Romain#5117 in #tuxbot-test (Gnous): <@!301062143942590465> help Logs
-[INFO   ] [2020-01-05 01:30:14] discord.client: Cleaning up tasks.
-[INFO   ] [2020-01-05 01:30:14] discord.client: Cleaning up after 6 tasks.
-[INFO   ] [2020-01-05 01:30:15] discord.client: All tasks finished cancelling.
-[INFO   ] [2020-01-05 01:30:15] discord.client: Closing the event loop.
diff --git a/utils/extra.py b/utils/extra.py
index 395e2c4..2ac9372 100644
--- a/utils/extra.py
+++ b/utils/extra.py
@@ -5,6 +5,8 @@ class commandsPlus(commands.Command):
     def __init__(self, func, **kwargs):
         super().__init__(func, **kwargs)
         self.category = kwargs.get("category", 'other')
+        self.help = kwargs.get("help", 'No Help Provided')
+        self.usage = kwargs.get("usage", 'No Usage Provided')
 
 
 def commandExtra(*args, **kwargs):
@@ -15,6 +17,8 @@ class GroupPlus(commands.Group):
     def __init__(self, func, **kwargs):
         super().__init__(func, **kwargs)
         self.category = kwargs.get("category", 'other')
+        self.help = kwargs.get("help", 'No Help Provided')
+        self.usage = kwargs.get("usage", 'No Usage Provided')
 
 
 def groupExtra(*args, **kwargs):