예제 #1
0
async def greetpm(cmd, message, args):
    if not check_admin(message.author, message.channel):
        out_content = discord.Embed(
            type='rich',
            color=0xDB0000,
            title=':no_entry: Insufficient Permissions. Server Admin Only.')
        await cmd.bot.send_message(message.channel, None, embed=out_content)
    else:
        active = cmd.db.get_settings(message.server.id, 'GreetPM')
        if active:
            cmd.db.set_settings(message.server.id, 'GreetPM', False)
            out_content = discord.Embed(color=0x33CC33)
            out_content.add_field(
                name=':white_check_mark: Success',
                value='Greeting via private message has been disabled.')
            await cmd.bot.send_message(message.channel,
                                       None,
                                       embed=out_content)
        else:
            cmd.db.set_settings(message.server.id, 'GreetPM', True)
            out_content = discord.Embed(color=0x33CC33)
            out_content.add_field(
                name=':white_check_mark: Success',
                value='Greeting via private message has been enabled.')
            await cmd.bot.send_message(message.channel,
                                       None,
                                       embed=out_content)
예제 #2
0
async def enablemodule(cmd, message, args):
    
    if not args:
        await message.channel.send(cmd.help()); 
        return

    if not check_admin(message.author, message.channel):
        response = discord.Embed(title='⛔ Unpermitted. Server Admin Only.', color=0xDB0000)
        await message.channel.send(cmd.help()); 
        return

    mdl_name = args[0].lower()

    if mdl_name not in cmd.bot.module_list:
        response = discord.Embed(color=0x696969, title='🔍 Module Not Found')
        await message.channel.send(cmd.help()); 
        return
        
    perms = get_all_perms(cmd.db, message)
    disabled_modules = perms['DisabledModules']

    if mdl_name not in disabled_modules:
        response = discord.Embed(color=0xFF9900, title='⚠ Module Not Disabled')
        await message.channel.send(cmd.help()); 
        return
                   
    disabled_modules.remove(mdl_name)
    perms.update({'DisabledModules': disabled_modules})
    cmd.db.update_one('Permissions', {'ServerID': message.guild.id}, {'$set': perms})
                    
    response = discord.Embed(color=0x66CC66, title=f'✅ `{mdl_name.upper()}` enabled.')                  
    await message.channel.send(embed=response)
예제 #3
0
def check_perms(db, message, command):
    if message.guild:
        if not check_admin(
                message.author,
                message.channel) and message.author.id not in permitted_id:
            perms = db.find_one('Permissions', {'ServerID': message.guild.id})
            if not perms:
                permitted = True
            else:
                cmd = command.name
                mdl = command.plugin.categories[0]
                ath = message.author
                chn = message.channel
                rls = ath.roles
                if mdl in perms['DisabledModules'] or cmd in perms[
                        'DisabledCommands']:
                    if check_overwrites(perms, ath, chn, rls, cmd, mdl):
                        permitted = True
                    else:
                        permitted = False
                else:
                    permitted = True
        else:
            permitted = True
    else:
        permitted = True
    return permitted
예제 #4
0
async def mentionrole(cmd, message, args):
    if not args:
        await cmd.bot.send_message(message.channel, cmd.help())
        return
    else:
        if check_admin(message.author, message.channel):
            role_input = ' '.join(args)
            out_text = ''
            role_choice = None
            for role in message.server.roles:
                if role.name.lower() == role_input.lower():
                    role_choice = role
            if not role_choice:
                response = await cmd.bot.send_message(message.channel, 'No role by the name ' + role_input + ' was found.')
                await asyncio.sleep(10)
                await cmd.bot.delete_message(response)
                return
            else:
                out_text += 'User <@' + message.author.id + '> has invoked a role mention for the role **' + role_choice.name + '**.\n\n'
                for member in message.server.members:
                    for role in member.roles:
                        if role == role_choice:
                            out_text += '<@' + member.id + '>, '

                await cmd.bot.send_message(message.channel, out_text[:-2])
        else:
            response = await cmd.bot.send_message(message.channel, 
                'Only a user with the **Manage Messages and Manage Roles** privilege can use this command. :x:')
            await asyncio.sleep(10)
            await cmd.bot.delete_message(response)
