TicketBot
Members press one button, pick a category, and get a private channel only they and your admins can see. Admins close it with a verdict and a transcript lands in a log channel. Categories, admin roles, and ping roles are all per server.
- Python
- Pycord
TicketBot
Members press one button, pick a category, and get a private channel only they and your admins can see. Admins close it with a verdict and a transcript lands in a log channel. Categories, admin roles, and ping roles are all per server.
- Python
- Pycord
Members press one button, pick a category, and get a private channel that only they and your admin roles can see. Admins can pull people in, close the ticket as resolved or unresolved, and a transcript lands in a log channel before the channel disappears. Everything is configured per server, so the bot can live in many communities at once.
Setup
- Invite the bot. It needs to manage channels and roles so it can create ticket channels and the blacklist role.
- As an administrator, run
/ticketbot setup, giving it the admin role that should handle tickets and the channel where the “Create a Ticket” panel should appear. - Optionally, add more admin roles with
/ticketbot addadminrole, choose who gets pinged with/ticketbot setnotifyroles, and shape the category list with/ticketbot addcategory. The defaults are Suggestion, Complaint, Report a User, and General Question.
That’s it. The panel survives restarts, and /ticketbot help lists everything.
Good to know
Tickets live under a category named “Tickets”, and the log channel is called ticket-logs.
Everyday members never type a command: the panel button and the category menu are the whole
interface for them.
Commands
Anyone can use the first group. The second is for the people who run the server.
For everyone
/ticket createGet a link to the ticket panel.
e.g.
/ticket create/ticketbot helpList every command.
e.g.
/ticketbot help
For admins
/ticket closeadminClose the current ticket as resolved or unresolved. The transcript goes to the log channel and the channel is removed.
e.g.
/ticket close/ticket adduseradminGive one or more people access to the current ticket.
e.g.
/ticket adduser users:@alex @sam/ticket removeuseradminTake people out of the current ticket.
e.g.
/ticket removeuser users:@alex/ticket blacklistadminStop one or more users from opening tickets.
e.g.
/ticket blacklist users:@spammer/ticket unblacklistadminLet blacklisted users open tickets again.
e.g.
/ticket unblacklist users:@spammer/ticketbot setupadminCreate the Tickets category, the log channel, the blacklist role, and post the panel in a channel of your choice. Safe to run again; it refreshes the panel.
e.g.
/ticketbot setup admin_role:@Support ticket_channel:#get-help/ticketbot addcategoryadminAdd a ticket category with an optional emoji. Up to 25.
e.g.
/ticketbot addcategory name:Billing emoji:💳/ticketbot removecategoryadminRemove a category. The last one cannot be removed.
e.g.
/ticketbot removecategory name:Complaint/ticketbot listcategoriesadminShow the server's categories.
e.g.
/ticketbot listcategories/ticketbot addadminroleadminAdd roles that can handle tickets. Owner or Administrators.
e.g.
/ticketbot addadminrole roles:@Support @Mods/ticketbot removeadminroleadminRemove ticket admin roles. Owner or Administrators.
e.g.
/ticketbot removeadminrole roles:@Mods/ticketbot setnotifyrolesadminChoose which admin roles get pinged when a ticket opens. Owner or Administrators.
e.g.
/ticketbot setnotifyroles roles:@Support/ticketbot listadminrolesadminShow the ticket admin roles.
/ticketbot listnotifyrolesadminShow which roles get pinged.
What it needs
Requiredwithout these the bot cannot do its job
- View ChannelsSees the panel channel and the ticket channels it creates.
- Send MessagesPosts the panel, ticket welcomes, and closing notes.
- Embed LinksThe panel and ticket messages are embeds.
- Read Message HistoryReads the ticket back for the transcript and finds the panel after a restart.
- Attach FilesPosts the transcript as a file in the log channel.
- Manage ChannelsCreates the Tickets category, the log channel, and one channel per ticket, and deletes closed tickets.
- Manage RolesCreates the blacklist role and sets who can see each ticket.
Optionaleach one switches on an extra part
- Mention EveryonePings notify roles that are not mentionable. Without it, mentionable roles still get pinged.
Reads: Message Content intent, builds the transcript from the ticket's messages when it closes. These are Discord's privileged intents, already switched on for this bot.