Skip to content

Version 2.12.0

Changes:

  • Added a new customer panel that for now allows the ticket author to add and remove people.
  • Transcripts have been majorly overhauled to be more reliable and contain more information.
    • The bot can now download all attachments sent within ticket channels to .bot/saved-attachments/{message-id}/{file-name} in order to safe-keep them for use in transcripts. This is disabled by default, but can be enabled by setting tickets.transcripts.downloadAttachments in config.yml to true. However, be aware of the caveats that come with it:
      • Downloading all attachments can lead to potentially large files being saved on the bot’s disk. Do not opt-in to using this feature if your disk storage is limited.
      • Be careful when using this feature on metered connections (for example on limited or pay-per-GB mobile data) as running the bot with attachment downloading can exhaust data really fast. Please do not enable downloading attachments in this case.
      • If you want to access downloaded attachments, you can do so by accessing the API: {API_URL}/transcripts/assets/:messageId/:filename. This link aims to exactly replicate the Discord CDN in behavior, simply more reliable. This URL is also saved in the savedattachments SQL table under the url column.
      • Normal Discord CDN link to the attachment will be saved no matter if attachment mirroring is enabled, under the column originalUrl. Proxied media.discordapp.com links will also be saved under proxyUrl.
      • Console logs will be sent to notify you whether the bot has started downloading attachments and when they’re done downloading. They will be sent as Info and Success log types, which means they can’t be suppressed.
      • In case where an attachment fails to be saved (for example due to Discord CDN outage) an error will be printed to the console - however, the bot will work exactly the same otherwise - the only difference being that the replicated file’s URL is not set.
      • Note: attachments saved for messages which have been deleted will not be deleted.
    • Edits and deletes to messages will alter the transcript to show the edited messages or a [DELETED] tag near them. You can hide deleted messages in transcripts by setting tickets.transcripts.includeDeletedMessages to false.
    • Added trace messages for when the bot saves a transcript message to the database, edits it or marks it as deleted. Logging mode has to be set to highest (debug) in order for these to be shown.
    • Since transcript messages are saved often, this change can potentially affect database size, as it now saves more data overall, however the difference should be negligible. If you notice hugely larger database sizes to the point where it becomes a problem, contact the developers on the Discord server and we’ll consider options to disable saving transcripts.
    • Transcripts are now fully translatable.
  • The bot will now show proper currency symbols if the configured currency is different than USD.
    • We’ve added 155 most popular currencies. In the unlikely event of your currency not appearing properly within the bot but being supported by payment gateways (either PayPal or Stripe), please contact us so we can add it.
  • Disabled ticket types won’t appear in the panel anymore.
  • /viewpaypal will now require manager role.
  • You can now toggle on creation of invoices in non-commission tickets.
  • The bot will no longer display the “handling fee” field if a handling fee for a given gateway is set to 0%.
  • Added new API routes:
    • GET /tickets/by/:userId - get tickets made by a user. Also supports a query param: ?type= to filter by ticket type (accepts num. 0-2).
    • GET /transcripts/assets/:messageId/:filename - gets a saved attachment from the database.
    • New route collection, users:
      • /users/:guildId/:userId/role - get user's role in a given guild. Will return a number representing the role, 0 = no role (customer), 1 = freelancer, 2 = manager. The role is decided from the
  • The bot will now de-dupe repeat console messages by adding a (N x) at the end.

![[Untitled.png]]

  • The dev script will now run clean, build and start using pnpm (the recommended package manager for development of this bot) instead of ts-node.

Config changes:

  • Added invoicing.allowOutsideCommissions (incl. the new invoicing key).

![[Untitled 1.png]]

  • Added api.url which decides the transcript assets location. Set this to your public API URL, for example https://myapi.domain.com/. Defaults to http://localhost:2020 and should be changed in production.
  • Added tickets.transcripts.downloadAttachments to control whether all attachments will be mirrored to bot’s disk for safekeeping.
    • Defaults to false - do not download attachments.
    • In the case of this option being false, the Discord CDN URL to the resource will be written to the database - which has an expiry link and is unreliable. Links to attachments in transcripts are not guaranteed to work in that case.
  • Added tickets.transcripts.includeDeletedMessages to control whether deleted messages will be shown in transcripts. If true, deleted messages will be shown with a (DELETED) tag. The transcript API will respect this setting as well.

Issues fixed:

  • wrong Stripe fee is displayed on inactivated invoices
  • errors not properly showing when using the bank panel
  • currency command has bad markdown formatting for bolding text
  • currency command displays too many digits after the comma