예제 #5
0
async def loggingchannel(cmd, message, args):

    if not check_admin(message.author, message.channel):
        response = discord.Embed(title='⛔ Unpermitted. Server Admin Only.',
                                 color=0xDB0000)
        await message.channel.send(embed=response)
        return

    if message.channel_mentions:
        target_chn = message.channel_mentions[0]
    elif args:
        if args[0].lower() == 'disable':
            disable = True
        else:
            target_chn = message.channel
    else:
        target_chn = None

    if disable:
        cmd.db.set_settings(message.guild.id, 'LoggingChannel', None)
        response = discord.Embed(color=0x66CC66,
                                 title=f'✅ Logging channel disabled.')
    elif target_chn:
        cmd.db.set_settings(message.guild.id, 'LoggingChannel', target_chn.id)
        response = discord.Embed(
            color=0x66CC66,
            title=f'✅ #{target_chn.name} set as the logging channel.')

    await message.channel.send(embed=response)
예제 #6
0
async def bye(cmd, message, args):
    if not check_admin(message.author, message.channel):
        embed = discord.Embed(
            title=':no_entry: Unpermitted. Server Admin Only.', color=0xDB0000)
    else:
        active = cmd.db.get_settings(message.server.id, 'Bye')
        bye_channel = cmd.db.get_settings(message.server.id, 'ByeChannel')
        if not bye_channel:
            bye_channel = message.server.default_channel.id
        if not active:
            cmd.db.set_settings(message.server.id, 'Bye', True)
            cmd.db.set_settings(message.server.id, 'ByeChannel',
                                message.channel.id)
            embed = discord.Embed(
                color=0x66CC66,
                title=':white_check_mark: Bye Messages Enabled On ' +
                message.channel.name)
        else:
            if message.channel.id == bye_channel:
                cmd.db.set_settings(message.server.id, 'Bye', False)
                embed = discord.Embed(
                    color=0x66CC66,
                    title=':white_check_mark: Bye Messages Disabled')
            else:
                cmd.db.set_settings(message.server.id, 'ByeChannel',
                                    message.channel.id)
                embed = discord.Embed(
                    color=0x66CC66,
                    title=':white_check_mark: Bye Message Channel Changed To '
                    + message.channel.name)
    await cmd.bot.send_message(message.channel, None, embed=embed)
예제 #7
0
async def announcementchannel(cmd, message, args):
    
    if not check_admin(message.author, message.channel):
        # user is no server admin
        embed = discord.Embed(title='⛔ Unpermitted. Server Admin Only.', color=0xDB0000)
        await message.channel.send(None, embed=embed)
        return

    if message.channel_mentions:
        # argument exists and is a channel
        # channel can be written to -> turn on announcements and set channelid
        cmd.db.set_settings(message.guild.id, 'Announcement', True)
        cmd.db.set_settings(message.guild.id, 'AnnouncementChannel', message.channel_mentions[0].id)
        embed = discord.Embed(title='✅ Announcements will be posted to #' + message.channel_mentions[0].name, color=0x66CC66)
    elif len(args) == 0:
        # no argument given, announcements will be turned off
        cmd.db.set_settings(message.guild.id, 'Announcement', False)
        embed = discord.Embed(title='✅ Announcements turned OFF for this server', color=0x66CC66)
        embed.add_field(name='Note:', value='Use "' + Prefix + 'announcementchannel #channel_name" to turn them back on.')
    else:
        # given argument is not a channel
        embed = discord.Embed(title=':x: "' + args[0] + '" is not a channel', color=0xDB0000)
        embed.add_field(name='Note:', value='Enter a channel in this format: "#channel_name" or leave blank to turn announcements off.')
    
    await message.channel.send(None, embed=embed)
