예제 #1
0
 async def WhiteBlack(self, ctx, question):
     """White/Black game"""
     if question == get_random_color():
         if get_lang() == "EN":
             await ctx.send(f'You winner!')
         else:
             await ctx.send(f'Ты выйграл!')
     else:
         if get_lang() == "EN":
             await ctx.send(f'You lose(')
         else:
             await ctx.send(f'Ты проиграл(')
예제 #2
0
 async def on_command_error(self, ctx, error):
     """Returns a command error message"""
     if isinstance(error, commands.MissingRequiredArgument):
         if get_lang() == "EN":
             await ctx.send('Command is not finished.')
         else:
             await ctx.send(f'Команда не дописана')
     elif isinstance(error, commands.CommandNotFound):
         if get_lang() == "EN":
             await ctx.send('Command does not found.')
         else:
             await ctx.send(f'Команда не распознана.')
     else:
         await ctx.send('Command Error.')
예제 #3
0
 async def on_member_update(self, before, after):
     """Notifies about the issuance and withdrawal of a role from a user"""
     if len(before.roles) < len(after.roles):
         for i in after.roles:
             if i not in before.roles:
                 if get_lang() == "EN":
                     await after.send(f'You have been given a role {i}!')
                 else:
                     await after.send(f'Вам выдали роль {i}!')
     elif len(before.roles) > len(after.roles):
         for i in before.roles:
             if i not in after.roles:
                 if get_lang() == "EN":
                     await after.send(f'You were deprived of the role {i}')
                 else:
                     await after.send(f'Вас лишили роли {i}')
예제 #4
0
 async def ban(self, ctx, member: discord.Member, *, reason=None):
     """Ban user"""
     await member.ban(reason=reason)
     if get_lang() == "EN":
         await ctx.send(f'Banned {member.mention}')
     else:
         await ctx.send(f'{member.mention} забанен.')
예제 #5
0
 async def kick(self, ctx, member: discord.Member, *, reason=None):
     """Kick user"""
     await member.kick(reason=reason)
     if get_lang() == "EN":
         await ctx.send(f'Kicked {member.mention}.')
     else:
         await ctx.send(f'{member.mention} был выгнан.')
예제 #6
0
 async def _8ball(self, ctx, *, question):
     """8-ball game"""
     responses = [
         "It is certain (Бесспорно)", "It is decidedly so (Предрешено)",
         "Without a doubt (Никаких сомнений)",
         "Yes — definitely (Определённо да)",
         "You may rely on it (Можешь быть уверен в этом)",
         "As I see it, yes (Мне кажется — «да»)",
         "Most likely (Вероятнее всего)",
         "Outlook good (Хорошие перспективы)",
         "Signs point to yes (Знаки говорят — «да»)", "Yes (Да)",
         "Reply hazy, try again (Пока не ясно, попробуй снова)",
         "Ask again later (Спроси позже)",
         "Better not tell you now (Лучше не рассказывать)",
         "Cannot predict now (Сейчас нельзя предсказать)",
         "Concentrate and ask again (Сконцентрируйся и спроси опять)",
         "Don’t count on it (Даже не думай)",
         "My reply is no (Мой ответ — «нет»)",
         "My sources say no (По моим данным — «нет»)",
         "Outlook not so good (Перспективы не очень хорошие)",
         "Very doubtful (Весьма сомнительно)"
     ]
     if get_lang() == "EN":
         await ctx.send(
             f'Question: {question}\nAnswer: {random.choice(responses)}')
     else:
         await ctx.send(
             f'Вопрос: {question}\nОтвет: {random.choice(responses)}')
예제 #7
0
 async def com(self, ctx):
     """Return all commands"""
     if get_lang() == "EN":
         await ctx.send(
             f'Bot commands:'
             f'\n\t * !ping - You ping,'
             f'\n\t * !8ball question - Ball of predictions,'
             f'\n\t * !clear Qty - Clear chat,'
             f'\n\t * !kick @user - Kick user,'
             f'\n\t * !ban @nickname - Ban user,'
             f'\n\t * !unban nickname#tag - Unban user,'
             f'\n\t * !users - Bot users,'
             f'\n\t * !spam qty message  - spam function,'
             f'\n\t * !wbg - Advice on what to play,'
             f'\n\t * !rg game1 game2 game3 ... gameN - Randomly chooses a game,'
             f'\n\t * !set_lang lang(EN/RU) - Set language,'
             f'\n\t * !wb color(white/black) - Game Black/White,'
             f'\n\t * !com - Bot commands.')
     else:
         await ctx.send(
             f'Bot commands:'
             f'\n\t * !ping - Твой ping,'
             f'\n\t * !8ball вопрос - Предсказывающий шар,'
             f'\n\t * !clear кол-во - Очистить чат,'
             f'\n\t * !kick @пользователь - Выгнать пользователя,'
             f'\n\t * !ban @ник - Заблокировать пользователя,'
             f'\n\t * !unban ник#тег - Разблокировать пользователя,'
             f'\n\t * !users - Пользователи бота,'
             f'\n\t * !spam кол-во сообщение  - Спам функция,'
             f'\n\t * !wbg - Предлагает во что поиграть,'
             f'\n\t * !rg game1 game2 game3 ... gameN - Выбирает случайную игру,'
             f'\n\t * !set_lang язык(EN/RU) - Устанавливает язык,'
             f'\n\t * !wb цвет(white/black) - Игра Черное/Белое,'
             f'\n\t * !com - Команды бота.')
예제 #8
0
 async def users(self, ctx):
     """Return bot users"""
     user = ""
     for i in range(1, len(self.client.users)):
         user += str(self.client.users[i]) + "\n\t"
         if get_lang() == "EN":
             await ctx.send(f'Bot users:\n\t' + str(user))
         else:
             await ctx.send(f'Пользователи бота:\n\t' + str(user))
예제 #9
0
 async def WhatByGame(self, ctx):
     """Function for choice game"""
     responses = [
         "Fortnite", "CS:GO", "GTAV", "GTA:SA", "PUBG", "SAR", "Rust",
         "RDR2", "Assassin's creed", "Call of duty:Warzone"
     ]
     if get_lang() == "EN":
         await ctx.send(f'Play to {random.choice(responses)}.')
     else:
         await ctx.send(f'Поиграй в {random.choice(responses)}.')
예제 #10
0
 async def on_member_join(self, member):
     """Sending a personal message about the bot and issuing a role in the chat."""
     if get_lang() == "EN":
         await member.send(
             f'Welcome {member}! White !help to find out my command.')
     else:
         await member.send(
             f'Добро пожаловать, {member}! Напиши !help чтобы узнать мои команды.'
         )
     role = discord.utils.get(member.guild.roles, id=691321624108073021)
     await member.add_roles(role)
예제 #11
0
    async def unban(self, ctx, *, member):
        """Unban user"""
        banned_users = await ctx.guild.bans()
        member_name, member_discriminator = member.split('#')

        for ban_entry in banned_users:
            user = ban_entry.user

            if (user.name, user.discriminator) == (member_name,
                                                   member_discriminator):
                await ctx.guild.unban(user)
                if get_lang() == "EN":
                    await ctx.send(f'Unbanned {member.mention}')
                else:
                    await ctx.send(f'{member.mention} разбанен.')
예제 #12
0
 async def RandomGame(self, ctx, *, games):
     """Random choice game"""
     if get_lang() == "EN":
         await ctx.send(f'Play to {random.choice(games.split())}.')
     else:
         await ctx.send(f'Поиграй в {random.choice(games.split())}.')