config.yml

config.yml Configuration File & information about it.

Configuration file used to change various options and also to setup bot to work.

File Content

# ________________________________________________
#
#       CHAMPION TICKETS CONFIGURATION FILE
#
# Here you can customize Bot's settings.
#
# ________________________________________________

version: "1.7.8"

# ____________________________
#
# GENERAL OPTIONS
# ____________________________

general:
  # Name of the Bot
  name: "Champion Tickets"
  # Bot's Prefix
  prefix: "-"
  # Bot Token obtained from Discord Developer Portal
  token: ""
  # ID of Guild in which Bot will be used
  guild: ""
  # Whether to Register Slash Commands
  slash: true
  # Database Configuration
  database:
    # Database Type: sqlite (default), mysql, mongo
    type: "sqlite"
    mongo:
      uri: ""
    mysql:
      # MySQL Host
      host: ""
      # MySQL Port, default is 3306
      port: 3306
      # MySQL User
      user: ""
      # MySQL Password
      password: ""
      # MySQL Database Name
      database: ""
  # ID of User who is gonna have access to EVAL Command
  # Example:
  #
  # eval:
  #   - "1234"
  #
  # If you don't want any, just change to eval: []
  eval: []
  # Remove Command Message after Sent
  remove_command: false
  # Currency for PayPal/Crypto, EUR/USD etc.
  currency: "USD"
  # Currency Symbol
  currency_symbol: "$"
  # How to use Review Command, whether to Staff use command
  # to prompt Client (Requires Ticket to be Commission) for Review, or to Client Review Freelancer.
  # Can be STAFF or NORMAL
  review_type: "NORMAL"
  # Announce Reviews to Specific Channels
  send_review: false
  # Review Character Limit
  review_limit: 256
  # Ask for Review after Ticket Closure
  ask_review: false
  # Role(s) or Permission(s) User(s) is required to have in order to be reviewed
  # Used to limit who can be reviewed by users
  # When both are empty, you can review anyone
  review_req:
    roles: []
    permissions: []
  # Timezone used to check Global Service Team availability
  # List of all TimeZones: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
  timezone: "Europe/Belgrade"
  # Bio Charcter Limit, after limit is exceeded bot automatically adds '...' at the end.
  bio_limit: 512
  # Is Suggestion Decision (Accept, Deny, Delete) Option Enabled
  sugg_decision: true
  # Whether to add balance into Freelancers bank upon marking commission as COMPLETED
  add_balance: true
  # What % of commission quote does freelancers keep, just number, without %
  commission_tax: "85"
  # Whether to send new Commissions to specific channel
  send_commissions: false
  # Whether to restrict Commission Tickets to just Commission Access Roles (commission_access)
  # upon creation & to add user whose quote was accepted to ticket automatically.
  # Support Roles (roles.support) won't be added to ticket automatically if this is 'true'
  commission_perms: false
  # Type of Channel for Tickets Statistics
  # Can be: GUILD_TEXT, GUILD_VOICE
  stats_type: "GUILD_VOICE"
  # Whether to enable Client Statistics such as how much Client's spent
  # on orders & number of orders they placed
  client_info: false
  # Profile Portfolio character limit, some URLs are long some are shorter
  # so set this to something optimal
  portfolio_limit: 128
  # Toggle the display of buttons specific places
  buttons:
    # Whether 'Close Ticket' button is enabled
    close: true
    # Whether 'Claim Ticket' button is enabled
    claim: true
    # Whether 'Message Client' button is enabled
    message_client: false
    # Whether 'Decline Quote' button is enable on the quote message in ticket
    decline_quote: true
  # Whether to ask for reason when declining quote
  quote_decline_reason: true

# ____________________________
#
# ADDONS CONFIGURATION
# ____________________________

addons:
  # Folder Name of Addon to Disable
  disabled: ["example"]

# ____________________________
#
# SERVER CONFIGURATION
# ____________________________