예제 #8
0
async def enablecommand(cmd, message, args):
    if args:
        if not check_admin(message.author, message.channel):
            response = discord.Embed(title='⛔ Unpermitted. Server Admin Only.',
                                     color=0xDB0000)
        else:
            cmd_name = args[0].lower()
            if cmd_name in cmd.bot.alts:
                cmd_name = cmd.bot.alts[cmd_name]
            if cmd_name in cmd.bot.plugin_manager.commands:
                perms = get_all_perms(cmd.db, message)
                disabled_commands = perms['DisabledCommands']
                if cmd_name in disabled_commands:
                    disabled_commands.remove(cmd_name)
                    perms.update({'DisabledCommands': disabled_commands})
                    cmd.db.update_one('Permissions',
                                      {'ServerID': message.guild.id},
                                      {'$set': perms})
                    response = discord.Embed(
                        color=0x66CC66,
                        title=f'✅ `{cmd_name.upper()}` enabled.')
                else:
                    response = discord.Embed(color=0xFF9900,
                                             title='⚠ Command Not Disabled')
            else:
                response = discord.Embed(color=0x696969,
                                         title='🔍 Command Not Found')
        await message.channel.send(embed=response)
예제 #9
0
async def greetdelete(cmd, message, args):

    if not check_admin(message.author, message.channel):
        response = discord.Embed(title='⛔ Unpermitted. Server Admin Only.',
                                 color=0xDB0000)
        await message.channel.send(embed=response)
        return

    try:
        del_greet = cmd.db.get_settings(message.guild.id, 'GreetDelete')
    except:
        del_greet = False

    if del_greet:
        enabled = False
        response_title = 'disabled'
    else:
        enabled = True
        response_title = 'enabled'

    cmd.db.set_settings(message.guild.id, 'GreetDelete', enabled)

    response = discord.Embed(
        color=0x66CC66, title=f'Greeting message deletion {response_title}')
    await message.channel.send(embed=response)
예제 #10
0
async def events(cmd, message, args):

    if not check_admin(message.author, message.channel):
        out_content = discord.Embed(
            type='rich',
            color=0xDB0000,
            title=':no_entry: Insufficient Permissions. Server Admin Only.')
        await message.channel.send(None, embed=out_content)
        return

    events_enabled = cmd.db.get_settings(message.guild.id, 'RandomEvents')

    if events_enabled:
        cmd.db.set_settings(message.guild.id, 'RandomEvents', False)
        out_content = discord.Embed(
            type='rich',
            color=0x66cc66,
            title=':white_check_mark: Random Events have been Disabled.')
    else:
        cmd.db.set_settings(message.guild.id, 'RandomEvents', True)
        out_content = discord.Embed(
            type='rich',
            color=0x66cc66,
            title=':white_check_mark: Random Events have been Enabled.')

    await message.channel.send(None, embed=out_content)
예제 #11
0
async def wffissurechannel(cmd, message, args):
    if check_admin(message.author, message.channel):
        if message.channel_mentions:
            target_channel = message.channel_mentions[0]
        else:
            if args:
                if args[0].lower() == 'disable':
                    cmd.db.set_settings(message.guild.id,
                                        'WarframeFissureChannel', None)
                    response = discord.Embed(
                        title=f'✅ Warframe Void Fissure Channel Disabled',
                        color=0x66CC66)
                    await message.channel.send(embed=response)
                    return
                else:
                    return
            else:
                target_channel = message.channel
        cmd.db.set_settings(message.guild.id, 'WarframeFissureChannel',
                            target_channel.id)
        response = discord.Embed(
            title=
            f'✅ Warframe Void Fissure Channel set to #{target_channel.name}',
            color=0x66CC66)
    else:
        response = discord.Embed(title='⛔ Unpermitted. Server Admin Only.',
                                 color=0xDB0000)
    await message.channel.send(embed=response)
