diff --git a/bot.py b/bot.py index aec3baa..65ea046 100755 --- a/bot.py +++ b/bot.py @@ -29,7 +29,7 @@ l_extensions: List[str] = [ 'cogs.Help', 'cogs.Logs', # 'cogs.Monitoring', - 'cogs.Polls', + 'cogs.Poll', 'cogs.Useful', 'cogs.User', 'jishaku', diff --git a/cogs/Admin.py b/cogs/Admin.py index 4c8b64a..b9dd6a3 100644 --- a/cogs/Admin.py +++ b/cogs/Admin.py @@ -65,10 +65,7 @@ class Admin(commands.Cog): ########################################################################### - @groupExtra(name='say', invoke_without_command=True, category='text', - description=Texts('admin_help').get('_say'), - help=Texts('admin_help').get('_say__short'), - usage=Texts('admin_help').get('_say__usage')) + @groupExtra(name='say', invoke_without_command=True, category='text') async def _say(self, ctx: commands.Context, *, content: str): if ctx.invoked_subcommand is None: try: @@ -78,10 +75,7 @@ class Admin(commands.Cog): await ctx.send(content) - @_say.command(name='edit', - description=Texts('admin_help').get('_say_edit'), - help=Texts('admin_help').get('_say_edit__short'), - usage=Texts('admin_help').get('_say_edit__usage')) + @_say.command(name='edit') async def _say_edit(self, ctx: commands.Context, message_id: int, *, content: str): try: @@ -98,10 +92,7 @@ class Admin(commands.Cog): Texts('utils', ctx).get("Unable to find the message"), delete_after=5) - @_say.command(name='to', - description=Texts('admin_help').get('_say_to'), - help=Texts('admin_help').get('_say_to__short'), - usage=Texts('admin_help').get('_say_to__usage')) + @_say.command(name='to') async def _say_to(self, ctx: commands.Context, channel: Union[discord.TextChannel, discord.User], *, content): @@ -114,10 +105,7 @@ class Admin(commands.Cog): ########################################################################### - @commandExtra(name='ban', category='administration', - description=Texts('admin_help').get('_ban'), - help=Texts('admin_help').get('_ban__short'), - usage=Texts('admin_help').get('_ban__usage')) + @commandExtra(name='ban', category='administration') async def _ban(self, ctx: commands.Context, user: discord.Member, *, reason=""): try: @@ -144,10 +132,7 @@ class Admin(commands.Cog): ########################################################################### - @commandExtra(name='kick', category='administration', - description=Texts('admin_help').get('_kick'), - help=Texts('admin_help').get('_kick__short'), - usage=Texts('admin_help').get('_kick__usage')) + @commandExtra(name='kick', category='administration') async def _kick(self, ctx: commands.Context, user: discord.Member, *, reason=""): try: @@ -174,10 +159,7 @@ class Admin(commands.Cog): ########################################################################### - @commandExtra(name='clear', category='text', - description=Texts('admin_help').get('_clear'), - help=Texts('admin_help').get('_clear__short'), - usage=Texts('admin_help').get('_clear__usage')) + @commandExtra(name='clear', category='text') async def _clear(self, ctx: commands.Context, count: int): try: await ctx.message.delete() @@ -187,18 +169,12 @@ class Admin(commands.Cog): ########################################################################### - @groupExtra(name='react', category='text', - description=Texts('admin_help').get('_react'), - help=Texts('admin_help').get('_react__short'), - usage=Texts('admin_help').get('_react__usage')) + @groupExtra(name='react', category='text') 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'), - help=Texts('admin_help').get('_react_add__short'), - usage=Texts('admin_help').get('_react_add__usage')) + @_react.command(name='add') async def _react_add(self, ctx: commands.Context, message_id: int, *, emojis: str): emojis: list = emojis.split(' ') @@ -214,10 +190,7 @@ class Admin(commands.Cog): Texts('utils', ctx).get("Unable to find the message"), delete_after=5) - @_react.command(name='clear', - description=Texts('admin_help').get('_react_remove'), - help=Texts('admin_help').get('_react_remove__short'), - usage=Texts('admin_help').get('_react_remove__usage')) + @_react.command(name='remove', aliases=['clear']) async def _react_remove(self, ctx: commands.Context, message_id: int): try: message: discord.Message = await ctx.channel.fetch_message( @@ -230,11 +203,7 @@ class Admin(commands.Cog): ########################################################################### - @groupExtra(name='delete', invoke_without_command=True, - category='text', - description=Texts('admin_help').get('_delete'), - help=Texts('admin_help').get('_delete__short'), - usage=Texts('admin_help').get('_delete___usage')) + @groupExtra(name='delete', invoke_without_command=True, category='text') async def _delete(self, ctx: commands.Context, message_id: int): try: await ctx.message.delete() @@ -250,10 +219,7 @@ class Admin(commands.Cog): Texts('utils', ctx).get("Unable to find the message"), delete_after=5) - @_delete.command(name='from', aliases=['to', 'in'], - description=Texts('admin_help').get('_delete_from'), - help=Texts('admin_help').get('_delete_from__short'), - usage=Texts('admin_help').get('_delete_from__usage')) + @_delete.command(name='from', aliases=['to', 'in']) async def _delete_from(self, ctx: commands.Context, channel: discord.TextChannel, message_id: int): try: @@ -317,10 +283,7 @@ class Admin(commands.Cog): self.bot.database.session.add(warn) self.bot.database.session.commit() - @groupExtra(name='warn', aliases=['warns'], category='administration', - description=Texts('admin_help').get('_warn'), - help=Texts('admin_help').get('_warn__short'), - usage=Texts('admin_help').get('_warn__usage')) + @groupExtra(name='warn', aliases=['warns'], category='administration') async def _warn(self, ctx: commands.Context): await ctx.trigger_typing() if ctx.invoked_subcommand is None: @@ -332,11 +295,8 @@ class Admin(commands.Cog): await ctx.send(embed=e) - @_warn.command(name='add', aliases=['new'], - description=Texts('admin_help').get('_warn_new'), - 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, + @_warn.command(name='add', aliases=['new']) + async def _warn_add(self, ctx: commands.Context, member: discord.Member, *, reason="N/A"): member = await ctx.guild.fetch_member(member.id) if not member: @@ -414,10 +374,7 @@ class Admin(commands.Cog): f"\n**{Texts('admin', ctx).get('Reason')}:** `{reason}`" ) - @_warn.command(name='remove', aliases=['revoke', 'del', 'delete'], - description=Texts('admin_help').get('_warn_remove'), - help=Texts('admin_help').get('_warn_remove__short'), - usage=Texts('admin_help').get('_warn_remove__usage')) + @_warn.command(name='remove', aliases=['revoke', 'del', 'delete']) async def _warn_remove(self, ctx: commands.Context, warn_id: int): warn = self.bot.database.session \ .query(WarnModel) \ @@ -429,10 +386,7 @@ class Admin(commands.Cog): await ctx.send(f"{Texts('admin', ctx).get('Warn with id')} `{warn_id}`" f" {Texts('admin', ctx).get('successfully removed')}") - @_warn.command(name='show', aliases=['list', 'all'], - description=Texts('admin_help').get('_warn_show'), - help=Texts('admin_help').get('_warn_show__short'), - usage=Texts('admin_help').get('_warn_show__usage')) + @_warn.command(name='show', aliases=['list', 'all']) async def _warn_show(self, ctx: commands.Context, member: discord.Member): warns_list, warns = await self.get_warn(ctx, member) @@ -443,10 +397,7 @@ class Admin(commands.Cog): await ctx.send(embed=e) - @_warn.command(name='edit', aliases=['change', 'modify'], - description=Texts('admin_help').get('_warn_edit'), - help=Texts('admin_help').get('_warn_edit__short'), - usage=Texts('admin_help').get('_warn_edit__usage')) + @_warn.command(name='edit', aliases=['change', 'modify']) async def _warn_edit(self, ctx: commands.Context, warn_id: int, *, reason): warn = self.bot.database.session \ .query(WarnModel) \ @@ -461,11 +412,7 @@ class Admin(commands.Cog): ########################################################################### - @commandExtra(name='language', aliases=['lang', 'langue', 'langage'], - category='server', - description=Texts('admin_help').get('_language'), - help=Texts('admin_help').get('_language__short'), - usage=Texts('admin_help').get('_language__usage')) + @commandExtra(name='language', aliases=['lang', 'langue', 'langage'], category='server') async def _language(self, ctx: commands.Context, locale: str): available = self.bot.database.session \ .query(LangModel.value) \ @@ -496,18 +443,12 @@ class Admin(commands.Cog): ########################################################################### - @groupExtra(name='prefix', aliases=['prefixes'], category='server', - description=Texts('admin_help').get('_prefix'), - help=Texts('admin_help').get('_prefix_short'), - usage=Texts('admin_help').get('_prefix__usage')) + @groupExtra(name='prefix', aliases=['prefixes'], category='server') 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'), - help=Texts('admin_help').get('_prefix_add__short'), - usage=Texts('admin_help').get('_prefix_add__usage')) + @_prefix.command(name='add', aliases=['set', 'new']) async def _prefix_add(self, ctx: commands.Context, prefix: str): if str(ctx.guild.id) in self.bot.prefixes: prefixes = self.bot.prefixes.get( @@ -540,10 +481,7 @@ class Admin(commands.Cog): Texts('admin', ctx).get('Prefix added successfully') ) - @_prefix.command(name='remove', aliases=['drop', 'del', 'delete'], - description=Texts('admin_help').get('_prefix_remove'), - help=Texts('admin_help').get('_prefix_remove__short'), - usage=Texts('admin_help').get('_prefix_remove__usage')) + @_prefix.command(name='remove', aliases=['drop', 'del', 'delete']) async def _prefix_remove(self, ctx: commands.Context, prefix: str): if str(ctx.guild.id) in self.bot.prefixes: prefixes = self.bot.prefixes.get( @@ -571,10 +509,7 @@ class Admin(commands.Cog): Texts('admin', ctx).get('This prefix does not exist') ) - @_prefix.command(name='list', aliases=['show', 'all'], - description=Texts('admin_help').get('_prefix_list'), - help=Texts('admin_help').get('_prefix_list__short'), - usage=Texts('admin_help').get('_prefix_list__usage')) + @_prefix.command(name='list', aliases=['show', 'all']) 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 2cba362..396c23c 100644 --- a/cogs/Help.py +++ b/cogs/Help.py @@ -19,12 +19,21 @@ class HelpCommand(commands.HelpCommand): self.owner_cogs = [] self.admin_cogs = ["Admin"] - 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}" + def 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}" + file = Texts(command.cog.qualified_name.lower() + '_help', self.context) - e.title = self.get_command_signature(command) - e.description = command.description + if command.parent is not None: + description = file.get(f"_{command.parent}_{command.name}") + usage = file.get(f"_{command.parent}_{command.name}__usage") + else: + description = file.get(f"_{command.name}") + usage = file.get(f"_{command.name}__usage") + + e.title = self.get_command_signature(command) + usage + e.description = description e.add_field( name=Texts( @@ -32,7 +41,7 @@ class HelpCommand(commands.HelpCommand): ).get( 'command_help.params' ), - value=command.usage + value=usage ) e.add_field( name=Texts( @@ -40,7 +49,7 @@ class HelpCommand(commands.HelpCommand): ).get( 'command_help.usage' ), - value=f"{prefix}{command.qualified_name} " + command.usage + value=f"{prefix}{command.qualified_name} " + usage ) aliases = "`" + '`, `'.join(command.aliases) + "`" @@ -63,12 +72,9 @@ class HelpCommand(commands.HelpCommand): async def send_bot_help(self, mapping): owners = self.context.bot.owners - owners_name = [ - f"{owner.name}#{owner.discriminator}" - for owner in owners - ] - prefix = self.context.prefix if str( - self.context.bot.user.id) not in self.context.prefix else f"@{self.context.bot.user.name} " + prefix = self.context.prefix \ + if str(self.context.bot.user.id) not in self.context.prefix \ + else f"@{self.context.bot.user.name} " e = discord.Embed( color=discord.Color.blue(), @@ -76,8 +82,6 @@ class HelpCommand(commands.HelpCommand): 'help', self.context ).get( 'main_page.description' - ).format( - ', '.join(owners_name[:-1]) + ' & ' + owners_name[-1] ) ) e.set_author( @@ -116,8 +120,10 @@ class HelpCommand(commands.HelpCommand): async def send_cog_help(self, cog): pages = {} - prefix = self.context.prefix if str( - self.context.bot.user.id) not in self.context.prefix else f"@{self.context.bot.user.name}" + prefix = self.context.prefix \ + if str(self.context.bot.user.id) not in self.context.prefix \ + else f"@{self.context.bot.user.name}" + file = Texts(cog.qualified_name.lower() + '_help', self.context) if cog.__class__.__name__ in self.owner_cogs \ and self.context.author not in self.context.bot.owners: @@ -133,15 +139,15 @@ class HelpCommand(commands.HelpCommand): pages[cmd.category] \ += f"{cmd.name}" \ - + ' ' * int(17 - len(cmd.name)) \ - + f":: {cmd.help}\n" + + ' ' * int(13 - len(cmd.name)) \ + + f":: {file.get(f'_{cmd.name}__short')}\n" if isinstance(cmd, GroupPlus): for group_command in cmd.commands: pages[cmd.category] \ += f"└> {group_command.name}" \ - + ' ' * int(15 - len(group_command.name)) \ - + f":: {group_command.help}\n" + + ' ' * int(10 - len(group_command.name)) \ + + f":: {file.get(f'_{group_command.parent}_{group_command.name}__short')}\n" for e in pages: pages[e] += "```" formatted = [] @@ -168,21 +174,23 @@ class HelpCommand(commands.HelpCommand): return await self.send_error_message( self.command_not_found(group.name) ) + file = Texts(group.qualified_name.lower() + '_help', self.context) - formatted = self.common_command_formatting( + formatted = self.command_formatting( discord.Embed(color=discord.Color.blue()), group ) - sub_cmd_list = "" + sub_command_list = "⠀" # this is braille, please don't touch unless you know what you're doing for group_command in group.commands: - sub_cmd_list += f"└> **{group_command.name}** - {group_command.description}\n" + sub_command_list += f"└> **{group_command.name}** - {file.get(f'_{group_command.parent}_{group_command.name}')}\n" + subcommands = Texts( 'help', self.context ).get( 'command_help.subcommands' ) - formatted.add_field(name=subcommands, value=sub_cmd_list, inline=False) + formatted.add_field(name=subcommands, value=sub_command_list, inline=False) await self.context.send(embed=formatted) async def send_command_help(self, command): @@ -193,7 +201,7 @@ class HelpCommand(commands.HelpCommand): return await self.send_error_message( self.command_not_found(command.name)) - formatted = self.common_command_formatting( + formatted = self.command_formatting( discord.Embed(color=discord.Color.blue()), command ) diff --git a/cogs/Logs.py b/cogs/Logs.py index b86c991..3642367 100644 --- a/cogs/Logs.py +++ b/cogs/Logs.py @@ -243,9 +243,7 @@ class Logs(commands.Cog): msg = f'{emoji} `[{dt:%Y-%m-%d %H:%M:%S}] {record.message}`' await self.webhook.send(msg) - @commandExtra(name='commandstats', hidden=True, category='misc', - description=Texts('logs_help').get('_commandstats'), - help=Texts('logs_help').get('_commandstats__short')) + @commandExtra(name='commandstats', hidden=True, category='misc') @commands.is_owner() async def _commandstats(self, ctx, limit=20): counter = self.bot.command_stats @@ -260,9 +258,7 @@ class Logs(commands.Cog): await ctx.send(f'```\n{output}\n```') - @commandExtra(name='socketstats', hidden=True, category='misc', - description=Texts('logs_help').get('_socketstats'), - help=Texts('logs_help').get('_socketstats__short')) + @commandExtra(name='socketstats', hidden=True, category='misc') @commands.is_owner() async def _socketstats(self, ctx): delta = datetime.datetime.utcnow() - self.bot.uptime @@ -272,9 +268,7 @@ class Logs(commands.Cog): await ctx.send( f'{total} socket events observed ({cpm:.2f}/minute):\n{self.bot.socket_stats}') - @commandExtra(name='uptime', category='misc', - description=Texts('logs_help').get('_uptime'), - help=Texts('logs_help').get('_uptime__short')) + @commandExtra(name='uptime', category='misc') async def _uptime(self, ctx): uptime = humanize.naturaltime( datetime.datetime.utcnow() - self.bot.uptime) diff --git a/cogs/Polls.py b/cogs/Poll.py similarity index 93% rename from cogs/Polls.py rename to cogs/Poll.py index 1fb9c2d..62beac7 100644 --- a/cogs/Polls.py +++ b/cogs/Poll.py @@ -15,7 +15,7 @@ from utils import groupExtra log = logging.getLogger(__name__) -class Polls(commands.Cog): +class Poll(commands.Cog): def __init__(self, bot: TuxBot): self.bot = bot @@ -205,17 +205,12 @@ class Polls(commands.Cog): poll.content = json.dumps(content) self.bot.database.session.commit() - @groupExtra(name='poll', aliases=['sondage'], - category='poll', - description=Texts('poll_help').get('_poll'), - help=Texts('poll_help').get('_poll__short')) + @groupExtra(name='poll', aliases=['sondage'], category='poll') async def _poll(self, ctx: commands.Context): if ctx.invoked_subcommand is None: - await ctx.send_help('sondage') + await ctx.send_help('poll') - @_poll.group(name='create', aliases=['new', 'nouveau'], - description=Texts('poll_help').get('_poll_create'), - help=Texts('poll_help').get('_poll_create__short')) + @_poll.group(name='create', aliases=['new', 'nouveau']) async def _poll_create(self, ctx: commands.Context, *, poll: str): is_anonymous = '--anonyme' in poll poll = poll.replace('--anonyme', '') @@ -224,4 +219,4 @@ class Polls(commands.Cog): def setup(bot: TuxBot): - bot.add_cog(Polls(bot)) + bot.add_cog(Poll(bot)) diff --git a/cogs/Useful.py b/cogs/Useful.py index 3436ec2..87c9006 100644 --- a/cogs/Useful.py +++ b/cogs/Useful.py @@ -81,9 +81,7 @@ class Useful(commands.Cog): ########################################################################### - @commandExtra(name='iplocalise', category='network', - description=Texts('useful_help').get('_iplocalise'), - help=Texts('useful_help').get('_iplocalise__short')) + @commandExtra(name='iplocalise', category='network') 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 @@ -147,9 +145,7 @@ class Useful(commands.Cog): ########################################################################### - @commandExtra(name='getheaders', category='network', - description=Texts('useful_help').get('_getheaders'), - help=Texts('useful_help').get('_getheaders__short')) + @commandExtra(name='getheaders', category='network') async def _getheaders(self, ctx: commands.Context, addr: str): if (addr.startswith('http') or addr.startswith('ftp')) is not True: addr = f"http://{addr}" @@ -179,10 +175,7 @@ class Useful(commands.Cog): ########################################################################### - @commandExtra(name='git', aliases=['sources', 'source', 'github'], - category='misc', - description=Texts('useful_help').get('_git'), - help=Texts('useful_help').get('_git__short')) + @commandExtra(name='git', aliases=['sources', 'source', 'github'], category='misc') async def _git(self, ctx): e = discord.Embed( title=Texts('useful', ctx).get('git repo'), @@ -197,9 +190,7 @@ class Useful(commands.Cog): ########################################################################### - @commandExtra(name='quote', category='misc', - description=Texts('useful_help').get('_quote'), - help=Texts('useful_help').get('_quote__short')) + @commandExtra(name='quote', category='misc') async def _quote(self, ctx, message_id: discord.Message): e = discord.Embed( colour=message_id.author.colour, @@ -221,9 +212,7 @@ class Useful(commands.Cog): ########################################################################### - @commandExtra(name='ping', category='network', - description=Texts('useful_help').get('_ping'), - help=Texts('useful_help').get('_ping__short')) + @commandExtra(name='ping', category='network') async def _ping(self, ctx: commands.Context): start = time.perf_counter() await ctx.trigger_typing() @@ -241,9 +230,7 @@ class Useful(commands.Cog): ########################################################################### - @commandExtra(name='info', aliases=['about'], category='misc', - description=Texts('useful_help').get('_info'), - help=Texts('useful_help').get('_info__short')) + @commandExtra(name='info', aliases=['about'], category='misc') async def _info(self, ctx: commands.Context): proc = psutil.Process() total, python = self.fetch_info() @@ -326,10 +313,7 @@ class Useful(commands.Cog): ########################################################################### - @commandExtra(name='credits', aliases=['contributors', 'authors'], - category='misc', - description=Texts('useful_help').get('_credits'), - help=Texts('useful_help').get('_credits__short')) + @commandExtra(name='credits', aliases=['contributors', 'authors'], category='misc') async def _credits(self, ctx: commands.Context): e = discord.Embed( title=Texts('useful', ctx).get('Contributors'), @@ -353,18 +337,12 @@ class Useful(commands.Cog): await ctx.send(embed=e) ########################################################################### - @groupExtra(name='cb', aliases=['cc'], - category='misc', - description=Texts('useful_help').get('_cb'), - help=Texts('useful_help').get('_cb__short')) + @groupExtra(name='cb', aliases=['cc'], category='misc') async def _cb(self, ctx: commands.Context): if ctx.invoked_subcommand is None: await ctx.send_help('cb') - @_cb.command(name='validate', aliases=['valid', 'correct'], - category='misc', - description=Texts('useful_help').get('_cb_validate'), - help=Texts('useful_help').get('_cb_validate__short')) + @_cb.command(name='validate', aliases=['valid', 'correct'], category='misc') async def _cb_validate(self, ctx: commands.Context, *, number: int): valid = self.luhn_checker(number) @@ -378,10 +356,7 @@ class Useful(commands.Cog): ) ) - @_cb.command(name='generate', aliases=['new', 'get'], - category='misc', - description=Texts('useful_help').get('_cb_generate'), - help=Texts('useful_help').get('_cb_generate__short')) + @_cb.command(name='generate', aliases=['new', 'get'], category='misc') async def _cb_generate(self, ctx: commands.Context): number = random.randint(4000_0000_0000_0000, 5999_9999_9999_9999) while not self.luhn_checker(number): diff --git a/cogs/User.py b/cogs/User.py index 8ed7578..c883b63 100644 --- a/cogs/User.py +++ b/cogs/User.py @@ -19,16 +19,12 @@ class User(commands.Cog): ########################################################################### - @groupExtra(name='alias', aliases=['aliases'], category='alias', - description=Texts('user_help').get('_alias'), - help=Texts('user_help').get('_alias__short')) + @groupExtra(name='alias', aliases=['aliases'], category='alias') 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'), - help=Texts('user_help').get('_alias_add__short')) + @_alias.command(name='add', aliases=['set', 'new']) async def _alias_add(self, ctx: commands.Context, *, user_alias: str): is_global = False if '--global' in user_alias: @@ -55,15 +51,11 @@ class User(commands.Cog): self.bot.database.session.add(alias) self.bot.database.session.commit() - @_alias.command(name='remove', aliases=['drop', 'del', 'delete'], - description=Texts('user_help').get('_alias_remove'), - help=Texts('user_help').get('_alias_remove__short')) + @_alias.command(name='remove', aliases=['drop', 'del', 'delete']) async def _alias_remove(self, ctx: commands.Context, prefix: str): ... - @_alias.command(name='list', aliases=['show', 'all'], - description=Texts('user_help').get('_alias_list'), - help=Texts('user_help').get('_alias_list__short')) + @_alias.command(name='list', aliases=['show', 'all']) async def _alias_list(self, ctx: commands.Context): ... diff --git a/database.py b/database.py new file mode 100644 index 0000000..57a83e8 --- /dev/null +++ b/database.py @@ -0,0 +1,28 @@ +from utils import Config +from utils.models import Base +from utils import Database +from utils.models.lang import LangModel +import argparse + +parser = argparse.ArgumentParser() +parser.add_argument("-m", "--migrate", action="store_true") +parser.add_argument("-s", "--seed", action="store_true") +args = parser.parse_args() + +database = Database(Config("./configs/config.cfg")) + +if args.migrate: + print("Migrate...") + Base.metadata.create_all(database.engine) + print("Done!") + +if args.seed: + print('Seeding...') + default = LangModel(key="default", value="fr") + available = LangModel(key="available", value="fr,en") + + database.session.add(default) + database.session.add(available) + + database.session.commit() + print("Done!") diff --git a/migrate.py b/migrate.py deleted file mode 100644 index cec7eba..0000000 --- a/migrate.py +++ /dev/null @@ -1,6 +0,0 @@ -from utils import Config -from utils import Database - -database = Database(Config("./configs/config.cfg")) - -Base.metadata.create_all(database.engine) diff --git a/utils/functions/extra.py b/utils/functions/extra.py index 2ac9372..318ab04 100644 --- a/utils/functions/extra.py +++ b/utils/functions/extra.py @@ -5,8 +5,6 @@ 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): @@ -17,9 +15,6 @@ 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): return commands.group(*args, **kwargs, cls=GroupPlus) diff --git a/utils/locales/en/LC_MESSAGES/help.po b/utils/locales/en/LC_MESSAGES/help.po index 5b051aa..6e63ec3 100644 --- a/utils/locales/en/LC_MESSAGES/help.po +++ b/utils/locales/en/LC_MESSAGES/help.po @@ -16,7 +16,7 @@ msgstr "" msgid 'main_page.description' -msgstr "Made by {}\nWhen using commands, <> means a required argument and [] means an optional argument.\n***(These symbols shouldn't be written)***" +msgstr "When using commands, **<>** means a **required argument** and **[]** means an **optional** argument.\n***(Don't type these symbols!)***" msgid 'main_page.commands' msgstr 'Commands' diff --git a/utils/locales/fr/LC_MESSAGES/admin_help.po b/utils/locales/fr/LC_MESSAGES/admin_help.po index d65bfd9..0df3a5b 100644 --- a/utils/locales/fr/LC_MESSAGES/admin_help.po +++ b/utils/locales/fr/LC_MESSAGES/admin_help.po @@ -19,7 +19,7 @@ msgstr "" ########################################################################### msgid '_say' -msgstr 'Permet de faire en sorte que le TuxBot envoi votre message' +msgstr 'Permet de faire en sorte que le TuxBot envoie votre message' msgid '_say__short' msgstr 'Faire parler TuxBot' @@ -161,13 +161,13 @@ msgstr '[sous-commande]' ########################################################################### -msgid '_warn_new' +msgid '_warn_add' msgstr "Permet d'ajouter un avertissement à un membre en donnant une raison" -msgid '_warn_new__short' +msgid '_warn_add__short' msgstr 'Ajouter un avertissement a un membre' -msgid '_warn_new__usage' +msgid '_warn_add__usage' msgstr ' ' ########################################################################### @@ -257,7 +257,7 @@ msgid '_prefix_list' msgstr "Permet d'afficher tous les prefixes définis pour ce serveur" msgid '_prefix_list__short' -msgstr 'Lister les prefixes pour ce servuer' +msgstr 'Lister les prefixes pour ce serveur' msgid '_prefix_list__usage' msgstr '⠀' diff --git a/utils/locales/fr/LC_MESSAGES/help.po b/utils/locales/fr/LC_MESSAGES/help.po index 633de1b..232f3a3 100644 --- a/utils/locales/fr/LC_MESSAGES/help.po +++ b/utils/locales/fr/LC_MESSAGES/help.po @@ -16,7 +16,7 @@ msgstr "" msgid 'main_page.description' -msgstr "Créé par {}\nLorsque vous utilisez les commandes, <> correspond à un argument obligatoire et [] à un argument optionnel.\n***(Vous ne devez pas écrire ces symboles)***" +msgstr "Lorsque vous utilisez les commandes, **<>** correspond à un argument **obligatoire** et **[]** à un argument **optionnel**.\n***(N'écrivez pas ces symboles!)***" msgid 'main_page.commands' msgstr 'Commandes' diff --git a/utils/locales/fr/LC_MESSAGES/logs_help.po b/utils/locales/fr/LC_MESSAGES/logs_help.po index 350f6c7..12ddb52 100644 --- a/utils/locales/fr/LC_MESSAGES/logs_help.po +++ b/utils/locales/fr/LC_MESSAGES/logs_help.po @@ -16,4 +16,4 @@ msgstr "" msgid "_uptime__short" -msgstr "Retourne depuis quand le bot est en ligne." \ No newline at end of file +msgstr "Retourne depuis quand TuxBot est en ligne." \ No newline at end of file diff --git a/utils/locales/fr/LC_MESSAGES/poll_help.po b/utils/locales/fr/LC_MESSAGES/poll_help.po index cdc6fcd..f379622 100644 --- a/utils/locales/fr/LC_MESSAGES/poll_help.po +++ b/utils/locales/fr/LC_MESSAGES/poll_help.po @@ -15,3 +15,26 @@ msgstr "" "Generated-By: pygettext.py 1.5\n" +########################################################################### +########################## POLLS ##################################### +########################################################################### + +msgid '_poll' +msgstr "Affiche l'aide relative a la commande `sondage`" + +msgid '_poll__short' +msgstr "Afficher l'aide pour `sondage`" + +msgid '_poll__usage' +msgstr '[sous-commande]' + +########################################################################### + +msgid '_poll_create' +msgstr "Créez un sondage basé sur les réactions ! *(**BETA!** ajoutez `--anonyme` pour rendre les réponses anonymes)*" + +msgid '_poll_create__short' +msgstr 'Créer un sondage' + +msgid '_poll_create__usage' +msgstr ' | | | [réponse C] | [réponse D] | [...]' diff --git a/venv/bin/activate b/venv/bin/activate index 3f4bf1c..88bea70 100644 --- a/venv/bin/activate +++ b/venv/bin/activate @@ -37,7 +37,7 @@ deactivate () { # unset irrelevant variables deactivate nondestructive -VIRTUAL_ENV="/home/romain/gnousEU/rm-dev01/tuxbot-bot/venv" +VIRTUAL_ENV="/home/romain/jetbrains/IDEs/PycharmProjects/gnousEU/discord/tuxbot-bot/venv" export VIRTUAL_ENV _OLD_VIRTUAL_PATH="$PATH" diff --git a/venv/bin/activate.csh b/venv/bin/activate.csh index 98060ea..d233f57 100644 --- a/venv/bin/activate.csh +++ b/venv/bin/activate.csh @@ -8,7 +8,7 @@ alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PA # Unset irrelevant variables. deactivate nondestructive -setenv VIRTUAL_ENV "/home/romain/gnousEU/rm-dev01/tuxbot-bot/venv" +setenv VIRTUAL_ENV "/home/romain/jetbrains/IDEs/PycharmProjects/gnousEU/discord/tuxbot-bot/venv" set _OLD_VIRTUAL_PATH="$PATH" setenv PATH "$VIRTUAL_ENV/bin:$PATH" diff --git a/venv/bin/activate.fish b/venv/bin/activate.fish index 4963b20..09228da 100644 --- a/venv/bin/activate.fish +++ b/venv/bin/activate.fish @@ -29,7 +29,7 @@ end # unset irrelevant variables deactivate nondestructive -set -gx VIRTUAL_ENV "/home/romain/gnousEU/rm-dev01/tuxbot-bot/venv" +set -gx VIRTUAL_ENV "/home/romain/jetbrains/IDEs/PycharmProjects/gnousEU/discord/tuxbot-bot/venv" set -gx _OLD_VIRTUAL_PATH $PATH set -gx PATH "$VIRTUAL_ENV/bin" $PATH diff --git a/venv/bin/chardetect b/venv/bin/chardetect index 42fff1b..770ee2d 100755 --- a/venv/bin/chardetect +++ b/venv/bin/chardetect @@ -1,8 +1,10 @@ -#!/home/romain/gnousEU/rm-dev01/tuxbot-bot/venv/bin/python +#!/home/romain/jetbrains/IDEs/PycharmProjects/gnousEU/discord/tuxbot-bot/venv/bin/python # -*- coding: utf-8 -*- import re import sys + from chardet.cli.chardetect import main + if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) sys.exit(main()) diff --git a/venv/bin/easy_install b/venv/bin/easy_install index de4c6b6..a6d276f 100755 --- a/venv/bin/easy_install +++ b/venv/bin/easy_install @@ -1,4 +1,4 @@ -#!/home/romain/gnousEU/rm-dev01/tuxbot-bot/venv/bin/python +#!/home/romain/jetbrains/IDEs/PycharmProjects/gnousEU/discord/tuxbot-bot/venv/bin/python # -*- coding: utf-8 -*- import re import sys diff --git a/venv/bin/import_expression b/venv/bin/import_expression index 0268679..f271788 100755 --- a/venv/bin/import_expression +++ b/venv/bin/import_expression @@ -1,8 +1,10 @@ -#!/home/romain/gnousEU/rm-dev01/tuxbot-bot/venv/bin/python +#!/home/romain/jetbrains/IDEs/PycharmProjects/gnousEU/discord/tuxbot-bot/venv/bin/python # -*- coding: utf-8 -*- import re import sys + from import_expression.__main__ import main + if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) sys.exit(main()) diff --git a/venv/bin/pip b/venv/bin/pip index 6b21959..b322f3b 100755 --- a/venv/bin/pip +++ b/venv/bin/pip @@ -1,4 +1,4 @@ -#!/home/romain/gnousEU/rm-dev01/tuxbot-bot/venv/bin/python +#!/home/romain/jetbrains/IDEs/PycharmProjects/gnousEU/discord/tuxbot-bot/venv/bin/python # -*- coding: utf-8 -*- import re import sys diff --git a/venv/bin/pip3 b/venv/bin/pip3 index 6b21959..b322f3b 100755 --- a/venv/bin/pip3 +++ b/venv/bin/pip3 @@ -1,4 +1,4 @@ -#!/home/romain/gnousEU/rm-dev01/tuxbot-bot/venv/bin/python +#!/home/romain/jetbrains/IDEs/PycharmProjects/gnousEU/discord/tuxbot-bot/venv/bin/python # -*- coding: utf-8 -*- import re import sys diff --git a/venv/bin/tcp-latency b/venv/bin/tcp-latency index 1818b8f..e843526 100755 --- a/venv/bin/tcp-latency +++ b/venv/bin/tcp-latency @@ -1,8 +1,10 @@ -#!/home/romain/gnousEU/rm-dev01/tuxbot-bot/venv/bin/python +#!/home/romain/jetbrains/IDEs/PycharmProjects/gnousEU/discord/tuxbot-bot/venv/bin/python # -*- coding: utf-8 -*- import re import sys + from tcp_latency.tcp_latency import _main + if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) sys.exit(_main())