Exemple #1
0
 async def upcoming(self, ctx: commands.Context, date: str = None):
     """
     View upcoming availabilities for a week
     Can optionally specify a date to look up avails for said date
     Input date as: day/month/year
     #STAFF
     """
     if date is None:
         gen_week = [(ctx.guild.get_member(avail.userid).display_name +
                      ":\n" + stamp_to_str(avail.date_start) + " - " +
                      stamp_to_str(avail.date_end))
                     for avail in self.availabilities
                     if (dt.datetime.fromtimestamp(avail.date_start) <
                         dt.datetime.utcnow() + dt.timedelta(weeks=1))]
         await (BotEmbedPaginator(
             ctx,
             pages(numbered(gen_week),
                   n=10,
                   title='Availabilities for this week'))).run()
     else:
         gen_date = [(ctx.guild.get_member(avail.userid).display_name +
                      ":\n" + stamp_to_str(avail.date_start) + " - " +
                      stamp_to_str(avail.date_end))
                     for avail in self.availabilities
                     if (dt.datetime.fromtimestamp(
                         avail.date_start).strftime("%Y-%m-%d") == parse(
                             date, dayfirst=True).strftime("%Y-%m-%d"))]
         await (BotEmbedPaginator(
             ctx,
             pages(
                 numbered(gen_date),
                 n=10,
                 title=
                 f'Availabilities for {parse(date).strftime("%Y-%b-%d")}'))
                ).run()
Exemple #2
0
 async def listfilteredtoken(self, ctx: commands.Context):
     """
     Lists filtered tokens
     #STAFF
     """
     await BotEmbedPaginator(
         ctx,
         pages(numbered(config()["filters"]["token_blacklist"]), 10,
               "Filtered Tokens")).run()
Exemple #3
0
 async def listfilteredwords(self, ctx: commands.Context):
     """
     Lists the filtered words
     #STAFF
     """
     await BotEmbedPaginator(
         ctx,
         pages(numbered(config()["filters"]["word_blacklist"]), 10,
               "Filtered Words")).run()
Exemple #4
0
 async def availabilities(self, ctx: commands.Context, member: discord.Member):
     """
     Shows the availabilities of a user
     #STAFF
     """
     gen = [
         stamp_to_str(avail.date_start) + " - " + stamp_to_str(avail.date_end)
         for avail in self.availabilities if avail.userid == member.id
     ]
     await (BotEmbedPaginator(ctx, pages(numbered(
         gen),
         n=10, title=f'{member.display_name}\'s availabilities'))).run()
Exemple #5
0
 async def liststatus(self, ctx):
     """
     Lists kaede's statuses
     #OWNER
     """
     await BotEmbedPaginator(ctx, pages(numbered(config()["statuses"]), 10, "Statuses")).run()