server:
  # Whether Server is enabled
  # Required for SelfHost Ticket Transcripts & Dashboard
  enabled: false
  # URL on which server will be.
  # If you're using IP (like in first example), or you can't point domain to IP:port,
  # you need to add port you specified to the end of url in format: ':PORT'
  # Example: http://123.45.675.104:7070, http://test.com, http://test.com:7070
  url: ""
  # Port for Server
  port: 7070
  # SelfHost Ticket Transcripts
  # Requires server: true
  selfhost:
    # Whether SelfHost Transcripts are enabled
    enabled: false
    # View Transcript Button
    view: false
    # Whether Download Transcript Button & Download Feature are enabled
    download: false
    # Are Transcripts public or they requires Password for access
    public_transcripts: false
    # Password which can be used to access any Transcript
    # Do not share it with anyone, users will get their when ticket is closed
    admin_login: "adminPw123"
  # Dashboard Configuration
  # To configure who will be able to login into dashboard, visit
  # 'roles' section down below
  # Everyone with 'Administrator' Permission have access to dashboard!
  # Setup Tutorial from Docs: https://nidzo-docs.gitbook.io/ticketsbot/other/dashboard-setup
  dashboard:
    # Whether to enable Dashboard
    enabled: false
    # Discord Bot Client ID
    client_id: ""
    # Discord Bot Client Secret
    client_secret: ""
    # Some long Secret Password, used for Backend Stuff
    # Do not share it with anyone
    jwt: ""
    # Whether to save Server & Dashboard Logs
    save_logs: false
    # List of Dashboard Modules
    modules:
      settings:
        # Settings Page
        enabled: true
        # Config editing section
        config: true
        # Commands toggling section
        commands: true
      ticketing: true
      logs: true
      invoicing: true
      profile:
        paypal: true
        portfolio: true
        bio: true
        available_hours: true
      panel: true
    # Configuration of the Home Page
    home:
      # Homepage Chart Configuration
      chart:
        # Whether to show chart on homepage
        enabled: true
        # Whether to save Number of Tickets open per day
        save_open: true
        # Whether to save Number of Tickets closed per day
        save_close: true
        # Whether to save Number of how members joined per day
        save_join: true
        # Whether to save Number of how members left per day
        save_leave: true
      # Whether to show Number of Tickets open
      tickets_open: true
      # Whether to show Number of Active Commissions
      commissions: true
      # Whether to show Number of Members
      members: true
      # Whether to show User's Star Rating
      rating: true
      # Whether to show Number of Paid Invoices
      invoices: true
      # Whether to show total income
      income: true
    # Configuration for User Dashboard Access
    users:
      # IDs of User's who will have access to Dashboard
      access: []
      # IDs of User's who will have access to Config Dashboard Section
      config: []
      # IDs of User's who will have access to Commands Dashboard Section
      commands: []
      # IDs of User's who will have access to Customise & Send Ticket Panel from Dashboard
      panel: []

# ____________________________
#
# CHANNELS CONFIGURATION
# ____________________________

channels:
  # Name of the Ticket Channel, after '-' bot adds user's username
  # Available Placeholders: <username>, <ticket> (Ticket ID)
  channel_name: "πŸŽ«γƒ»ticket-<username>"
  # Name of the Ticket Channel after it's closed, after '-' bot adds user's username
  # Available Placeholders: <username>, <ticket> (Ticket ID)
  closed_name: "πŸ”’γƒ»closed-<username>"
  # Name of the Ticket Channel when it has an priority (high/urgent), after '-' bot adds user's username
  # Available Placeholders: <priority> (Priority Emoji), <username>, <ticket> (Ticket ID)
  priority_name: "<priority>・priority-<username>"
  # ID/Name of Category in which to open tickets
  tickets_category: ""
  # ID(s)/Names(s) of Category(ies) in which to open tickets if the 
  # category from 'tickets_category' field is full (50 channels)
  fallback_categories: []
  # ID/Name of Channel to send Transcripts of Tickets
  transcripts: ""
  # ID/Name of Channel to Send New Reviews
  reviews: ""
  # ID/Name of Channel to send Auto Announcements
  announce: ""
  # ID/Name of Channel in which to send new Suggestions
  suggestions: ""
  # ID/Name of Channel in which to send message for Suggestion Decision
  sugg_decision: ""
  # ID/Name of Channel in which to send Accepted/Denied Suggestions
  sugg_logs: ""
  # ID/Name of Channel in which to send Money Withdraw Requests
  withdraw: ""
  # ID/Name of Channel in which to send new Commisssions
  commissions: ""
  # ID/Name of Category in which to move closed tickets
  move_closed: ""
  
# ____________________________
#
# TICKETS SETTINGS CONFIGURATION
#
# Tickets releated settings
# To add/remove categories, go to categories.yml
# ____________________________ 