예제 #12
0
async def greetpm(cmd, message, args):

    if not check_admin(message.author, message.channel):
        out_content = discord.Embed(
            type='rich',
            color=0xDB0000,
            title='⛔ Insufficient Permissions. Server Admin Only.')
        await message.channel.send(None, embed=out_content)
        return

    out_content = discord.Embed(color=0x33CC33)

    active = cmd.db.get_settings(message.guild.id, 'GreetPM')
    if active:
        cmd.db.set_settings(message.guild.id, 'GreetPM', False)
        out_content.add_field(
            name='✅ Success',
            value='Greeting via private message has been disabled.')
    else:
        cmd.db.set_settings(message.guild.id, 'GreetPM', True)
        out_content.add_field(
            name='✅ Success',
            value='Greeting via private message has been enabled.')

    await message.channel.send(None, embed=out_content)
예제 #13
0
def check_black(db, message):
    black_channel = False
    black_user = False
    server_is_black = False
    black = False
    global_user_blacklist = db.find_one('BlacklistedUsers',
                                        {'UserID': message.author.id})
    if message.guild:
        if check_admin(message.author, message.channel):
            black = False
        channel_blacklist = db.get_settings(message.guild.id,
                                            'BlacklistedChannels')
        if not channel_blacklist:
            channel_blacklist = []
        user_blacklist = db.get_settings(message.guild.id, 'BlacklistedUsers')
        if not user_blacklist:
            user_blacklist = []
        if message.author.id in user_blacklist or global_user_blacklist:
            black_user = True
        if message.channel.id in channel_blacklist:
            black_channel = True
        server_is_black = db.get_settings(message.guild.id, 'IsBlacklisted')
    if message.author.id not in permitted_id:
        if black_channel or black_user or server_is_black:
            black = True
    return black
예제 #14
0
async def unpermitrole(cmd, message, args):
    if args:
        if len(args) >= 2:
            if not check_admin(message.author, message.channel):
                response = discord.Embed(title='⛔ Unpermitted. Server Admin Only.', color=0xDB0000)
            else:
                target_name = args[1]
                target = matching_role(message.guild, target_name)
                if target:
                    error_response = discord.Embed(color=0xDB0000, title='❗ Bad Input')
                    try:
                        perm_mode, cmd_name = args[0].split(':')
                    except:
                        await message.channel.send(embed=error_response)
                        return
                    cmd_name = cmd_name.lower()
                    perm_mode = perm_mode.lower()
                    if perm_mode == 'c':
                        exception_group = 'CommandExceptions'
                        check_group = cmd.bot.plugin_manager.commands
                        check_alts = True
                    elif perm_mode == 'm':
                        exception_group = 'ModuleExceptions'
                        check_group = cmd.bot.module_list
                        check_alts = False
                    else:
                        await message.channel.send(embed=error_response)
                        return
                    if check_alts:
                        if cmd_name in cmd.bot.alts:
                            cmd_name = cmd.bot.alts[cmd_name]
                    if cmd_name in check_group:
                        perms = get_all_perms(cmd.db, message)
                        cmd_exc = perms[exception_group]
                        if cmd_name in perms[exception_group]:
                            inner_exc = cmd_exc[cmd_name]
                        else:
                            inner_exc = generate_cmd_data(cmd_name)[cmd_name]
                        exc_usrs = inner_exc['Roles']
                        if target.id in exc_usrs:
                            exc_usrs.remove(target.id)
                            inner_exc.update({'Roles': exc_usrs})
                            cmd_exc.update({cmd_name: inner_exc})
                            perms.update({exception_group: cmd_exc})
                            cmd.db.update_one('Permissions', {'ServerID': message.guild.id}, {'$set': perms})
                            response = discord.Embed(color=0x66CC66,
                                                     title=f'✅ `{target.name}` can no longer use `{cmd_name}`.')
                        else:
                            response = discord.Embed(color=0xFF9900,
                                                     title=f'⚠ {target.name} is not able to use `{cmd_name}`')
                    else:
                        response = discord.Embed(color=0x696969, title='🔍 Command/Module Not Found')
                else:
                    response = discord.Embed(color=0x696969, title=f'🔍 No {target_name} Role Found')
        else:
            response = discord.Embed(color=0xDB0000, title='❗ Not Enough Arguments')
    else:
        response = discord.Embed(color=0xDB0000, title='❗ Not Arguments Given')
    await message.channel.send(embed=response)
