Skip to content

Configuration File

One of the main goals of the Sentinel Tickets discord bot is to provide a remarkable amount of configuration options via it’s config.yml file.
The config already comes with a lot of comments explaining each option but this page aims to provide some more details and notes.

Ticket bot general settings

config.yml
rolesThatCanBlacklist: ["111111111111111111"] # The IDs of the staff roles on your server which should have access to blacklisting and unblacklisting users from creating tickets, for example ["000000000000000000", "111111111111111111"]
rolesOnBlacklist: [] # The IDs of the roles that the bot will add to blacklisted users, leave it empty to disable this feature
blacklistCleanup: "120" # The amount of time in seconds between blacklist cleanup checks, to automatically remove expired blacklisted users/roles
transcriptType: "HTML" # The type of transcript, can be "HTML" or "TXT"
transcriptName: "{channelName}-transcript" # The name of the generated transcript file, use {channelName} for the name of the ticket channel, {username} for the username of the ticket creator and {displayName} for the display name of the ticket creator. The file extension will be based on the transcript type, .html for HTML transcripts and .txt for TXT transcripts
transcriptImages: false # Enable or disable saving images in HTML transcripts, note that this will increase the size of the transcript and the time taken to generate it
reOpenStaffOnly: false # When enabled, only staff members with support roles can reopen a ticket
closeStaffOnly: true # When enabled, only staff members with support roles can use the close ticket button
deleteStaffOnly: true # When enabled, only staff members with support roles can use the delete ticket button, it's recommended to keep this option enabled unless you intend to use the allowedRoles array feature while configuring the buttons down in the config
commands_cooldown: "5" # The cooldown of commands in seconds
buttons_cooldown: "5" # The cooldown of buttons in seconds
maxOpenTickets: "1" # The maximum number of open tickets a user can have at one time
preventNewTicket: false # This feature will check if the user has a closed ticket before creating a new one, do not enable it unless you really need it and it fits your use-case. Enabling it without allowing the user to reopen or see their closed ticket will cause issues, please be aware. The feature will disable itself if maxOpenTickets is not equal to 1.
silentStartup: false # When enabled, the bot will avoid unnecessary console logging when starting up
deleteTicketTime: "5" # The time in seconds before a ticket is deleted
claimFeature: false # Enable or disable the claim button/feature
claimRename: false # Enable or disable renaming a ticket to category-USERNAME when it gets claimed, it will use the username of the support staff who claimed it
claimRenameName: "{category}-{username}" # The new name of the ticket when it gets claimed, the options are: {category} for the ticket category, {username} for the username of the staff who claimed it, {displayname} for the displayname/nickname of the staff
claim1on1: false # When this feature is enabled, upon the claiming of a ticket only the ticket creator and the staff who claimed the ticket will be able to chat in it
status:
botActivityText: "Support Tickets" # The activity message of the bot
botActivityType: "Watching" # The activity type of the bot, can be "Playing", "Streaming", "Listening", "Watching", "Competing"
streamingOptionURL: "" # The URL in case you use the streaming option
botStatus: "online" # The status of the bot, can be "online", "idle", "dnd", "invisible", note that the streaming type requires the "online" status
alertReply:
enabled: false # Enable or disable listening to the ticket creator reply for the amount of time specified in the config below, after the alert is sent.
time: "300" # The default amount of time in seconds, avoid using values which are too high or too low
autoAction: "none" # The automated action the bot will take if the user did not reply within the time defined above, can be "close" or "delete" which will either automatically close or delete their ticket, you may also put it as "none" to disable the automation
autoCloseTickets:
enabled: false # Enable or disable automatically closing tickets
interval: "60" # The interval in seconds for the automatic ticket close task to run
time: "86400" # The amount of time in seconds from the last message in the ticket before it gets automatically closed. For example, if this is specified as 1 day in seconds, the ticket will be closed if the last message sent in the channel is 1 day old. Default time is 1 day.
ignoreBots: false # Ignore messages sent by bots when checking for the last message in a ticket
autoDeleteTickets:
enabled: false # Enable or disable automatically deleting closed tickets
interval: "60" # The interval in seconds for the automatic ticket delete task to run
time: "86400" # The amount of time in seconds from the ticket "closed at" time before the ticket gets automatically deleted. For example, if this is specified as 1 day in seconds, the ticket will be deleted if it was closed 1 day ago without it being reopened by anyone. Default time is 1 day.
onUserLeave: "close" # The automated action the bot will take when a user leaves the server while having a ticket open, can be "close" or "delete" which will either automatically close or delete their ticket, you may also put it as "none" to disable the automation
statsChannels:
enabled: false # Enable or disable the stats channels
interval: "600" # The interval in seconds for the stats channels to update, cannot be lower than 600 which is 10 minutes in order to avoid discord channel rename rate limits
channels:
- channelID: "111111111111111111" # The ID of the voice channel that will be renamed frequently with the updated stats
type: "totalTickets" # The type of statistic to display, the options are the following: totalTickets, openTickets, totalClaims, totalReviews, ratings, totalMessages, ticketCreators, avgTicketCreators
name: "Total Tickets: {stats}" # The name of the stats channel, use the placeholder {stats} to display the result of the stats based on the type selected above
- channelID: "111111111111111111"
type: "openTickets"
name: "Total Open Tickets: {stats}"
- channelID: "111111111111111111"
type: "ratings"
name: "Average Rating: {stats}/5.0"

