Пример #1
0
 async def change_guild_language(self, ctx, language: str):
     try:
         await Prison.change_lang(language, ctx.guild.id)
     except TypeError as ex:
         await ctx.send(embed=Embed(title=__("Выбран неправильный язык"),
                                    description=f"```{str(ex)}```"))
         return
     else:
         await ctx.send(
             __("Успешно изменен язык на {language}").format(language))
Пример #2
0
    async def coin(self, ctx, excepted):
        assert excepted in COINS, __("Большой и толстый Хер")

        rand_coin = self.sys_random.randint(0x0, 0x1)
        result = COINS[rand_coin]
        if result != excepted:
            return await ctx.reply(
                __("Посмотрим, что тут у нас, {result}, Ты сдохнешь").format(
                    result=result))

        await ctx.reply(
            __("Посмотрим, что у вас выпало, {result} Поздравляю, вас не трахнут"
               ).format(result=result))
Пример #3
0
    async def show_help(self, _):
        """shows this message"""
        embed = Embed(title='Помощь от Батиной книги')
        messages = []
        for emoji, button in self.buttons.items():
            messages.append(f'{emoji}: {button.action.__doc__}')
        embed.add_field(name=__('Для чего это кнопкочка?'),
                        value='\n'.join(messages),
                        inline=0)
        embed.set_footer(text=__('Ты на странице - {current_page}.').format(
            current_page=self.current_page + 1))
        await self.message.edit(content=None, embed=embed)

        async def go_back_to_current_page():
            await asyncio.sleep(30.0)
            await self.show_page(self.current_page)

        self.bot.loop.create_task(go_back_to_current_page())
Пример #4
0
    async def on_command_error(self, ctx, error):
        errors = commands.errors  # alias

        args_errors = (errors.BadUnionArgument, errors.MissingRequiredArgument,
                       errors.BadArgument, errors.TooManyArguments)

        ignore_errors = (errors.RoleNotFound, errors.CommandNotFound,
                         errors.CommandOnCooldown, errors.ChannelNotFound)

        if isinstance(error, ignore_errors):
            return
        elif isinstance(error, args_errors):
            await ctx.send(
                __("``Argument Error``, Проебался, что то пропустил в аргментах"
                   ))
        elif isinstance(error, commands.NotOwner):
            await ctx.reply(
                embed=Embed(title=__("Доступ запрещен"),
                            description=__("%s, Только Для Оффицеров" %
                                           ctx.command)))
        elif isinstance(error, commands.CommandInvokeError):
            if isinstance(error.original, AssertionError):
                await ctx.reply(error)
            else:
                await ctx.reply(
                    __("Ну что же, у нас проблемки. {error}").format(
                        error=error))
        else:
            await ctx.reply(__("Как ты это Сделал это? %s\n" % error))
            text = __("У нас проблема, в тюрьме: %s, и эта проблема: %s" %
                      (ctx.guild.name, error))
            await self.send_to_owner(text)
Пример #5
0
 def format_commands(self, cog, commands):
     short_doc = cog.description.split(
         '\n',
         1)[0] + '\n' if cog.description else __('Хуй те, а не помощь\n')
     current_count = len(short_doc)
     ending_note = __('+%d нет')
     ending_length = len(ending_note)
     page = []
     for command in commands:
         value = f'``{command.name}``'
         count = len(value) + 1  # The space
         if count + current_count < 800:
             current_count += count
             page.append(value)
         else:
             if current_count + ending_length + 1 > 800:
                 page.pop()
             break
     [cmds_len, page_len] = len(commands), len(page)
     if page_len == cmds_len:
         return short_doc + ' '.join(page)
     hidden = cmds_len - page_len
     return short_doc + ' '.join(page) + '\n' + (ending_note % hidden)
Пример #6
0
 async def format_page(self, menu, cogs):
     prefix = menu.ctx.prefix
     description = f'"{prefix}help <command>" ну что же, документация действий вот здесь, если захочешь найдешь.\n'\
                   f'Поиспользуй это "{prefix}help category" для того что бы не запутатся.\n'
     embed = Embed(title='Категории',
                   description=description,
                   colour=discord.Colour.blurple())
     for cog in cogs:
         commands = self.commands.get(cog)
         if commands:
             value = self.format_commands(cog, commands)
             embed.add_field(name=cog.qualified_name, value=value, inline=1)
     maximum = self.get_max_pages()
     embed.set_footer(text=__('Page {current_page}/{maximum}').format(
         current_page=menu.current_page + 1, maximum=maximum))
     return embed
Пример #7
0
class Debugger(commands.Cog, name='pantry | Кладовка'):
    """
    Использвать для того что бы не копатся в говно коде.

    For not change shit code.
    """
    __slots__ = "bot",

    def __init__(self, bot):
        self.bot = bot

    @commands.command(name="show_logs", help=__("shows last logs"))
    @commands.is_owner()
    async def show_logs(self, ctx, file: str = None):
        if not file:
            last_log_path = log.last_file()
            with open(proj_root / "logs" / last_log_path) as f:
                result = f.read()
            e = Embed(title=last_log_path.name, description=result)
            await ctx.send(embed=e)
            return
        e = Embed(title=file,
                  description="".join(await
                                      log.read_log(proj_root / "logs" / file)))
        await ctx.send(embed=e)

    @commands.group(name="i18n")
    @commands.has_permissions(administrator=True)
    async def change_guild_language(self, ctx, language: str):
        try:
            await Prison.change_lang(language, ctx.guild.id)
        except TypeError as ex:
            await ctx.send(embed=Embed(title=__("Выбран неправильный язык"),
                                       description=f"```{str(ex)}```"))
            return
        else:
            await ctx.send(
                __("Успешно изменен язык на {language}").format(language))
Пример #8
0
 def __init__(self, bot):
     self.bot = bot
     setattr(self, '__doc__', __("Досуг для оффицеров"))