예제 #15
0
async def shopadd(cmd, message, args):
    if not check_admin(message.author, message.channel):
        status = discord.Embed(
            type='rich',
            color=0xDB0000,
            title='⛔ Insufficient Permissions. Server Admin Only.')
        await message.channel.send(None, embed=status)
        return
    if not args:
        status = discord.Embed(type='rich',
                               color=0xDB0000,
                               title='❗ Insufficient Arguments.')
        await message.channel.send(None, embed=status)
        return
    if len(args) < 2:
        status = discord.Embed(type='rich',
                               color=0xDB0000,
                               title='❗ Insufficient Arguments.')
        await message.channel.send(None, embed=status)
        return
    price = args[0]
    role_name = ' '.join(args[1:])
    rtrl = matching_role(message.guild, role_name)
    if not rtrl:
        status = discord.Embed(type='rich',
                               color=0xDB0000,
                               title='❗ The Role ' + role_name +
                               ' was not found on the server.')
        await message.channel.send(None, embed=status)
        return
    role_data = {
        'RoleName': rtrl.name,
        'RoleID': rtrl.id,
        'RoleColor': str(rtrl.color),
        'Price': price
    }
    shop_list = cmd.db.get_settings(message.guild.id, 'ShopItems')
    if not shop_list:
        cmd.db.set_settings(message.guild.id, 'ShopItems', [])
        shop_list = []
    found = False
    for item in shop_list:
        if item['RoleID'] == rtrl.id:
            found = True
            status = discord.Embed(type='rich',
                                   color=0xFF9900,
                                   title='⚠ The Role ' + rtrl.name +
                                   ' is already in the shop.')
            await message.channel.send(None, embed=status)
            break
    if found == 0:
        shop_list.append(role_data)
        cmd.db.set_settings(message.guild.id, 'ShopItems', shop_list)
        status = discord.Embed(type='rich',
                               color=0x66CC66,
                               title='✅ ' + rtrl.name +
                               ' has been added to the shop.')
        await message.channel.send(None, embed=status)
예제 #16
0
async def shopremove(cmd, message, args):

    if not check_admin(message.author, message.channel):
        status = discord.Embed(
            type='rich',
            color=0xDB0000,
            title='⛔ Insufficient Permissions. Server Admin Only.')
        await message.channel.send(None, embed=status)
        return

    if not args:
        status = discord.Embed(type='rich',
                               color=0xDB0000,
                               title='❗ Insufficient Arguments.')
        await message.channel.send(None, embed=status)
        return

    role_name = ' '.join(args)
    rtrl = matching_role(message.guild, role_name)
    shop_list = cmd.db.get_settings(str(message.guild.id), 'ShopItems')

    if not rtrl:
        for item in shop_list:
            if item['RoleName'].lower() != role_name.lower(): continue

            shop_list.remove(item)
            status.set_footer(
                text='It was found in the shop however, and removed.')
            cmd.db.set_settings(str(message.guild.id), 'ShopItems', shop_list)
            break

        status = discord.Embed(type='rich',
                               color=0xDB0000,
                               title='❗ The Role ' + role_name +
                               ' was not found on the server.')
        await message.channel.send(None, embed=status)
        return

    for item in shop_list:
        if item['RoleID'] != rtrl.id: continue
        shop_list.remove(item)
        cmd.db.set_settings(str(message.guild.id), 'ShopItems', shop_list)

        status = discord.Embed(type='rich',
                               color=0x66CC66,
                               title='✅ ' + rtrl.name +
                               ' has been removed from the shop.')
        await message.channel.send(None, embed=status)
        return

    status = discord.Embed(type='rich',
                           color=0xFF9900,
                           title='⚠ The Role ' + rtrl.name +
                           ' is not in the shop.')
    await message.channel.send(None, embed=status)
