def toss_items(id_user=None, id_server=None, poi=None): if id_user != None and id_server != None and poi != None: inv_toss = bknd_item.inventory(id_user=id_user, id_server=id_server) for stuff in inv_toss: # toss all items out stuffing = EwItem(id_item=stuff.get('id_item')) stuffing.id_owner = poi.id_poi if stuff.get('item_type') == ewcfg.it_food and id_user[ -6:] == ewcfg.compartment_id_fridge: if int(float(stuffing.item_props.get('time_fridged'))) != 0: stuffing.item_props['time_expir'] = str( int(float(stuffing.item_props.get('time_expir'))) + (int(time.time()) - int(float(stuffing.item_props.get('time_fridged'))))) else: stuffing.item_props['time_expir'] = str( int(float(stuffing.item_props.get('time_fridged'))) + 43200) stuffing.time_expir = int( float(stuffing.item_props.get('time_expir'))) stuffing.item_props['time_fridged'] = '0' stuffing.persist()
async def setOffAlarms(id_server=None): ewutils.logMsg('Setting off alarms...') if id_server != None: client = ewutils.get_client() server = client.get_guild(id_server) time_current = EwMarket(id_server=id_server).clock if time_current <= 12: displaytime = str(time_current) ampm = 'am' if time_current > 12: displaytime = str(time_current - 12) ampm = 'pm' if time_current == 24: ampm = "am" elif time_current == 12: ampm = "pm" item_search = "alarm clock set to {}{}".format(displaytime, ampm) item_search_brick = "brick{:02d}".format(time_current) clockinv = item_utils.find_item_all( item_search="alarmclock", id_server=id_server, item_type_filter=ewcfg.it_furniture) brickinv = item_utils.find_item_all( item_search=item_search_brick, id_server=id_server, item_type_filter=ewcfg.it_furniture, search_names=True) for clock in clockinv: isFurnished = False clock_obj = EwItem(id_item=clock.get('id_item')) if clock_obj.item_props.get('furniture_name') == item_search: if "decorate" in clock_obj.id_owner: isFurnished = True clock_user = clock_obj.id_owner.replace("decorate", "") clock_member = server.get_member(user_id=clock_user) if clock_member != None: clock_player = EwUser(member=clock_member) if (isFurnished == False or ("apt" in clock_player.poi and clock_player.visiting == "empty")) and clock_member: try: await fe_utils.send_message( client, clock_member, fe_utils.formatMessage( clock_member, "BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP" )) except: ewutils.logMsg( "failed to send alarm to user {}".format( clock_member.id)) for brick in brickinv: brick_obj = EwItem(id_item=brick.get('id_item')) id_user = brick_obj.id_owner.replace("brickshit", "") print(id_user) brick_user = EwUser(id_server=id_server, id_user=id_user) brick_member = server.get_member(user_id=int(id_user)) poi = poi_static.id_to_poi.get(brick_user.poi) channel_brick = fe_utils.get_channel(server, poi.channel) print('pass1') if brick_member != None: print('pass2') if brick_member: print('pass3') try: await fe_utils.send_message( client, channel_brick, fe_utils.formatMessage( brick_member, "UUUUUUUUUUGGGGGGGGGGGGHHHHHHHHHHH... OOOOOOOOOOOOOOOOOAAAAAAAAAAAAAAAHHHHH th-tunk. You just shit a brick. Congratulations?" )) brick_obj.id_owner = poi.id_poi brick_obj.item_props['furniture_name'] = 'brick' brick_obj.persist() except: ewutils.logMsg( "failed to shit brick on user {}".format( brick_member.id))
async def handle_hourly_events(id_server=None): if id_server != None: client = ewutils.get_client() server = client.get_guild(id_server) time_current = EwMarket(id_server=id_server).clock events = bknd_event.get_world_events(id_server, True) for we_id, we_type in events.items(): if we_type in ewcfg.hourly_events: we = EwWorldEvent(id_event=we_id) if we.event_props.get("time") == str(time_current): # Handle brickshitting code if we_type == ewcfg.event_type_brickshit: brick_obj = EwItem( id_item=we.event_props.get("brick_id")) id_user = brick_obj.id_owner.replace("stomach", "") brick_user = EwUser(id_server=id_server, id_user=id_user) brick_member = server.get_member(user_id=int(id_user)) poi = poi_static.id_to_poi.get(brick_user.poi) channel_brick = fe_utils.get_channel( server, poi.channel) if brick_member: try: await fe_utils.send_message( client, channel_brick, fe_utils.formatMessage( brick_member, "UUUUUUUUUUGGGGGGGGGGGGHHHHHHHHHHH... OOOOOOOOOOOOOOOOOAAAAAAAAAAAAAAAHHHHH th-tunk. You just shit a brick. Congratulations?" )) brick_obj.id_owner = poi.id_poi brick_obj.item_props[ 'furniture_name'] = 'brick' brick_obj.persist() except: ewutils.logMsg( "failed to shit brick on user {}".format( brick_member.id)) else: bknd_event.delete_world_event(we_id) # Handle alarm clock code elif we_type == ewcfg.event_type_alarmclock: clock_obj = EwItem( id_item=we.event_props.get("clock_id")) if "decorate" in clock_obj.id_owner: isFurnished = True clock_user = clock_obj.id_owner.replace("decorate", "") clock_member = server.get_member(user_id=clock_user) if clock_member != None: clock_player = EwUser(member=clock_member) if (isFurnished == False or ("apt" in clock_player.poi and clock_player.visiting == "empty")) and clock_member: try: await fe_utils.send_message( client, clock_member, fe_utils.formatMessage( clock_member, "BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP BLAAAP" )) except: ewutils.logMsg( "failed to send alarm to user {}". format(clock_member.id))