Skip to main content

Overview

A paginated message is a single message from Petto that holds up to 25 pages, with buttons underneath to move between them. Use it for rules split into sections, a guide, a list of roles or anything too long for one embed. !pagination (also !pn and !pages) is a prefix command. It needs Manage Messages in the channel of the message, and reset needs Administrator.
Only messages that Petto sent can have pages: a bot can’t edit the messages of other bots or members. Post a new one with !pagination create, or take one sent with !embed send.
Where a command asks for <message>, give any of these:
  • The message link (right click or long press on the message, then Copy Message Link).
  • #channel followed by the message ID.
  • The message ID alone, when the message is in the channel you are typing in.
  • Nothing, when you reply to the message with the command.

Setup

1

Start the message

Post a new message with its first page, here or in another channel:
Syntax
Or turn a message Petto already sent into page 1, exactly as it is now:
Syntax
Example
liam runs !pagination create in the rules channel with rules_general and Petto answers that it posted the message, with the add command to use next

In Discord: !pagination create posts page 1 and says how to add the next one.

liam runs !pagination set with the link of a message and Petto confirms it is now page 1 of a pagination

In Discord: !pagination set makes a message Petto sent page 1.

2

Add the next pages

Each page goes at the end. Repeat it for every page you want, up to 25.
Syntax
Example
liam adds page 2 from a saved embed and page 3 from a code, and Petto confirms each one

In Discord: !pagination add with a saved embed, then with an embed code.

3

Change a page

Put another embed or code in a page by its number. edit works as well as update.
Syntax
Example
liam changes page 2 and Petto answers Page 2 changed

In Discord: !pagination update puts another embed in page 2.

4

Remove a page

Takes a page out by its number. The only page left can’t be removed: use delete to stop the pagination instead.
Syntax
Example
liam removes page 3 and Petto says 2 pages are left

In Discord: !pagination remove takes page 3 out and says how many are left.

kira tries to remove the only page and Petto answers in red with the delete command to use instead

In Discord: the only page cannot be removed: Petto points to delete.

After any change the message goes back to page 1, with the new number of pages.
The buttons come off and the message stays with the page it is showing. Add --message to delete the message too. del works as well as delete.
Syntax
liam stops a pagination and Petto says the message is no longer paginated and keeps the page it showed

In Discord: !pagination delete takes the buttons off; the message keeps its page.

liam runs !pagination delete with --message and Petto confirms the message was deleted

In Discord: with --message the message is deleted too.

Administrator only. Petto asks first with a Stop them all button; the messages keep the page they show.
Syntax
liam runs !pagination reset and Petto asks in red whether to stop the 2 paginated messages, with Stop them all and Cancel

In Discord: !pagination reset asks first, with a Stop them all button.

The question changes to Done: 2 paginated messages stopped

In Discord: after the click: every pagination is stopped.

Every paginated message of the server with its channel, number of pages, whether it is private and a link to it, 10 per page.
Syntax
Petto lists two paginated messages: rules with 3 pages and server-guide with 7 private pages

In Discord: !pagination list: each message with its channel, pages, private or not, and a link.

The pages in order (the saved embed of each one, or that it is a code), their kind and whether it is shared or private. show and info work as well as view.
Syntax
Petto shows the 4 pages of a message: three saved embeds and one code, shared

In Discord: !pagination view: the pages in order and their kind.

Syntax
Example
liam moves page 5 to place 2 and Petto confirms

In Discord: !pagination move: page 5 becomes page 2.

See Shared or private.
Syntax
liam sets a pagination to private and Petto explains what that does

In Discord: !pagination mode private: each click shows the page only to who clicked.

Shows page 1 again with its buttons, for when they were taken off or the message was changed with something else (like !editembed). restorereactions and rr work as well as restore.
Syntax
liam restores a pagination and Petto says the buttons are back, showing page 1

In Discord: !pagination restore puts the buttons back on page 1.

How the buttons work

Petto uses buttons, not reactions, so it doesn’t need Add Reactions, the current page is always visible, and the buttons keep working after Petto restarts.
The first rules page by Petto with the buttons back, Page 1/3 and next under it

In Discord: three pages: ◀ Page 1/3 ▶.

The same message now shows the voice channels page and Page 2/3

In Discord: a click on ▶ turns the message to page 2 for everyone.

A guide of 7 pages with the buttons first, back, Page 1/7, next and last, and the jump menu open with its 7 pages

