コード例 #1
0
    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
コード例 #2
0
 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
コード例 #3
0
    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))
コード例 #4
0
    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))
コード例 #5
0
 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)
コード例 #6
0
 def with_server(self, *servers):
     servers = {normalize_server_name(s) for s in servers}
     return self.with_func(lambda e: e.server in servers)
コード例 #7
0
 def with_server(self, server):
     return self.with_func(lambda e: e.server == normalize_server_name(server))
コード例 #8
0
def make_channel_reg(channel_id, server):
    server = normalize_server_name(server)
    return {"channel_id": channel_id, "server": server}