Esempio n. 1
0
 def track_message(self, message, page, per_page, pages):
     utils.get_tracker().track_message(
         message.id, {
             "author": self.ctx.author.id,
             "dex_num": page["Num"],
             "dex_entries": pages,
             "reaction_handler": PokeHandler(self.build_embed)
         })
Esempio n. 2
0
 def track_message(self, message, page, per_page, pages):
     utils.get_tracker().track_message(
         message.id, {
             "author": self.ctx.author.id,
             "line": page[0],
             "part": page[1],
             "reaction_handler": StoryHandler(self.build_embed)
         })
Esempio n. 3
0
 def track_message(self, message, page, per_page, pages):
     utils.get_tracker().track_message(
         message.id, {
             "author": self.ctx.author.id,
             "page": page,
             "per_page": per_page,
             "pages": pages,
             "reaction_handler": IndexPaginatorHandler(self.build_embed)
         })
Esempio n. 4
0
 async def do_page_too_high(self, page):
     message = await utils.do_simple_embed(
         context=self.ctx,
         title="I have some bad news...",
         description=f"`{self.args[0]}` is not that long.")
     utils.get_tracker().track_message(message.id, {
         "author": self.ctx.author.id,
         "reaction_handler": DeleteHandler()
     })
Esempio n. 5
0
 async def do_not_a_story(self):
     message = await utils.do_simple_embed(
         context=self.ctx,
         title="I have some bad news...",
         description=f"`{self.args[0]}` is not in my records.")
     utils.get_tracker().track_message(message.id, {
         "author": self.ctx.author.id,
         "reaction_handler": DeleteHandler()
     })
Esempio n. 6
0
async def do_not_a_story(ctx, story):
    message = await utils.do_simple_embed(
        context=ctx,
        title="I have some bad news...",
        description=story + " doesn't sound like any story I know.")
    utils.get_tracker().track_message(message.id, {
        "author": ctx.author.id,
        "reaction_handler": DeleteHandler()
    })
Esempio n. 7
0
async def do_not_a_part_number(ctx):
    message = await utils.do_simple_embed(
        context=ctx,
        title="I didn't quite catch that",
        description="Are you sure you put in a part number?")
    utils.get_tracker().track_message(message.id, {
        "author": ctx.author.id,
        "reaction_handler": DeleteHandler()
    })
Esempio n. 8
0
 async def do_page_too_high(self, page):
     message = await utils.do_simple_embed(
         context=self.ctx,
         title=f"Page {page + 1} you say?",
         description="I'm afraid the Avlarian Pokédex is not that long.")
     utils.get_tracker().track_message(message.id, {
         "author": self.ctx.author.id,
         "reaction_handler": DeleteHandler()
     })
Esempio n. 9
0
 async def do_page_too_high(self, page):
     message = await utils.do_simple_embed(
         context=self.ctx,
         title="I have some bad news...",
         description=f"{page} is not in the Avlarian Pokédex.")
     utils.get_tracker().track_message(message.id, {
         "author": self.ctx.author.id,
         "reaction_handler": DeleteHandler()
     })
Esempio n. 10
0
async def do_page_too_high(ctx, line):
    message = await utils.do_simple_embed(
        context=ctx,
        title="Huh, there's a problem",
        description=f'I know [\"{line["Name"]}\"]({line["Link"]})' +
        " but it doesn't have that many parts.")
    utils.get_tracker().track_message(message.id, {
        "author": ctx.author.id,
        "reaction_handler": DeleteHandler()
    })
Esempio n. 11
0
 async def do_page_too_high(self, page):
     message = await utils.do_simple_embed(
         context=self.ctx,
         title=f"Page {page + 1} you say?",
         description="There's not that many sources!"
     )
     utils.get_tracker().track_message(message.id, {
         "author": self.ctx.author.id,
         "reaction_handler": DeleteHandler()
     })
Esempio n. 12
0
 async def help_command(self, ctx, *option):
     if len(option) == 0:
         message_key = ""
     elif option[0] in self.messages["messages"].keys():
         message_key = option[0]
     else:
         message_key = "fallback"
     embed_message = self.build_help_embed(message_key)
     message = await ctx.send(embed=embed_message)
     await message.add_reaction("🗑️")
     get_tracker().track_message(message.id, {
         "author": ctx.author.id,
         "reaction_handler": DeleteHandler()
     })
Esempio n. 13
0
 async def info_command(self, ctx):
     message = await utils.do_simple_embed(
         context=ctx,
         title="Hello, I am Professor Till!",
         description="I've been exploring the Avlar Region for quite some time now, "
                     "time that has allowed me to gain knowledge on various fields!\n\n"
                     "Like many other partners in my profession my specialty is Pokémon, "
                     "but don't be afraid to ask about something else.\n\n"
                     "You can learn more about this region and its Pokémon by using"
                     f"`{DISCORD_PREFIX}help`.",
     )
     utils.get_tracker().track_message(message.id, {
         "author": ctx.author.id,
         "reaction_handler": DeleteHandler()
     })
Esempio n. 14
0
    async def stories_command(self, ctx):
        groups = get_story_groups()
        get_stories_into_groups(groups)

        description = "I do have some around here...\n"
        for group in groups:
            dash = ""
            if group.title != "":
                description += f"\n**{group.title}**"
                dash = "- "
            for story in group.stories:
                description += f'\n{dash}[{story["Name"]}]({story["Link"]})'
            description += "\n"

        message = await utils.do_simple_embed(context=ctx,
                                              title="You want stories?",
                                              description=description)
        utils.get_tracker().track_message(message.id, {
            "author": ctx.author.id,
            "reaction_handler": DeleteHandler()
        })
Esempio n. 15
0
 async def handle_wastebasket(self, reaction, user, message_data):
     utils.get_tracker().untrack_message(user.id)
     await reaction.message.delete()
Esempio n. 16
0
async def handle_reaction(reaction, user):
    message_data = get_tracker().get_message(reaction.message.id)
    if message_data:
        await message_data["reaction_handler"].handle_reaction(
            reaction, user, message_data)