tickets:
  # Whether Ticket Categories Enabled
  category_status: true
  # Placeholder for Select Menu
  select_placeholder: "Click to view Categories"
  # Mention Support Role in new Tickets
  mention_support: false
  # Mention Ticket Author in new Tickets
  mention_author: false
  # Save Transcripts
  transcripts: false
  # Transcript Type, TXT or HTML
  transcript_type: "HTML"
  # DM Transcripts to User & Support who claimed ticket
  dm_transcript: false
  # Confirm Close of Ticket
  confirm_close: true
  # Time limit for confirming ticket closure (in seconds)
  confirm_close_time: 25
  # Whether to send Message (Custom, not Transcripts) to User after Closing Ticket
  dm_author: false
  # Remove Ticket when User Leaves Server
  remove_leave: true
  # After how much time to stop to ask for questions in Ticket when no answer (in seconds)
  # Timeout for Questions
  question_idle: 300
  # After how much time to delete ticket when closed (in seconds)
  delete_after: 7
  # After how much time to delete ticket when no category selected (in seconds)
  no_select_delete: 600 # 10 minutes
  # Whether to rename Ticket Channel Name upon Category Selection to Format specified in
  # Category Configuration
  rename_choose: false
  # Rename Ticket Channel to 'closed-user' after closure
  rename_close: true
  # Limit of Tickets User can open (requires tickets.category_status: false, 
  # if using categories ignore this line, per-category limits are below)
  ticket_limit: 1
  # Whether to move ticket to 'Closed Tickets' Channels Category and remove author from ticket
  # allowing staff to delete Ticket
  move_closed: false
  # Whether to save Images in Ticket Transcripts
  # This will increase Transcript File Size
  save_images: true
  # Global Service Team time availability, leave empty to disable
  # If someone opens Ticket in time you're not available, it will send message
  # Example 07:30-23:30, 13:00-22:00
  availability: ""
  # Whether to Check for Inactive Tickets and to Close them
  inactivity_check: false
  # How much Hours should pass after last Message in order
  # to mark ticket as inactive
  inactivity_time: 168 # 7 days
  # Format for Answers of Ticket Questions
  # Available Placeholders: <name>, <question> & <answer>
  # Use markdown for the best result - https://support.discord.com/hc/en-us/articles/210298617
  question_answer_format: "## <question>\n* <answer>"
  # Whether to send panel with Select Menu or Buttons
  # Available Types: SELECT_MENU, BUTTONS
  panel_type: "BUTTONS"
  # Whether to Mention Roles from both 'support' field & 'category.roles' field or just specific one
  # Need 'mention_support': true
  # Available Types: BOTH, CATEGORY_ROLES (roles from 'category.[category].roles'), 
  # SUPPORT_ROLES (roles from 'roles.support')
  mention_support_type: "SUPPORT_ROLES"
  # Whether to disallow writting into channel until Ticket Questions are answered
  lock_ticket: false
  # Are Tickets moved to specific Channel Category after Ticket Category is selected
  separate_categories: false
  # Per-Category Roles.
  # Need status: true
  separate_roles:
    # Only users with specific roles can see ticket, 'roles' field in categories
    enabled: false
    # Both users with role from 'roles' field & roles from 'roles.support' field can see ticket.
    both: false
  # How to ask questions, using Modal or by answering questions in chat
  # Available Types: MODAL, CHAT
  questions_type: "MODAL"
  # Number of Buttons on Ticket Panel per line. Max: 5
  panel_buttons_line: 3
  # Ask Questions on Ticket Creation, if Ticket Categories are disabled, 
  # otherwise use 'ask_questions' field from Ticket Category
  questions: false
  # List of Questions to ask, if Ticket Categories are disabled & questions: true
  questionsList:
    # Name for question, used for title
    # If using questions_type: "MODAL", this can be max. 45 characters long
    - name: "First Question"
      # Question to ask
      # If using questions_type: "MODAL", this can be max. 100 characters long
      question: "This is First Question."
    - name: "Second Question"
      question: "This is Second Question."
    - name: "Third Question"
      question: "This is Third Question."
  # Format for User's Transcripts List
  # Available Placeholders: <id>, <date>
  transcripts_list_format: "> Ticket ID: **#<id>** - (<date>) | Code: ||<code>|| | Owner: <owner>"

# ____________________________
#
# AUTO RESPONSES
# ____________________________

auto_response:
  # Are Responses Enabled
  enabled: false
  # Cooldown for Auto Responses (in seconds) - per channel
  # Bot won't answer to other Initiator Messages until cooldown expires
  cooldown: 5
  # Embed or Normal Message 
  # Values: EMBED, TEXT
  type: "EMBED"
  # List of Responses
  list:
    # Initiator Message - Response Message
    "Test Message": "Test Response"
    "Another Message": "Another Response"