Notes

  • An example usage of rolesOnBlacklist could be if you have a Muted role on your server which the bot will then give to blacklisted users until they are no longer blacklisted.
  • HTML transcripts are recommended over TXT because of how much better they look.
  • deleteTicketTime is the amount of time in seconds that the bot will wait before deleting the ticket channel after you click the delete button or use the /delete command.
  • The alertReply time in the config is only the default time, you can input a custom time in seconds when using the alert slash command.

Ticket Category settings

config.yml
TicketCategories:
- id: 1 # Unique ID for each category, ONLY USE NUMBERS (It is suggested to just increment this value by 1 each time)
name: "report" # The name of the category, it will be in lowercase anyways
nameEmoji: "⌛️" # The emoji of the category name, "⌛️report" in that case or make it "⌛️-" to get "⌛️-report", you may also leave it as an empty string "" to use no emojis
categoryID: ["111111111111111111"] # The IDs of the categories where those tickets will be created, for example ["000000000000000000", "111111111111111111"]
closedCategoryID: ["111111111111111111"] # The IDs of the categories where the closed tickets will go, for example ["000000000000000000", "111111111111111111"]
support_role_ids: ["000000000000000000", "111111111111111111"] # The IDs of the staff roles on your server that can access only this ticket category, for example ["000000000000000000", "111111111111111111"]
permissions: # The permissions of the category, make sure to never add the same permission to both the allow and deny arrays of either open or close properties
ticketCreator:
open:
allow: ["ViewChannel", "SendMessages", "EmbedLinks", "AttachFiles", "ReadMessageHistory"] # The bot will allow those permissions to the ticket creator in an open ticket
deny: [] # The bot will deny those permissions from the ticket creator in an open ticket
close:
allow: [] # The bot will allow those permissions to the ticket creator in a closed ticket
deny: ["SendMessages"] # The bot will deny those permissions from the ticket creator in a closed ticket
supportRoles:
open:
allow: ["ViewChannel", "SendMessages", "EmbedLinks", "AttachFiles", "ReadMessageHistory"]
deny: []
close:
allow: []
deny: ["SendMessages"]
addedRoles:
open:
allow: ["ViewChannel", "SendMessages", "EmbedLinks", "AttachFiles", "ReadMessageHistory"]
deny: []
close:
allow: []
deny: ["SendMessages"]
addedUsers:
open:
allow: ["ViewChannel", "SendMessages", "EmbedLinks", "AttachFiles", "ReadMessageHistory"]
deny: []
close:
allow: []
deny: ["SendMessages"]
pingRoles: false # Enable or disable pinging roles when a ticket is opened in this category
ping_role_ids: [] # The IDs of the roles you want to ping when a ticket is opened in this category, for example ["000000000000000000", "111111111111111111"]
ghostPingRoles: false # Enable or disable ghost pinging the ping_role_ids when a ticket is opened, use either {support-roles} in textContent below or this option, avoid using both because then the support roles will receive 2 pings
textContent: "" # The text content that is sent alongside the embed, use {support-roles} for the support roles only if you enabled pingRoles above, you may also use {user} and {user.tag}
creatorRoles: [] # The IDs of the roles that can create tickets in this category, keep it empty to allow all roles to create tickets
buttonEmoji: "👮" # The emoji of the button, leave it empty "" to use no emojis
buttonLabel: "Report a user" # The name of the button
buttonStyle: "Success" # Options: "Primary" which is blurple, "Secondary" which is grey, "Success" which is green, "Danger" which is red and do NOT use "Link"
menuEmoji: "👮" # The emoji of the select menu option, leave it empty "" to use no emojis
menuLabel: "Report a user" # The name of the select menu option
menuDescription: "Click on this option to open a report user ticket!" # The description of the select menu option
embedTitle: "Report Ticket" # The title of the embed
color: "#FFD700" # The color of embed in the opened ticket
description: "Welcome {user} ({user.tag}) to your report ticket! Please be patient while a staff member responds to your report." # The description of the embed in the created ticket, right above the questions fields, use {user} for the user such as @User and {user.tag} for the name of the user without it being mentioned such as User
ticketName: "category-ticketcount" # Options are: category-username (will be called category-username such as general-ralphkb), category-ticketcount (will be called category-ticketcount such as general-12348), username-ticketcount (will be called username-ticketcount such as ralphkb-12348), username-category (will be called username-category such as ralphkb-general), username-category-ticketcount (will be called username-category-ticketcount such as ralphkb-general-12348), or category-username-ticketcount (will be called category-username-ticketcount such as general-ralphkb-12348)
ticketTopic: "Ticket Creator: {user} | Ticket Type: {type}" # The topic of the ticket channel
slowmode: "0" # The slowmode of the ticket channel in seconds, keep it 0 if you don't want a slowmode and do not use negative values
useCodeBlocks: false # Set this to true if you want to use code blocks to display the answers of the ticket category questions
modalTitle: "User Report Format" # The title of the modal
questions: # Maximum number of questions is 5, you should at least keep 1 question since that information will always help you in any ticket
- label: "What is your username?"
placeholder: "Write your username"
style: "Short" # Short or Paragraph
required: true # If this input is required or not, can be true or false
minLength: 3 # Set the minimum number of characters required for submission
- label: "Reported username?"
placeholder: "Write their username"
style: "Short"
required: true
minLength: 3
- label: "Why are you reporting them?"
placeholder: "Explain with details"
style: "Paragraph"
required: true
minLength: 50
maxLength: 1000 # Set the maximum number of characters allowed for submission, only works for Paragraph style and the limit is 1000