예제 #17
0
파일: greetch.py 프로젝트: Blitzfrog/Sickle
async def greetch(cmd, message, args):
    if not check_admin(message.author, message.channel):
        embed = discord.Embed(title='⛔ Unpermitted. Server Admin Only.', color=0xDB0000)
    else:
        if message.channel_mentions:
            target_channel = message.channel_mentions[0]
        else:
            target_channel = message.channel
        cmd.db.set_settings(message.server.id, 'GreetChannel', target_channel.id)
        embed = discord.Embed(color=0x66CC66, title=f'✅ Greeting Channel Changed To {target_channel.name}')
    await cmd.bot.send_message(message.channel, None, embed=embed)
예제 #18
0
async def invite_blocker(ev, message, args):
    if message.guild:
        if not check_admin(message.author, message.channel):
            if 'discord.gg' in message.content:
                active = ev.db.get_settings(message.guild.id, 'BlockInvites')
                if active:
                    try:
                        await message.delete()
                    except Exception as e:
                        ev.log.error(e)
                else:
                    return
예제 #19
0
async def sfiexec(ev, message, args):

    if 'discord.gg' not in message.content: return
    if check_admin(message.author, message.channel): return

    active = ev.db.get_settings(message.guild.id, 'BlockInvites')
    if not active: return

    try:
        await message.delete()
    except Exception as e:
        ev.log.error(e)
예제 #20
0
async def nsfwpermit(cmd, message, args):
    channel = message.channel

    if check_admin(message.author, channel):
        if set_channel_nsfw(cmd.db, channel.id):
            await cmd.bot.send_message(message.channel, 'The NSFW Module has been Enabled for <#' + channel.id + '>! :eggplant:')
        else:
            await cmd.bot.send_message(message.channel, 'Permission reverted to **Disabled**! :fire:')
    else:
        response = await cmd.bot.send_message(message.channel, 'Only an **Administrator** can manage permissions. :x:')
        await asyncio.sleep(10)
        await cmd.bot.delete_message(response)
예제 #21
0
async def ignoreuser(cmd, message, args):
    if check_admin(message.author, message.channel):
        target = None
        if not args:
            await cmd.bot.send_message(message.channel, cmd.help())
            return
        if message.mentions:
            target = message.mentions[0]
        else:
            for user in message.server.members:
                if user.id == args[0]:
                    target = user
                    break
                elif user.name.lower() == args[0].lower():
                    target = user
                    break
        if not target:
            embed = discord.Embed(
                color=0x696969,
                title=
                ':notebook: No channel like that was found on this server.')
        else:
            if target == message.author:
                embed = discord.Embed(
                    title=':warning: You Can\'t Blacklist Yourself',
                    color=0xFF9900)
                await cmd.bot.send_message(message.channel, None, embed=embed)
                return
            if target == cmd.bot.user:
                embed = discord.Embed(
                    title=':warning: You Can\'t Blacklist Me', color=0xFF9900)
                await cmd.bot.send_message(message.channel, None, embed=embed)
                return
            black = cmd.db.get_settings(message.server.id, 'BlacklistedUsers')
            if not black:
                black = []
            if target.id in black:
                black.remove(target.id)
                embed = discord.Embed(title=':unlock: ' + target.name +
                                      ' has been un-blacklisted.',
                                      color=0xFF9900)
            else:
                black.append(target.id)
                embed = discord.Embed(title=':lock: ' + target.name +
                                      ' has been blacklisted.',
                                      color=0xFF9900)
            cmd.db.set_settings(message.server.id, 'BlacklistedUsers', black)
    else:
        embed = discord.Embed(
            type='rich',
            color=0xDB0000,
            title=':no_entry: Insufficient Permissions. Server Admin Only.')
    await cmd.bot.send_message(message.channel, None, embed=embed)
예제 #22
0
async def byemsg(cmd, message, args):
    if not args:
        bye_message = cmd.db.get_settings(message.guild.id, 'ByeMessage')
        embed = discord.Embed(color=0x0099FF)
        embed.add_field(name='ℹ Current Bye Message', value='```\n' + bye_message + '\n```')
    else:
        if not check_admin(message.author, message.channel):
            embed = discord.Embed(title='⛔ Unpermitted', color=0xDB0000)
        else:
            new_message = ' '.join(args)
            cmd.db.set_settings(message.guild.id, 'ByeMessage', new_message)
            embed = discord.Embed(title='✅ New Bye Message Set', color=0x66CC66)
    await message.channel.send(None, embed=embed)