# ____________________________
#
# AUTO ANNOUNCEMENTS
# ____________________________

auto_announce:
  # Are Announcements Enabled
  enabled: false
  # Embed or Normal Message 
  # Values: EMBED, TEXT
  type: "EMBED"
  # Interval for Announcements (in seconds)
  interval: 60
  # List of Responses
  list:
    # Message to Announce
    - "First Message"
    - "Second Message"

# ____________________________
#
# PRODUCTS CONFIGURATION
# ____________________________

products:
  # Format for Products List Embed, available placeholders: [ID], [NAME], [DESCRIPTION], [TYPE]
  format: "**#[ID]** [NAME]\n- [DESCRIPTION]"
  # After how much time to Delete Download Link (to make it invalid)
  # Example: 10m, 1h, 1w, 1mo..
  delete_download: "1h"
  # How much Users can use one Download Link (make limk invalid after x users downloads from it)
  limit_download: 1

# ____________________________
#
# SELLIX CONFIGURATION
# ____________________________

sellix:
  # Sellix API Secret (https://nidzo-docs.gitbook.io/ticketsbot/other/tebex-and-sellix#sellix)
  secret: ""
  # Roles to assign to User upon Verification when sellix.separateProducts: false
  roles: []
  # Are Per Product Verify Roles Enabled
  separateProducts: false
  # List of Products and Roles to give upon Verification,
  # Requires sellix.separateProducts: true
  products:
    # Title of Sellix Product
    - name: ""
      # List of Roles to give upon Verification
      roles: []

# ____________________________
#
# TEBEX CONFIGURATION
# ____________________________

tebex:
  # Tebex API Secret (https://nidzo-docs.gitbook.io/ticketsbot/other/tebex-and-sellix#tebex)
  secret: ""
  # Roles to assign to User upon Verification when tebex.separatePackages: false
  roles: []
  # Are Per Product Verify Roles Enabled
  separatePackages: false
  # List of Products and Roles to give upon Verification,
  # Requires tebex.separatePackages: true
  packages:
    # Title for Package
    - name: ""
      # Tebex Package ID
      id: ""
      # List of Roles to give upon Verification
      roles: []

# ____________________________
#
# CRAFTINGSTORE CONFIGURATION
# ____________________________

cstore:
  # Tebex API Secret (https://nidzo-docs.gitbook.io/ticketsbot/other/tebex-and-sellix#craftingstore)
  secret: ""
  # Roles to assign to User upon Verification when tebex.separatePackages: false
  roles: []
  # Are Per Product Verify Roles Enabled
  separatePackages: false
  # List of Products and Roles to give upon Verification,
  # Requires tebex.separatePackages: true
  packages:
    # Title for Package
    - name: ""
      # Tebex Package ID
      id: ""
      # List of Roles to give upon Verification
      roles: []

# ____________________________
#
# PAYPAL (INVOICING) CONFIGURATION
# ____________________________

paypal:
  # PayPal API Secret
  secret: ""
  # PayPal API Client ID
  client_id: ""
  # PayPal Mail to which to send Money after Invoice is Paid
  mail: ""
  # Terms of Service that will be attached to invoice
  tos: ""
  # Notes that will be attached to invoice
  # Available Placeholders: <username>, <userId>, <author>, <date> (of creation)
  notes: ""
  # Business Name for Invoice title
  title: "Champion Tickets"
  # How much days doest user have to Pay Invoice
  # For default (45) leave -1
  # Available values: 10, 15, 30, 45, 60, 90
  days: -1
  # Whether to send Message to channel After invoice status is changed to PAID
  invoice_paid: false
  # IDs/Names of Roles which to give upon paying invoice
  # Leave empty for none
  roles_give: []
  # List of Taxes applied on Invoice
  # Example:
  #
  # taxes:
  #  # Tax Name
  #  - name: "Freelancer Tax"
  #    # Tax type, can be NUMBER or PERCENT (of Base Pricee)
  #    type: "NUMBER"
  #    # Amount in Currency you specified in 'currency' field
  #    # or percent (without '%') of base price
  #    amount: 0
  #
  # If you don't want any, just change to blacklist: []
  taxes: []

# ____________________________
#
# TICKET PRIORITY CONFIGURATION
# ____________________________