Notes

  • This is an example of a configured category, the default config comes with 2 default categories which you can feel free to modify, remove or add more categories.
  • You can create a new category by copying everything and pasting it right below the last category you have in your configuration, then incrementing the id by 1. If you are using the default config, that would mean adding a 3rd category with an id of 3.
  • For a more detailed explanation about the permissions section of this configuration, refer to this page.
  • To create additional questions, you can copy one of the current questions and paste it right below your last question. You can have up to 5 questions at most and you need to make sure each question has a configured label, placeholder, style, required, minLength and maxLength option.
  • Currently, the bot does not support working without questions so you should at least make sure to use 1 question in each category you create.

Multi Panel settings

config.yml
panels:
- id: 1 # Unique ID for each panel
categories: ["1, 2"] # The categories that the panel will contain, use the IDs of the categories above, make sure they are valid and don't leave it empty
maxButtonsPerRow: "5" # The maximum number of buttons per row, note that this will reduce the total amount of categories you can create due to a limitation of 5 rows per message
menuPlaceholder: "Select a category to open a ticket." # The placeholder of the select menu
panelEmbed:
color: "#2FF200"
title: "Support Tickets"
description: "To create a support ticket, click on one of the buttons below depending on what help you need." # Use
to create a new line for this embed description if needed
timestamp: true
URL: ""
image: ""
thumbnail: ""
footer:
text: "Sentinel Tickets"
iconURL: ""
author:
name: ""
iconURL: ""
url: ""

