Skip to content

Releases: KarlOfDuty/SupportBoi

Release 4.0.0

27 Jan 18:00
3eba4ae
Compare
Choose a tag to compare

Changelog

Hotfix 2025-01-27 9:00: Fixed a dependency breaking transcripts.

Hotfix 2025-01-27 18:00: Updated to the new file size limit in the Discord API.

Major features

  • Added interview system to automatically interview the ticket creator when their ticket is created.

    • Added functionality to set different interview templates for different ticket categories. These decide which questions the bot will ask and how it will react to responses. Read more here.
    • Added an interview template JSON schema for autocomplete and error checking features in your text editor. Guides available for VS Code and Jetbrains editors in the interview templates documentation.
    • Added admin and moderation commands for the new interview system:
      • /interview restart: Restarts an ongoing interview or starts up a new one in the current ticket. Uses an updated template if available.
      • /interview stop: Stops an ongoing interview.
      • /interviewtemplate get <category>: Gets the interview template for a specific category. If one doesn't exist it gets a basic one to start out from.
      • /interviewtemplate set <template>: Sets the interview template for a specific category. The category is decided by the category id inside of the template file.
      • /interviewtemplate delete <category>: Deletes the interview template for a specific category.
    • Added config options for deleting interview messages after an interview is completed, and turning the interview system on and off.
  • Added zip transcripts. Transcripts now include all assets needed to render them as long as they can be compressed to 25MiB.

    • If a transcript zip is too large to upload the html will be sent on its own instead. An administrator can still grab the zip from the transcripts directory in order to view the proper transcript.

Minor features

  • Added reason message to /close
  • Added option to pin the first message in a ticket to make it easy to quickly scroll to the top.
  • Added command line arguments: --config, --transcripts, --leave, --help, --version
  • Added much more logging. Any commands that make any changes should now log to the log channel.
  • Added delete-messages-after-interview-end config option.

Changes

  • Renamed /admin listinvalid to /listinvalid to enable setting separate permissions for it.
  • Made /say command paginated to fit large numbers of messages.
  • Switched from using a category mention to using the text name to make it more clear to those who cannot see the category.
  • Made /listinvalid show tickets where the creator has left the server as well.
  • Updated from .NET 6.0 to .NET 9.0.
  • Updated all libraries, like the Discord API and transcriber.
  • Updated documentation with new features.
  • Switched MySQL library to a slightly more efficient one.
  • Added more information to status command.
  • Implemented a new custom console logging handler.
  • Added ticket number in the footer of many logs for when the ticket is eventually closed.
  • Add transcript dir parameter to config.
  • Add non-selfcontained build to jenkins and releases.
  • Only assign staff members with channel access when randomly assigning.
  • Unassign staff member from tickets when they are removed from staff.
  • Fixed and improved several command feedback messages and log messages.

Bugfixes

  • Fixed users not being re-added to tickets when they rejoin the server.
  • Fixed an exception sometimes thrown when using the blacklist command.
  • Fixed disabling the ticket per user limit in the config.
  • Fixed checking if the ticket is already in the destination category when using the /move command.
  • Fixed /summary command description.
  • Fixed errors when a user presses the close issue button several times.
  • Fixed /move command breaking if attempting to move to a full category.
  • Reload command no longer restarts the discord client which prevents some bugs.

Full Changelog: 3.0.0...4.0.0

Release Candidate 4.0.0-RC3

20 Jan 14:58
ab59516
Compare
Choose a tag to compare
Pre-release

Changelog

Interview Updates

  • Added a step reference system to interviews. This lets administrators define steps in the definitions property of an interview template which can then be referenced from the normal interview tree, and from the definitions themselves. It can allow for reducing interview config complexity, repeating the same step in different places of the interview, allowing the user to "go back" to a previous step, etc.
  • Replaced the END_WITH_SUMMARY and END_WITHOUT_SUMMARY with an INTERVIEW_END step type, and added the add-summary property which can now be used on any step type.
  • Added the step-references property to steps which works similarly to steps but just imports steps from the definitions instead of defining new ones. It also contains the after-reference-step property which is where the interview will continue when the referenced step tree ends.
  • Added the new step type REFERENCE_END which can be used in step definitions to jump back to the normal interview tree, outside of the referenced tree,
  • Added the answer-delimiter property to steps. By default, if a user answers the same question multiple times the new answer will overwrite the old one in the interview summary. If this property is set the answers will instead be merged together with this string used as delimiter.
  • Added some more interview template validation.
  • Merged delete-messages-after-summary and delete-messages-after-no-summary into delete-messages-after-interview-end in the config.
  • The interviews database table now has a new definitions column of the JSON type.

Fixes

  • Fix guild list showing every few hours in the console.
  • Fix the reload command's log message.
  • Reload command no longer restarts the discord client which prevents some bugs.
  • Fix bot status disappearing after a while.

Full Changelog: 4.0.0-RC2...4.0.0-RC3

Release Candidate 4.0.0-RC2

08 Dec 23:28
c9b175c
Compare
Choose a tag to compare
Pre-release

Changes and fixes

  • Fixed and improved several command feedback messages and log messages.
  • Made transcripts use a more aggressive compression method.
  • Unassign staff member from tickets when they are removed from staff.
  • Add non-selfcontained build to jenkins and releases.
  • Add transcript dir parameter to config.
  • Fix roles and guilds repeatedly printing to console log.
  • Only assign staff members with channel access when randomly assigning.

Full Changelog: 4.0.0-RC1...4.0.0-RC2

Release Candidate 4.0.0-RC1

08 Dec 13:01
8d2e144
Compare
Choose a tag to compare
Pre-release

Changelog 4.0.0-RC1

