def make_active_text(self, server): server = normalize_server_name(server) server_events = EventList(self.events).with_server(server) active_events = server_events.active_only() events_today = server_events.today_only(server) active_special = active_events.in_dungeon_type([DungeonType.Special]) msg = server + " Events - " + datetime.datetime.now( SERVER_TIMEZONES[server]).strftime('%A, %B%e') ongoing_events = active_events.in_length( [EventLength.weekly, EventLength.special]) if ongoing_events: msg += "\n\n" + self.make_active_output('Ongoing Events', ongoing_events) active_dailies_events = active_events.with_length(EventLength.daily) if active_dailies_events: msg += "\n\n" + self.make_daily_output('Daily Dungeons', active_dailies_events) limited_events = events_today.with_length(EventLength.limited) if limited_events: msg += "\n\n" + self.make_full_guerrilla_output( 'Limited Events', limited_events) return msg
async def get_server(self, ctx, user_id, server=None): if server is None: server = self.settings.getDefaultServer(user_id) server = normalize_server_name(server) if server not in SUPPORTED_SERVERS: await ctx.send(inline('Unsupported server: ' + server)) return return server
async def server(self, ctx, server): """Set your default server to one of [NA, EU, JP, KR] This server is used to default the idme command if you don't provide a server. """ server = normalize_server_name(server) if server not in SUPPORTED_SERVERS: await ctx.send(inline('Unsupported server: ' + server)) return self.settings.setDefaultServer(ctx.author.id, server) await ctx.send(inline('Set your default server to: ' + server))
async def clear(self, ctx, server=None): """Deletes your saved profile for a server If no server is provided then all profiles are deleted. """ user_id = ctx.author.id if server is None: self.settings.clearProfile(user_id) await ctx.send(inline('Cleared your profile for all servers')) else: server = normalize_server_name(server) self.settings.clearProfile(user_id, server) await ctx.send(inline('Cleared your profile for ' + server))
def today_only(self, server: str): server_timezone = SERVER_TIMEZONES[normalize_server_name(server)] today = datetime.datetime.now(server_timezone).date() return self.with_func(lambda e: e.open_datetime.astimezone( server_timezone).date() == today)
def with_server(self, *servers): servers = {normalize_server_name(s) for s in servers} return self.with_func(lambda e: e.server in servers)
def with_server(self, server): return self.with_func(lambda e: e.server == normalize_server_name(server))
def make_channel_reg(channel_id, server): server = normalize_server_name(server) return {"channel_id": channel_id, "server": server}