Notes

  • You can setup multiple panels in this section, you can also use the categories array to organize the categories in the panel as you wish. The default value is ["1, 2"] but ["2, 1"] works too.
  • The id of each panel must be an integer, it is suggested to just increment it by 1 for each new panel.
  • The usage of the /panel command is /panel id layout, the id is required and is the id of the panel you want to send, while the layout is a choice between 2 options Buttons or Menu. Example usage: /panel id: 1 layout: Menu
  • You can configure a unique embed for each panel.
  • If you updated from a previous version of the bot before multi panels were added, please re-send your panels after you finish upgrading your configuration.

Ticket DM user settings

config.yml
DMUserSettings:
embed: true # Enable or disable sending an embed in the DM
transcript: true # Enable or disable sending a transcript in the DM
ratingSystem:
enabled: false # You can enable the rating system while keeping the above 2 options disabled
menu:
emoji: ""
placeholder: "Select a Rating"
modal: true # Enable or disable sending a feedback modal in the DM, if disabled then the users will only provide a rating from 1 to 5
modalTitle: "Ticket Feedback"
questions: # Maximum number of questions is 5, you must keep a minimum of 1 to use this feature
- label: "What is your feedback?"
placeholder: "Write your feedback here."
style: "Paragraph" # Short or Paragraph
required: true # If this input is required or not, can be true or false (must be kept to true when there is only 1 question)
minLength: 80 # Set the minimum number of characters required for submission
maxLength: 1000 # Set the maximum number of characters allowed for submission, only works for Paragraph style and the limit is 1000

Notes

  • In this configuration section, feel free to enable or disable any of the 3 options embed, transcript or ratingSystem’s enabled to customize what is sent in a user’s DMs after a ticket gets deleted.
  • Disabling all 3 options will disable the DM entirely.
  • Setting modal: false will disable the questions, which means the user will only provide a rating from 1 to 5.
  • You can configure the emoji used in the feedback menu in the user’s DM alongside adding more questions to the feedback modal.
  • The questions can be configured the same way as the questions of a ticket category configuration.

Slash commands settings