Major features

  • Added interview system to automatically interview the ticket creator when their ticket is created.

    • Added functionality to set different interview templates for different ticket categories. These decide which questions the bot will ask and how it will react to responses. Read more here.
    • Added an interview template JSON schema for autocomplete and error checking features in your text editor. Guides available for VS Code and Jetbrains editors in the interview templates documentation.
    • Added admin and moderation commands for the new interview system:
      • /interview restart: Restarts an ongoing interview or starts up a new one in the current ticket. Uses an updated template if available.
      • /interview stop: Stops an ongoing interview.
      • /interviewtemplate get <category>: Gets the interview template for a specific category. If one doesn't exist it gets a basic one to start out from.
      • /interviewtemplate set <template>: Sets the interview template for a specific category. The category is decided by the category id inside of the template file.
      • /interviewtemplate delete <category>: Deletes the interview template for a specific category.
    • Added config options for deleting interview messages after an interview is completed, and turning the interview system on and off.
  • Added zip transcripts. Transcripts now include all assets needed to render them as long as they can be compressed to 25MiB.

    • If a transcript zip is too large to upload the html will be sent on its own instead. An administrator can still grab the zip from the transcripts directory in order to view the proper transcript.

Minor features

  • Added reason message to /close
  • Added option to pin the first message in a ticket to make it easy to quickly scroll to the top.
  • Added command line arguments: --config, --transcripts, --leave, --help, --version
  • Added much more logging. Any commands that make any changes should now log to the log channel.

Changes

  • Renamed /admin listinvalid to /listinvalid to enable setting separate permissions for it.
  • Made /say command paginated to fit large numbers of messages.
  • Switched from using a category mention to using the text name to make it more clear to those who cannot see the category.
  • Made /listinvalid show tickets where the creator has left the server as well.
  • Updated from .NET 6.0 to .NET 8.0.
  • Updated all libraries, like the Discord API and transcriber.
  • Updated documentation with new features.
  • Switched MySQL library to a slightly more efficient one.
  • Added more information to status command.
  • Implemented a new custom console logging handler.
  • Added ticket number in the footer of many logs for when the ticket is eventually closed.

Bugfixes

  • Fixed users not being re-added to tickets when they rejoin the server.
  • Fixed an exception sometimes thrown when using the blacklist command.
  • Fixed disabling the ticket per user limit in the config.
  • Fixed checking if the ticket is already in the destination category when using the /move command.
  • Fixed /summary command description.
  • Fixed errors when a user presses the close issue button several times.
  • Fixed /move command breaking if attempting to move to a full category.

Full Changelog: 3.0.0...4.0.0-RC1

Release 3.0.0

17 Aug 18:43
1bc296c
Compare
Choose a tag to compare

Changelog

  • Updated command system to slash commands.
  • Most commands have been completely overhauled.
  • Added new commands: /createbuttonpanel, /createselectionbox, /addcategory, /removecategory, /admin listinvalid.
  • Removed reaction based new ticket system.
  • Added button and selection box based new ticket systems.
  • Added support for users to open tickets in specific categories.
  • Removed permission system, make sure to turn off command permissions for the everyone role in Settings->Integrations->Bot->Command Permissions before you update and set the command permissions after you have updated.
  • Removed several config entries, it is recommended that you regenerate your config.

IT IS HIGHLY RECOMMENDED TO FOLLOW THE GUIDE IN THE README TO SET UP THE BOT AGAIN AS SO MUCH HAS CHANGED

New Contributors

Full Changelog: 2.6.1...3.0.0

Release 2.6.1-B

26 May 15:03
e8f4ec5
Compare
Choose a tag to compare

Changelog

Just updated the Discord API to a release version instead of a beta version, and updated the transcript library.

Should now support things like rendering stickers in transcripts.

Full Changelog: 2.6.1-A...2.6.1-B

Release 2.6.1-A

10 Apr 11:26
8108e40
Compare
Choose a tag to compare

Changelog

  • Updated to .NET 6.0
  • Updated dependencies
  • Fixed unpacking of some Oauth parameter on startup
  • Fixed Jenkins builds

Full Changelog: 2.6.1...2.6.1-A

Release 2.6.1

07 Nov 22:18
Compare
Choose a tag to compare

Changelog

  • Added say, addmessage and removemessage commands for often used messages (Example at the bottom).

  • Added messages in tickets when the user who opened them leaves or rejoins the server

  • IMPORTANT! The bot will now automatically re-add users to their tickets when they rejoin the server. If you want to hide a ticket from the one who opened it make sure to use the 'unsetticket' command to remove them from it.

  • Disallowed tickets from being created from other tickets

  • Updated Discord API to DSharpPlus 4.1.0

  • Updated to .NET 5.0

  • Updated DiscordChatExporter to commit 092f0ca, transcripts will now look much better again

New commands example:
image

Hotfix 2.5.1

06 Dec 17:57
Compare
Choose a tag to compare

Fixed another bug where tickets sometimes would refuse to close.

Release 2.5.0

22 Nov 22:21
Compare
Choose a tag to compare

Changelog:

  • Updated Discord API version.

  • Removed Google API integration. (None of the users who answered my polls in Discord and Github used it at all, including me)

  • Replaced presence-game config with presence-type and presence-text.

  • Added a role parameter to the rassign command, use this to randomly assign a ticket to staff members with a specific role only.

  • Added config random-assign-role-override. If true the rassign command will give out tickets to anyone with the specified role regardless of if they are set as inactive or not. This only affects the command when a role is specified.

  • Set bot intents so the Discord API is happier, you should not have to set either of the intents on your bot settings page unless they change it in the future.

  • Fixed bug where tickets would sometimes refuse to close if either the bot crashed or lost connection to Discord when attempting to close it previously.

Remember to check the readme for the updated config.