async def pardon(cmd): user_data = EwUser(member=cmd.message.author) if user_data.life_state != ewcfg.life_state_kingpin and user_data.life_state != ewcfg.life_state_executive and not cmd.message.author.guild_permissions.administrator: response = "Only the Rowdy F****r {} and the Cop Killer {} can do that.".format( ewcfg.emote_rowdyfucker, ewcfg.emote_copkiller, ewcfg.emote_slimecorp) else: member = None if cmd.mentions_count == 1: member = cmd.mentions[0] if member.id == cmd.message.author.id: member = None if member == None: response = "Who?" else: member_data = EwUser(member=member) member_data.unban(faction=user_data.faction) if member_data.faction == "": response = "{} has been allowed to join the {} again.".format( member.display_name, user_data.faction) else: faction_old = member_data.faction member_data.faction = "" if member_data.life_state == ewcfg.life_state_enlisted: member_data.life_state = ewcfg.life_state_juvenile member_data.weapon = -1 member_data.sidearm = -1 response = "{} has been released from their association with the {}.".format( member.display_name, faction_old) member_poi = poi_static.id_to_poi.get(member_data.poi) if move_utils.inaccessible(user_data=member_data, poi=member_poi): member_data.poi = ewcfg.poi_id_downtown member_data.persist() await ewrolemgr.updateRoles(client=cmd.client, member=member) await fe_utils.send_message( cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response))
async def banish(cmd): user_data = EwUser(member=cmd.message.author) if user_data.life_state != ewcfg.life_state_kingpin and user_data.life_state != ewcfg.life_state_executive and not cmd.message.author.guild_permissions.administrator: response = "Only the Rowdy F****r {} and the Cop Killer {} can do that.".format( ewcfg.emote_rowdyfucker, ewcfg.emote_copkiller) else: member = None if cmd.mentions_count == 1: member = cmd.mentions[0] # >:] # if member.id == cmd.message.author.id: # member = None if member == None: response = "Who?" else: member_data = EwUser(member=member) member_data.ban(faction=user_data.faction) member_data.unvouch(faction=user_data.faction) if member_data.faction == user_data.faction: member_data.faction = "" if member_data.life_state == ewcfg.life_state_enlisted: member_data.life_state = ewcfg.life_state_juvenile member_poi = poi_static.id_to_poi.get(member_data.poi) if move_utils.inaccessible(user_data=member_data, poi=member_poi): member_data.poi = ewcfg.poi_id_downtown member_data.persist() response = "{} has been banned from enlisting in the {}".format( member.display_name, user_data.faction) await ewrolemgr.updateRoles(client=cmd.client, member=member) await fe_utils.send_message( cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response))
async def enlist(cmd): user_data = EwUser(member=cmd.message.author) if user_data.life_state == ewcfg.life_state_shambler: response = "You lack the higher brain functions required to {}.".format(cmd.tokens[0]) return await fe_utils.send_message(cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response)) user_slimes = user_data.slimes time_now = int(time.time()) bans = user_data.get_bans() vouchers = user_data.get_vouchers() if user_data.life_state == ewcfg.life_state_corpse: response = "You're dead, bitch." return await fe_utils.send_message(cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response)) elif ewutils.active_restrictions.get(user_data.id_user) != None and ewutils.active_restrictions.get(user_data.id_user) > 0: response = "You can't do that right now." return await fe_utils.send_message(cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response)) elif user_slimes < ewcfg.slimes_toenlist: response = "You need to mine more slime to rise above your lowly station. ({}/{})".format(user_slimes, ewcfg.slimes_toenlist) return await fe_utils.send_message(cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response)) if cmd.tokens_count > 1: desired_faction = cmd.tokens[1].lower() else: response = "Which faction? Say '{} {}', '{} {}', or '{} {}'.".format(ewcfg.cmd_enlist, ewcfg.faction_killers, ewcfg.cmd_enlist, ewcfg.faction_rowdys, ewcfg.cmd_enlist, ewcfg.faction_slimecorp) return await fe_utils.send_message(cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response)) if desired_faction == ewcfg.faction_killers: if ewcfg.faction_killers in bans: response = "You are banned from enlisting in the {}.".format(ewcfg.faction_killers) return await fe_utils.send_message(cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response)) elif ewcfg.faction_killers not in vouchers and user_data.faction != ewcfg.faction_killers: response = "You need a current gang member's permission to join the {}.".format(ewcfg.faction_killers) return await fe_utils.send_message(cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response)) elif user_data.life_state in [ewcfg.life_state_enlisted, ewcfg.life_state_kingpin] and user_data.faction == ewcfg.faction_killers: response = "You are already enlisted in the {}! Look, your name is purple! Get a clue, idiot.".format(user_data.faction) return await fe_utils.send_message(cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response)) elif user_data.faction == ewcfg.faction_rowdys or user_data.faction == ewcfg.faction_slimecorp: response = "Traitor! You can only {} in the {}, you treacherous cretin. Ask for a {} if you're that weak-willed.".format(ewcfg.cmd_enlist, user_data.faction, ewcfg.cmd_pardon) return await fe_utils.send_message(cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response)) # elif user_data.poi not in [ewcfg.poi_id_copkilltown]: # response = "How do you want to enlist in a gang's forces without even being in their headquarters? Get going to Cop Killtown, bitch." # return await fe_utils.send_message(cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response)) else: response = "Enlisting in the {}.".format(ewcfg.faction_killers) user_data.life_state = ewcfg.life_state_enlisted user_data.faction = ewcfg.faction_killers user_data.time_lastenlist = time_now + ewcfg.cd_enlist for faction in vouchers: user_data.unvouch(faction) user_data.persist() await ewrolemgr.updateRoles(client=cmd.client, member=cmd.message.author) elif desired_faction == ewcfg.faction_rowdys: if ewcfg.faction_rowdys in bans: response = "You are banned from enlisting in the {}.".format(ewcfg.faction_rowdys) return await fe_utils.send_message(cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response)) if ewcfg.faction_rowdys not in vouchers and user_data.faction != ewcfg.faction_rowdys: response = "You need a current gang member's permission to join the {}.".format(ewcfg.faction_rowdys) return await fe_utils.send_message(cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response)) elif user_data.life_state in [ewcfg.life_state_enlisted, ewcfg.life_state_kingpin] and user_data.faction == ewcfg.faction_rowdys: response = "You are already enlisted in the {}! Look, your name is pink! Get a clue, idiot.".format(user_data.faction) return await fe_utils.send_message(cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response)) elif user_data.faction == ewcfg.faction_killers or user_data.faction == ewcfg.faction_slimecorp: response = "Traitor! You can only {} in the {}, you treacherous cretin. Ask for a {} if you're that weak-willed.".format(ewcfg.cmd_enlist, user_data.faction, ewcfg.cmd_pardon) return await fe_utils.send_message(cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response)) # elif user_data.poi not in [ewcfg.poi_id_rowdyroughhouse]: # response = "How do you want to enlist in a gang's forces without even being in their headquarters? Get going to the Rowdy Roughhouse, bitch." # return await fe_utils.send_message(cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response)) else: response = "Enlisting in the {}.".format(ewcfg.faction_rowdys) user_data.life_state = ewcfg.life_state_enlisted user_data.faction = ewcfg.faction_rowdys user_data.time_lastenlist = time_now + ewcfg.cd_enlist for faction in vouchers: user_data.unvouch(faction) user_data.persist() await ewrolemgr.updateRoles(client=cmd.client, member=cmd.message.author) elif desired_faction == ewcfg.faction_slimecorp: response = "Sorry, pal. That ship has sailed." return await fe_utils.send_message(cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response)) else: response = "That's not a valid gang you can enlist in, bitch." # Send the response to the player. await fe_utils.send_message(cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response))
async def defect(cmd): accepted = False member = cmd.message.author modauth = 0 response = "You feel...traitor-ish today. Hey mods, any takers? Let them free, !yes or !no?" await fe_utils.send_message( cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response)) try: message = await cmd.client.wait_for( 'message', timeout=30, check=lambda message: 0 < ewrolemgr.checkClearance( member=message.author) <= 4 and message.content.lower( ) in [ewcfg.cmd_yes, ewcfg.cmd_no]) if message != None: if message.content.lower() == ewcfg.cmd_yes: accepted = True modauth = message.author if message.content.lower() == ewcfg.cmd_no: accepted = False except Exception as e: print(e) accepted = False if not accepted: response = "Well if it isn't the boy who cried backstab. Guess you won't be going anywhere." return await fe_utils.send_message( cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response)) else: member_data = EwUser(member=cmd.message.author) mod_data = EwUser(member=modauth) member_data.unban(faction=mod_data.faction) if member_data.faction == "": response = "{} has been allowed to join the {} again.".format( member.display_name, mod_data.faction) else: faction_old = member_data.faction member_data.faction = "" if member_data.life_state == ewcfg.life_state_enlisted: member_data.life_state = ewcfg.life_state_juvenile member_data.weapon = -1 member_data.sidearm = -1 response = "{} has been released from their association with the {}.".format( member.display_name, faction_old) member_poi = poi_static.id_to_poi.get(member_data.poi) if move_utils.inaccessible(user_data=member_data, poi=member_poi): member_data.poi = ewcfg.poi_id_downtown member_data.persist() await ewrolemgr.updateRoles(client=cmd.client, member=member) leak_channel = fe_utils.get_channel(server=cmd.guild, channel_name='squickyleaks') await fe_utils.send_message( cmd.client, leak_channel, "{}: Let {} defect.".format(modauth.display_name, member.display_name)) await fe_utils.send_message( cmd.client, cmd.message.channel, fe_utils.formatMessage(cmd.message.author, response))