예제 #23
0
async def nsfwpermit(cmd, message, args):
    channel = message.channel

    if check_admin(message.author, channel):
        if set_channel_nsfw(cmd.db, channel.id):
            embed = discord.Embed(color=0x9933FF,
                                  title=':eggplant: The NSFW Module has been Enabled for ' + channel.name)
        else:
            embed = discord.Embed(color=0xFF9900, title=':fire: The NSFW Module has been Disabled for ' + channel.name)
    else:
        embed = discord.Embed(type='rich', color=0xDB0000,
                               title='⛔ Insufficient Permissions. Server Admin Only.')
    await message.channel.send(None, embed=embed)
예제 #24
0
async def sfiexec(ev, message, args):
    if 'discord.gg' in message.content:
        if check_admin(message.author, message.channel):
            return
        else:
            active = ev.db.get_settings(message.server.id, 'BlockInvites')
            if active:
                try:
                    await ev.bot.delete_message(message)
                except Exception as e:
                    ev.log.error(e)
            else:
                return
예제 #25
0
async def word_blocker(ev, message, args):
    if message.guild:
        if not check_admin(message.author, message.channel):
            try:
                blacklist = ev.db.get_settings(message.guild.id,
                                               'BlockedWords')
            except:
                ev.db.set_settings(message.guild.id, 'BlockedWords', [])
                blacklist = []
            for word in args:
                if word in blacklist:
                    await message.delete()
                    break
예제 #26
0
async def greetmsg(cmd, message, args):
    if not args:
        greet_message = cmd.db.get_settings(message.server.id, 'GreetMessage')
        embed = discord.Embed(color=0x0099FF)
        embed.add_field(name=':information_source: Current Greet Message', value='```\n' + greet_message + '\n```')
    else:
        if not check_admin(message.author, message.channel):
            embed = discord.Embed(title=':no_entry: Unpermitted', color=0xDB0000)
        else:
            new_message = ' '.join(args)
            cmd.db.set_settings(message.server.id, 'GreetMessage', new_message)
            embed = discord.Embed(title=':white_check_mark: New Greet Message Set', color=0x66CC66)
    await cmd.bot.send_message(message.channel, None, embed=embed)
예제 #27
0
async def shopremove(cmd, message, args):
    if not check_admin(message.author, message.channel):
        status = discord.Embed(
            type='rich',
            color=0xDB0000,
            title=':no_entry: Insufficient Permissions. Server Admin Only.')
        await cmd.bot.send_message(message.channel, None, embed=status)
        return
    if not args:
        status = discord.Embed(type='rich',
                               color=0xDB0000,
                               title=':exclamation: Insufficient Arguments.')
        await cmd.bot.send_message(message.channel, None, embed=status)
        return
    role_name = ' '.join(args)
    rtrl = matching_role(message.server, role_name)
    shop_list = cmd.db.get_settings(message.server.id, 'ShopItems')
    if not rtrl:
        status = discord.Embed(type='rich',
                               color=0xDB0000,
                               title=':exclamation: The Role ' + role_name +
                               ' was not found on the server.')
        for item in shop_list:
            if item['RoleName'].lower() == role_name.lower():
                shop_list.remove(item)
                status.set_footer(
                    text='It was found in the shop however, and removed.')
                cmd.db.set_settings(message.server.id, 'ShopItems', shop_list)
                break
        await cmd.bot.send_message(message.channel, None, embed=status)
        return
    else:
        found = False
        for item in shop_list:
            if item['RoleID'] == rtrl.id:
                found = True
                shop_list.remove(item)
                cmd.db.set_settings(message.server.id, 'ShopItems', shop_list)
                status = discord.Embed(type='rich',
                                       color=0x66CC66,
                                       title=':white_check_mark: ' +
                                       rtrl.name +
                                       ' has been removed from the shop.')
                await cmd.bot.send_message(message.channel, None, embed=status)
                break
        if not found:
            status = discord.Embed(type='rich',
                                   color=0xFF9900,
                                   title=':warning: The Role ' + rtrl.name +
                                   ' is not in the shop.')
            await cmd.bot.send_message(message.channel, None, embed=status)
