Beispiel #1
0
async def pagenator(
    bot: Hiyobot,
    ctx: Context,
    msg: Message,
    embed_list: list[Embed],
):
    num = 0

    total = len(embed_list)

    def check(reaction: discord.Reaction, user: discord.User):
        return (user.id == ctx.author.id) and (reaction.emoji
                                               in ["▶", "◀", "❎"])

    await msg.edit(embed=embed_list[num])
    await msg.add_reaction("❎")
    await msg.add_reaction("◀")
    await msg.add_reaction("▶")

    async def pass_permission_error(msg: discord.Message, emoji, author):
        with suppress(Exception):
            await msg.remove_reaction(emoji, author)

    while not bot.is_closed():
        try:
            reaction, user = await bot.wait_for(event="reaction_add",
                                                check=check,
                                                timeout=80.0)
            if user.id != ctx.author.id or reaction.message.id != msg.id:
                continue

        except asyncio.TimeoutError:
            return await msg.clear_reactions()

        if reaction.emoji == "❎":
            await msg.clear_reactions()
            return

        elif reaction.emoji == "▶":
            num += 1

            if num > total - 1:
                num = 0

            await msg.edit(embed=embed_list[num])
            await pass_permission_error(msg, "▶", ctx.author)

        elif reaction.emoji == "◀":
            num -= 1
            if num < 0:
                num = total - 1

            await msg.edit(embed=embed_list[num])
            await pass_permission_error(msg, "◀", ctx.author)
Beispiel #2
0
def setup(bot: class_hiyobot):
    bot.add_cog(PatchNote(bot))
Beispiel #3
0
def setup(bot: Hiyobot):
    bot.add_cog(Help(bot))
Beispiel #4
0
def setup(bot: Hiyobot):
    bot.add_cog(Nekos(bot))
Beispiel #5
0
def setup(bot: Hiyobot):
    bot.add_cog(Pixiv(bot))
Beispiel #6
0
def setup(bot: Hiyobot):
    bot.add_cog(Issue(bot))
Beispiel #7
0
def setup(bot: Hiyobot):
    bot.add_cog(Auth(bot))
Beispiel #8
0
def setup(bot: Hiyobot):
    bot.add_cog(Heliotrope(bot))
Beispiel #9
0
def setup(bot: class_hiyobot):
    bot.add_cog(Ready(bot))
Beispiel #10
0
def setup(bot: class_hiyobot):
    bot.add_cog(Info(bot))
Beispiel #11
0
def setup(bot: Hiyobot):
    bot.add_cog(Error(bot))