Esempio n. 1
0
async def request_role(message, roleset):
    words = message.content.split()[1:]
    if words and isCommand(words[0], roleset):
        words.pop()
    if len(words) == 0:
        return await list_roles(message, roleset)
    elif words[0].lower() == 'none' and roleset != conf.get_object(
            message.server, 'defaultRoleset'):
        await client.remove_roles(
            message.author, *get_roles_to_remove(message.author.server,
                                                 roleset))
        msg = conf.get_string(message.server,
                              'roleClear').format(message.author.mention,
                                                  roleset)
    else:
        try:
            newRole = await change_role(message.author, ' '.join(words),
                                        roleset)
            msg = conf.get_string(message.server,
                                  'roleChange').format(message.author.mention,
                                                       newRole.name)
        except (NameError):
            msg = conf.get_string(message.server, 'invalid' + roleset).format(
                message.author.mention, ' '.join(words))
    msg = generator.fix_articles(msg)
    await client.send_message(message.channel, msg)
Esempio n. 2
0
async def on_member_join(member):
    channel = find_channel(conf.get_object(member.server, 'greetingChannel'),
                           member.server)
    log.debug('{0.name} joined {0.server}'.format(member))
    if conf.get_object(member.server, 'defaultRoleset'):
        role = await random_role(
            member, conf.get_object(member.server, 'defaultRoleset'))
        msg = conf.get_string(member.server,
                              'welcome').format(member.mention, role.name)
    else:
        msg = conf.get_string(member.server, 'welcome').format(member.mention)
    await client.send_message(channel, msg)
Esempio n. 3
0
async def roll_dice(message):
    toRoll = message.content.split()
    results = dice.roll_command(toRoll[1:])
    resultString = ', '.join([str(i) for i in results])
    msg = conf.get_string(message.server,
                          'diceResults').format(message, resultString,
                                                sum(results))
    try:
        await client.send_message(message.channel, msg)
    except discord.errors.HTTPException:
        msg = conf.get_string(message.server,
                              'diceResults').format(message,
                                                    'they show many numbers',
                                                    sum(results))
        await client.send_message(message.channel, msg)
Esempio n. 4
0
async def list_roles(message, roleset):
    roles = [x.name for x in get_roleset(message.server, roleset)]
    roles.sort()
    msg = conf.get_string(message.server,
                          roleset + 'RoleList').format(', '.join(roles))
    await client.send_message(message.channel, msg)

    p = Path('.')
    filename = message.server.id + '_' + roleset + '.png'
    imagePath = p / 'roleImages' / filename
    await client.send_file(message.channel, str(imagePath))
Esempio n. 5
0
async def list_roles(message, roleset):
    roles = [x.name for x in get_roleset(message.server, roleset)]
    roles.sort()
    msg = conf.get_string(message.server,
                          roleset + 'RoleList').format(', '.join(roles))
    try:
        imgurl = conf.get_object(message.server, 'urls', 'roleImage', roleset)
        embed = discord.Embed().set_image(url=imgurl)
        await client.send_message(message.channel, msg, embed=embed)
    except:
        await client.send_message(message.channel, msg)
Esempio n. 6
0
async def rerole(message):
    role = await random_role(message.author,
                             conf.get_object(message.server, 'defaultRoleset'))
    msg = conf.get_string(message.server,
                          'rerole').format(message.author.mention, role.name)
    await client.send_message(message.channel, msg)