In Discord: seven pages: first and last buttons, and the Jump to a page menu.

The Page X/Y button only shows where you are and can’t be clicked. Anyone who can see the message can turn its pages.

Shared or private

  • Shared (the default): a click turns the message itself, for everyone. The variables of a shared page are filled for the member who made the pagination, so the message doesn’t change with each person who clicks. Good for a message a moderator presents.
  • Private (--private on create or set, or !pagination mode <message> private): a click shows the page only to the member who clicked, as a message only they can see, with its variables filled for them. Its own buttons keep turning that copy, and the message in the channel stays on page 1. Good for rules or a guide that many people read at the same time.
The guide in the channel stays on page 1 while Mia gets page 2 as a message only she can see

In Discord: on a private message a click answers with a copy only that member sees.

What a page can be

Wherever a command asks for <embed or code>:
  • The name of a saved embed, like rules_general (one word, see Embeds). It is drawn each time the page is shown, so its variables are filled then and an edit of the saved embed shows up on the page right away.
  • An embed code, like {embed}$v{title: ...}$v{description: ...}, read the same way as in !embed create and !editembed. Anything that can’t be used is reported.
  • A p2. code, a Components V2 design copied from the dashboard or the Embed Builder.
With !pagination set, page 1 is whatever the message already shows.
One kind per message. Discord can’t turn a classic message (text and embeds) into a Components V2 one or the other way round, so all the pages of one message are classic embeds or all are V2 designs, decided by the first page. Petto refuses a page of the other kind. If a saved embed used by a page is later changed into the other kind, that page shows an error until you change it with update.
liam adds rules_v2 to a message of embeds and Petto answers in red that one message cannot mix both kinds

In Discord: a V2 design refused on a message of classic embeds.

A classic page keeps at most 3 rows of its own link buttons, because the page buttons and the jump menu take the other two.

Limits

When a server reaches its number, create and set say so; stop one with delete to make room. See Premium.
liam tries to create one more and Petto says the server has its 25 paginated messages, and Premium gives 50

In Discord: a free server with its 25 paginated messages.

Dashboard

On the dashboard, the Embeds page has a Paginated messages section under the editor.
  • The list shows each paginated message with its channel, its pages in order, a Private or V2 tag and Open in Discord. Each one has Put the buttons back, Stop (takes the buttons off, the message stays) and Delete message (deletes it from Discord).
  • New paginated message builds one from saved embeds: pick a Channel, choose the saved embed of each page under Pages, in order (with Add a page, move up, move down and remove), tick Private pages if you want, and press Post.
Three paginated messages: rules with 4 pages, server-guide with 7 private pages and a V2 one in announcements, each with Put the buttons back, Stop and Delete message

Dashboard → Design → Embeds → Paginated messages: each message with its channel, pages and tags, and its three buttons.

The builder with the channel server-guide, three pages in order with move and remove buttons, the Private pages box and the Post button

Dashboard → Design → Embeds → New paginated message: the channel, the saved embed of each page, Private pages and Post.

The dashboard needs the same Manage Messages as the command. Embed codes, p2. codes and changing one page at a time are done with the command.

Common issues

The message was sent by a member, a webhook or another bot. Send it again with !embed send, then use !pagination set, or start with !pagination create.
kira runs !pagination set on her own message and Petto answers in red that it can only add pages to its own messages

In Discord: a message of a member cannot get pages.

Petto needs View Channel and Read Message History in the channel of the message, and to post a new one with create also Send Messages and Embed Links. The reply names the ones missing. You need Manage Messages in that channel yourself.
Petto answers in red that it needs Read Message History in that channel

In Discord: the reply names the permission Petto is missing.

Deleting a paginated message, or its channel, removes its pages from Petto too, so it stops counting toward the limit. A command that points at it says the pages were removed.
Petto answers that the message no longer exists, so its pages were removed

In Discord: a deleted message: its pages were removed too.

Someone edited the message with something else. Use !pagination restore <message>, or Put the buttons back on the dashboard. If the pagination was stopped with delete, its pages are gone: start again with !pagination set and add them back.
Its saved embed was deleted, or changed into the other kind (classic or V2). Give the page another embed with !pagination update.
Under the rules message Petto tells Mia, only for her, that the saved embed of that page was deleted and how to change the page

In Discord: the saved embed of page 2 was deleted: the click answers with the error.