config.yml
commands:
add:
enabled: true
permission: "KickMembers"
pingUser: false # Ping the newly added user
alert:
enabled: true
permission: "KickMembers"
transcript:
enabled: true
permission: "KickMembers"
claim:
enabled: true
permission: "KickMembers"
unclaim:
enabled: true
permission: "KickMembers"
move:
enabled: true
permission: "KickMembers"
updateTopic: true
transfer:
enabled: true
permission: "KickMembers"
pingUser: false # Ping the new ticket creator
updateTopic: true # Update the channel topic
pin:
enabled: true
permission: "KickMembers"
emoji: "📌"
alreadyPinned: "This ticket is already pinned!"
priority:
enabled: true
permission: "KickMembers"
emojis:
low: "🟢"
medium: "🟡"
high: "🔴"
alreadyPriority: "This ticket is already assigned a priority!"
notPriority: "This ticket is not assigned a priority!"
slowmode:
enabled: true
permission: "KickMembers"
alreadySlowmode: "This ticket channel already has that slowmode."
slowmodeRemoved: "The slowmode has been removed from this ticket."
close:
enabled: true
permission: "KickMembers"
closerequest:
enabled: true
permission: "ViewChannel"
pingRoles: false # Enable or disable pinging the support roles of the ticket category where the command is used, no roles will be pinged if the category ping_role_ids is empty.
reopen:
enabled: true
permission: "KickMembers"
delete:
enabled: true
permission: "KickMembers"
panel:
enabled: true
permission: "ManageChannels"
support_role_ids: [] # The IDs of the staff roles on your server that can use the panel command, they must also have the permission above, keep it empty to not require a role.
remove:
enabled: true
permission: "KickMembers"
rename:
enabled: true
permission: "KickMembers"
topic:
enabled: true
permission: "KickMembers"
blacklist:
enabled: true
permission: "KickMembers"
userOrRoleError: "Please provide either a user or a role, but not both or none."
wrongDuration: "Invalid duration format, please use one of the following formats: 1s 1m 1h 1d 1w (e.g. 5s, 10m, 2h, 3d, 4w)"
validPage: "Please provide a valid page number greater than or equal to 1."
blacklistEmpty: "The blacklist is currently empty!"
blacklistEmptyType: "The {type} blacklist is currently empty!" # Use {type} for the blacklist type which is either user or role
pageError: "The specified page does not exist. Please choose a page between 1 and {maxPage}." # Use {maxPage} for the maximum number of pages available
unblacklist:
enabled: true
permission: "KickMembers"
ping:
enabled: true
permission: "KickMembers"
stats:
enabled: true
permission: "KickMembers"
support_role_ids: [] # The IDs of the admin role(s) on your server that can use the stats set subcommand, which can be dangerous in allowing the modification of some statistics. Keeping it empty will allow no roles to modify the stats. This command has been added to adjust stats mistakes in case of issues or inconsistencies.
help:
enabled: true
permission: "KickMembers"
preference:
enabled: false
permission: "ViewChannel"
defaultDM: true # The default value of the preference
tickets:
enabled: true
permission: "ViewChannel"
support_role_ids: [] # The IDs of the staff roles on your server that can use this command's user argument to see the list of current tickets of other users, they must also have the permission above, keeping it empty will allow no roles to access the list of current tickets of other users.
userInfo:
enabled: true
permission: "KickMembers"
contextMenuCommands:
userInfo:
enabled: true
permission: "KickMembers"
blacklistAdd:
enabled: true
permission: "KickMembers"
blacklistRemove:
enabled: true
permission: "KickMembers"
ticketAlert:
enabled: true
permission: "KickMembers"
ticketPin:
enabled: true
permission: "KickMembers"
ticketTranscript:
enabled: true
permission: "KickMembers"
ticketsList: # Note that this command shares the same support_role_ids array as the tickets slash command above.
enabled: true
permission: "ViewChannel"
ticketCloseRequest:
enabled: true
permission: "ViewChannel"
ticketClaim:
enabled: true
permission: "KickMembers"
ticketUnclaim:
enabled: true
permission: "KickMembers"

Notes

  • In this section you can enable/disable commands, configure their permissions and some command-specific settings explained in their respective comments.

  • Some commands have optional options that allow you to add a reason, such as ticket close, delete etc. Given that it’s optional, you may edit the embeds/log embeds to avoid displaying the reason if you don’t want to use it.

  • The tickets list slash and context menu commands share the same array for support_role_ids that are allowed to use it. The default behavior is to deny the usage of the optional user option because otherwise any member can see a list of current tickets of any other member. Configure this as you see fit, such as allowing your staff roles to execute the command on any user.

  • For a more streamlined experience, it’s recommended that you configure the permissions based on a common permission between your support roles.
    The default configuration assumes your support staff have the permission to kick members, so they will have access to the commands. Feel free to modify this to fit your use-case.

General button settings