예제 #28
0
파일: byech.py 프로젝트: valeth/apex-sigma
async def byech(cmd, message, args):
    if not check_admin(message.author, message.channel):
        embed = discord.Embed(title='⛔ Unpermitted. Server Admin Only.',
                              color=0xDB0000)
    else:
        if message.channel_mentions:
            target_channel = message.channel_mentions[0]
        else:
            target_channel = message.channel
        cmd.db.set_settings(message.guild.id, 'ByeChannel', target_channel.id)
        embed = discord.Embed(
            color=0x66CC66,
            title=f'✅ Goodbye Channel Changed To {target_channel.name}')
    await message.channel.send(None, embed=embed)
예제 #29
0
async def autorole(cmd, message, args):
    
    if not check_admin(message.author, message.channel):
        out_content = discord.Embed(type='rich', color=0xDB0000, title='⛔ Insufficient Permissions. Server Admin Only.')
        await message.channel.send(None, embed=out_content)
        return
    
    try: current_role = cmd.db.get_settings(str(message.guild.id), 'AutoRole')
    except KeyError:
        cmd.db.set_settings(str(message.guild.id), 'AutoRole', None)
        current_role = None
    
    if not args:
        if current_role:
            current_role = discord.utils.find(lambda x: x.id == current_role, message.guild.roles)
    
        if current_role:
            out_content = discord.Embed(type='rich', color=0x0099FF, title='ℹ Current Auto Role: ' + current_role.name)
            await message.channel.send(None, embed=out_content)
            return
    
        out_content = discord.Embed(type='rich', color=0x0099FF, title='ℹ No Auto Role Set')
        await message.channel.send(None, embed=out_content)
        return
    
    role_qry = ' '.join(args)
    role_qry_low = role_qry.lower()
    if role_qry_low == 'disable':
        cmd.db.set_settings(str(message.guild.id), 'AutoRole', None)
        out_content = discord.Embed(type='rich', color=0x66CC66, title='✅ Auto Role Disabled and Cleaned.')
        await message.channel.send(None, embed=out_content)
        return
    
    target_role = matching_role(message.guild, role_qry)
    if not target_role:
        out_content = discord.Embed(type='rich', color=0xDB0000, title='❗ Error')
        out_content.add_field(name='Role Not Found', value='I have not found **' + role_qry + '** on this server.')
        await message.channel.send(None, embed=out_content)
        return

    if current_role == target_role.id or current_role == target_role.name:
        out_content = discord.Embed(type='rich', color=0xFF9900, title='⚠ Error')
        out_content.add_field(name='Present Role', value='This Role is already the Auto Role for this server.')
        await message.channel.send(None, embed=out_content)
        return
    
    cmd.db.set_settings(str(message.guild.id), 'AutoRole', target_role.id)
    out_content = discord.Embed(type='rich', color=0x33CC33)
    out_content.add_field(name='✅ Success', value='The role **' + role_qry + '** has been set as the Auto Role.')
    await message.channel.send(None, embed=out_content)
예제 #30
0
async def blockinvites(cmd, message, args):
    if not check_admin(message.author, message.channel):
        embed = discord.Embed(title='⛔ Unpermitted. Server Admin Only.',
                              color=0xDB0000)
    else:
        active = cmd.db.get_settings(message.server.id, 'BlockInvites')
        if active:
            cmd.db.set_settings(message.server.id, 'BlockInvites', False)
            embed = discord.Embed(color=0x66CC66,
                                  title='✅ Invite Blocking Has Been Disabled')
        else:
            cmd.db.set_settings(message.server.id, 'BlockInvites', True)
            embed = discord.Embed(color=0x66CC66,
                                  title='✅ Invite Blocking Has Been Enabled')
    await cmd.bot.send_message(message.channel, None, embed=embed)