from discord.ext import commands
from dpy_button_utils import ButtonPaginator
bot = commands.Bot(command_prefix="!", help_command=None)
@bot.command()
async def page_plain_text(ctx: commands.Context):
paginator = ButtonPaginator(bot, messages=[f"Option {x}" for x in range(10)], timeout=10)
await paginator.run(ctx)
@bot.command()
async def page_embeds(ctx: commands.Context):
paginator = ButtonPaginator(bot, embeds=[
discord.Embed(title="bonk", description=f"Option {x}") for x in range(10)
])
await paginator.run(ctx)
bot.run("TOKEN")After the paginator is done, you can access the page it left off on with paginator.counter.
from discord.ext import commands
from dpy_button_utils.confirmation import ButtonConfirmation
bot = commands.Bot(command_prefix="!", help_command=None)
@bot.command()
async def confirm(ctx: commands.Context):
if await ButtonConfirmation(ctx, "Do the bad thing?", destructive=True, confirm="YES", cancel="no pls").run():
await ctx.send("yes :D")
else:
await ctx.send(":(")
@bot.command()
async def confirm2(ctx: commands.Context):
if await ButtonConfirmation(ctx, "Do the thing?", destructive=False, confirm="YES", cancel="no pls").run():
await ctx.send("yes :D")
else:
await ctx.send(":(")
bot.run("TOKEN")ButtonConfirmation takes a few different keyword arguments, after the Context and message.
destructive- can either beTrueorFalse.Truecauses a red confirm button, andFalsecauses a blue onetimeout- Time in seconds for the confirmation to auto-cancelconfirm- Confirmation button labelcancel- Cancel button labelconfirm_message- Text to change to on a confirmationcancel_message- Text to change to on a cancel
The defaults are:
destructive- Falsetimeout- 60confirm- Confirmcancel- Cancelconfirm_message-None- this appendsConfirmedto the original messagecancel_message-None- this appendsCancelledto the original message