config.yml
closeButton:
label: "Close" # The label of the button
emoji: "🔒" # The emoji of the button
style: "Danger" # Options: "Primary" which is blurple, "Secondary" which is grey, "Success" which is green, "Danger" which is red and do NOT use "Link"
allowedRoles: [] # The IDs of the roles that can use the close button, keep it empty to not require a role
reOpenButton:
label: "Reopen" # The label of the button
emoji: "🔓" # The emoji of the button
style: "Success" # Options: "Primary" which is blurple, "Secondary" which is grey, "Success" which is green, "Danger" which is red and do NOT use "Link"
allowedRoles: [] # The IDs of the roles that can use the reopen button, keep it empty to not require a role
transcriptButton:
label: "Transcript" # The label of the button
emoji: "📝" # The emoji of the button
style: "Primary" # Options: "Primary" which is blurple, "Secondary" which is grey, "Success" which is green, "Danger" which is red and do NOT use "Link"
deleteButton:
label: "Delete" # The label of the button
emoji: "" # The emoji of the button
style: "Danger" # Options: "Primary" which is blurple, "Secondary" which is grey, "Success" which is green, "Danger" which is red and do NOT use "Link"
allowedRoles: [] # The IDs of the roles that can use the delete button, keep it empty to not require a role
claimButton:
label: "Claim" # The label of the button
emoji: "👋" # The emoji of the button
style: "Success" # Options: "Primary" which is blurple, "Secondary" which is grey, "Success" which is green, "Danger" which is red and do NOT use "Link"
unclaimButton:
label: "Unclaim" # The label of the button
emoji: "👋" # The emoji of the button
style: "Danger" # Options: "Primary" which is blurple, "Secondary" which is grey, "Success" which is green, "Danger" which is red and do NOT use "Link"
newTicketButton:
label: "Click Here" # The label of the button
emoji: "🎫" # The emoji of the button

Notes

  • For a detailed explanation on how to use custom emojis in this section or also in the ticket category button and menu emojis, take a look at this page.
  • The allowedRoles array allows you to specify roles needed to use the specific button. Keep in mind that disabling the reOpenStaffOnly, closeStaffOnly & deleteStaffOnly config options might be the best option if you intend to use the allowedRoles array.

Working Hours Settings

config.yml
workingHours:
enabled: false # Enable or disable the working hours feature
timezone: "Europe/Paris" # The timezone of the working hours, options on this link should work: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
bypassRoles: [] # The IDs of the roles that can bypass the working hours block ticket creation, keep it empty to turn off this feature
default: # The default working hours for any day that is not specified below
min: "09:00"
max: "17:00"
blockTicketCreation: true
days:
- day: "monday" # The day of the week, the options are "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"
min: "09:00" # The minimum hour, make sure to use the 24 hour format HH:MM, examples: 00:59, 05:00, 17:00, 23:59 don't forget to include the first 0.
max: "17:00" # The maximum hour, make sure to use the 24 hour format HH:MM, examples: 00:59, 05:00, 17:00, 23:59 don't forget to include the first 0.
blockTicketCreation: true # Enable or disable the blocking of ticket creation outside the working hours
- day: "tuesday"
min: "09:00"
max: "17:00"
blockTicketCreation: true
- day: "wednesday"
min: "09:00"
max: "17:00"
blockTicketCreation: true
- day: "thursday"
min: "09:00"
max: "17:00"
blockTicketCreation: true
- day: "friday"
min: "09:00"
max: "17:00"
blockTicketCreation: true
- day: "saturday"
min: "09:00"
max: "12:00"
blockTicketCreation: true
- day: "sunday"
min: "09:00"
max: "12:00"
blockTicketCreation: true
outsideWarning: true # If working hours is enabled, this option will enable or disable the warning embed when a ticket is created outside the working hours
addField: true # If working hours is enabled, this option will enable or disable the addition of the working hours field to the ticket creation embed
fieldTitle: "Working Hours" # The title of the working hours field
valueDays: "TODAY" # Options are: "TODAY" which will only show today's working hours or "ALL" which will show the configured working hours for each day
fieldValue: "> {day}: {openingTime} to {closingTime}" # The value of each working hours field, use {day} for today's day of the week, {openingTime} for the opening time and {closingTime} for the closing time

Notes

  • If you enable the working hours feature, make sure to always configure the min and max hours in the format "HH:MM".
  • Configure the timezone based on your own, so that the bot’s working hours will function in an hour range familiar to you or your community.
  • The bypass roles feature may be useful to people who have specific roles that get higher priority support.

Log channels

