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)
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)
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)
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))
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)
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)