priority:
  # Whether Priority System is Enabled
  enabled: false
  # Low Priority Name
  low: "Low"
  # Normal Priority Name (Default One)
  normal: "Normal"
  # High Priority Name
  high: "High"
  # Very High Priority Name
  urgent: "Urgent"

# ____________________________
#
# ROLES CONFIGURATION
# ____________________________

roles:
  # List of Support Roles which will have access to Tickets
  # Not Required if separate_roles > enabled is true.
  # Example:
  #
  # support:
  #   - "1234"
  #
  # If you don't want any, just change to support: []
  support: []
  # Format same as for 'support' Roles
  blacklist: []
  # Roles which can bypass specific stuff
  # Format is same as for above roles
  bypass:
    # Roles which can bypass Command Cooldown
    cooldown: []
    # Roles which can bypass Command Permissions
    permission: []
  # Roles which will have access to commission ticket beside User whose quote was accepted.
  # If empty all 'support' Roles will have access
  commission_access: []
  # Roles Configuration for Dashboard Access
  dashboard:
    # Roles which will have access to Dashboard
    # Everyone with 'Administrator' Permission have access to dashboard!
    access: []
    # Roles which will be able to edit Config from Dashboard
    config: []
    # Roles which will be able to enable/disable Commands from Dashboard
    commands: []
    # Roles which will be able to customise/send Ticket Panel from Dashboard
    panel: []

# ____________________________
#
# USERS CONFIGURATION
# ____________________________

users:
  # List of Users who are Blacklisted from opening Tickets
  # Example:
  #
  # blacklist:
  #   - "1234"
  #
  # If you don't want any, just change to blacklist: []
  blacklist: []

# ____________________________
#
# CUSTOM STATUS CONFIGURATION
# ____________________________

status:
  # Can be Online, Idle, Invisible & DND
  presence_status: "Online"
  # Can be Playing, Listening, Watching and Competing
  type: "Watching"
  # Random Messages in Custom Status, changing every x minutes/hours 
  change_random: true
  # Interval to Change Custom Status (in seconds)
  interval: 180 # 3 minutes, don't go below that
  # Message which is displayed in Custom Status if change_random = false
  message: "Champion Tickets v1.7.8"
  # List of Custom Status's if change_random = true
  # Available Placeholders: <members>, <channels>, <currentTickets> (Number of Current Tickets), <totalTickets> (Total Tickets Opened)
  messages:
    - "<members> total members"
    - "<currentTickets> Currently Open Tickets"
    - "<totalTickets> Total Tickets Opened"
  
# ____________________________
#
# EMOJIS CONFIGURATION
# ____________________________

emojis:
  # Emojis added to new Suggestions
  yes_emoji: "πŸ‘"
  no_emoji: "πŸ‘Ž"
  remove_vote: "⬜"
  # Create Ticket Button Emoji
  create: "🎫"
  # Close Ticket Button Emoji
  close: "πŸ”’"
  # Cancel Ticket Deletation Button Emoji
  cancel_close: "πŸ”“"
  # Next Button Emoji
  next: "β–Ά"
  # Previous Button Emoji
  previous: "β—€"
  # Get File Button Emoji
  file: "πŸ“"
  # Get Link Button Emoji
  link: "πŸ”—"
  # Ticket Priority Emojis
  priority:
    # Low Priority Emoji
    low: "πŸ”΅"
    # High Priority Emoji
    high: "🟠"
    # Very High Priority Emoji
    urgent: "πŸ”΄"
  # Transcript Logs Buttons
  transcripts:
    # View Transcript Button
    view: "πŸ‘€"
    # Download Transcript Button
    download: "πŸ“ƒ"
  # Answer Ticket Questions Button
  answer_questions: "πŸ—’"
  # Accept Quote Button
  quote: "βœ…"
  # Claim Ticket Button
  claim: "βœ‹"
  # Send Quote Button
  send_quote: "πŸ“€"
  # Review Number of Stars & Star Emoji
  review:
    star: "⭐"
    one: "1️⃣"
    two: "2️⃣"
    three: "3️⃣"
    four: "4️⃣"
    five: "5️⃣"
  # Message Commission Client Button
  msg_commission: "πŸ“€"
  # Reply to Commission DM Question Message Button
  reply_commission: "πŸ”"
  # Cancel Emoji
  stop: "❌"
  # Delete archived Ticket button
  delete_ticket: "πŸ—‘"
  # Decline Profile Quote Button
  decline_quote: "πŸ›‘"

# _____________________________________________________________
#
#                     END OF CONFIGURATION
# _____________________________________________________________

Last updated

Was this helpful?