config.yml
# In this section you can enable/disable certain logs. By default all logs are enabled.
toggleLogs:
userAdd: true
userRemove: true
userLeft: true
ticketCreate: true
ticketClose: true
ticketAlert: true
ticketReopen: true
ticketDelete: true
ticketClaim: true
ticketUnclaim: true
ticketMove: true
ticketRename: true
ticketTopic: true
ticketTransfer: true
ticketPin: true
ticketSlowmode: true
ticketPriority: true
ticketFeedback: true
DMErrors: true
blacklistAdd: true
blacklistRemove: true
# This section allows you to configure the channels where the bot will send different logs. Make sure to at least configure the default log channel.
# By leaving a channel empty "" the bot will fallback to the default log channel.
logs:
default: "111111111111111111" # The ID of the default log channel
transcripts: "111111111111111111" # The ID of the log channel for manual transcripts obtained with the transcript button or command
userAdd: ""
userRemove: ""
userLeft: ""
ticketCreate: ""
ticketClose: ""
ticketAlert: ""
ticketReopen: ""
ticketDelete: ""
ticketClaim: ""
ticketUnclaim: ""
ticketMove: ""
ticketRename: ""
ticketTopic: ""
ticketTransfer: ""
ticketPin: ""
ticketSlowmode: ""
ticketPriority: ""
ticketFeedback: ""
DMErrors: ""
blacklistAdd: ""
blacklistRemove: ""

Notes

  • It would be best to keep all the toggled Logs enabled so you can always search back in the logs channels to find information that might be useful when you need it.
  • Make sure to always at least configure the default log channel ID, the bot will log an error without it because it’s the main fallback for all the logs.

Embeds Locale

config.yml
outsideWorkingHoursEmbed:
color: "#FF0000"
title: "Outside Working Hours"
description: "You created a ticket outside of our working hours. Please be aware that our response time may be delayed.
Our working hours for today are from {openingTime} to {closingTime}." # Use {openingTime} for the opening time, {closingTime} for the closing time
timestamp: true
URL: ""
image: ""
thumbnail: ""
footer:
text: ""
iconURL: ""
author:
name: ""
iconURL: ""
url: ""

Notes

  • This section only provides the example configuration for one embed because all of them are the same. Note that only a few embeds might not have all the options due to them being dynamic or overriden by necessary code.
    For example, the ticket created embed configuration does not support description and color because you already configure those options per ticket category.
  • Some embeds might have commented out options like footer text and iconURL, that’s in order to use the default values which can be more unique per user such as the user’s username and avatar as a footer.
  • A few embeds might have unique options such as fields or options to disable buttons like on the close embed.
  • The config comments will mention when you cannot use one of the embeds options for a specific embed, so you will be aware.

DM Embeds Locale

config.yml
alertDMEmbed:
enabled: false
color: "#FF0000"
title: "Ticket Close Notification"
description: "Your ticket **#{ticketName}** in **{server}** will be closed soon if no response has been received." # You can use {ticketName} for the name of the ticket, {server} for your server name &
for a new line
timestamp: false
URL: ""
image: ""
thumbnail: ""
footer:
text: ""
iconURL: ""
author:
name: ""
iconURL: ""
url: ""

Notes

  • Similar to the embeds locale section, however an extra option exists for some of the DM embeds called enabled. To enable the DM embeds that have this option, you must put enabled: true.

Misc Locale

config.yml
errors:
not_in_a_ticket: "You are not in a ticket channel!" # Error displayed when a user tries to use a command in a non-ticket channel
not_allowed: "You are not allowed to use this!" # Error displayed when a user tries to use a staff-only command, button etc

Notes

  • You can configure error messages in this section and a few more embeds.

Logs.txt channel settings

config.yml
# This section is for users who host the bot in a limited environment without write access to a logs.txt file.
# Enabling the option below and adding a channel ID will mean the bot will send errors that were supposed to go to logs.txt into that channel instead.
# Please make sure the channel ID you add below is that of a private and secure channel, not a public one.
logsFileToChannel: false # False by default, unless you need it don't enable it
logsFileChannelID: ""

Notes

  • Due to potential issues with rate limits, the bot will only send errors and not other logs to a discord channel if this option is enabled.