Skip to content

Releases: DreamExposure/TicketBird-Discord-Bot

v2.1.0

12 Oct 02:51
5155465
Compare
Choose a tag to compare

📮 TicketBird Release 2.1.0

This update targets a number of administrative features aimed at making TicketBird more powerful when it comes to long-term support and usage within a community to allow better auditing and control over the system.

Milestone: 2.1.0

⭐️ New Features and Additions

  • Ticket logging!
    • NOTE: This feature is currently disabled while I work on getting the Message Content Intent from Discord.
    • Now when ticket channels are deleted by the bot, server admins may configure the bot to log the transcript to another channel.
    • Enable logging via /setup logging enable:true channel:#channel-to-upload-transcripts-to
      • Note: I recommend enabling it even while the feature is disabled, as it will automatically start once I enable the feature.
    • Logs full transcript of messages, embeds, links, and files uploaded within a ticket to a zip file uploaded to a preferred logging channel.
    • Log and attachments files can be validated with a SHA-256 checksum
  • Hide ticket stats
    • Previously, TicketBird's open ticket embed always showed how many tickets were open, on hold, and closed. This can be useful, but may not be desired, so it can now be toggled.
    • Use /setup show-ticket-stats to enable/disable showing ticket counts in the embed.
  • /Ticket command
    • This command serves as an alias for several functions (closing, placing on hold, opening tickets) and includes new functions such as adding or removing users from a ticket.
  • Add/remove users from Tickets
    • Use /ticket add to select a user to add to the ticket
    • Use /ticket remove to select a user to remove from the ticket

🪄 Improvements

  • Upgraded to Discord4J 3.2.6
  • Allow adjusting activity monitor processor frequency globally in config without full code deploy
  • Cache layer rewritten to be more robust and feature rich
  • Logging and other observability tooling overhauled for better application health monitoring

🐞 Bug Fixes

  • Project create failing due to improper object mapping (fixed in hot fix)
  • Activity processor halting on unhandled error
  • Formatting errors in settings view embed
  • Ticket opening sometimes timing out due to no defer

🔨 Work in Progress and Upcoming Changes

  • Started work on allowing project renaming (there's a decent amount of internals to change to allow this due to legacy design)
  • Working my way through the other open issues
  • Eventually going to rewrite the website to a nice minimal design.

💜 Thanks

Thank you to everyone who has helped contribute to TicketBird! This project would not be possible without you.

v2.0.2

07 Jan 21:42
7effc70
Compare
Choose a tag to compare

📮 TicketBird Release 2.0.2

This update addressed a number of open tickets and feature requests relating to UX.

Milestone: 2.0.2

⭐️ New Features and Additions

  • New /topic command to allow changing a ticket's topic even after it has been created!
  • View all details about a topic/project with the new /project view command
  • Staff RBAC #19
    • Set staff per-project with new /project edit command
  • Allow mentioning specific roles and staff members when a ticket is created #14
    • Use the /setup ping command to configure globally
    • Can be overridden on a project-level with the new /project edit command
  • View TicketBird's current configuration with the new /setup view command

🪄 Improvements

  • Ephemeral messages from the bot are now auto-deleted after a delay.
    • This allows users to avoid constantly clicking dismiss, and improves UX when opening tickets
  • Project prefixes can now be modified via the new /project edit command

🐞 Bug Fixes

  • Unhandled 403 error in activity processor
  • /setup init not properly detecting if setup has been done before, suggesting repair
  • Fix a number of minor typos in messages sent by the bot

🔨 Work in Progress and Upcoming Changes

  • Working my way through the other open issues
  • Eventually going to rewrite the website to a nice minimal design.

💜 Thanks

Thank you to everyone who has helped contribute to TicketBird! This project would not be possible without you.

Thank you to all our patrons who have helped support TicketBird, our other projects, and DreamExposure Studios!!!

v2.0.1

09 Oct 15:24
d927529
Compare
Choose a tag to compare

📮 TicketBird Release 2.0.1

This update is a rather small supplemental update aimed at addressing several areas for improvement observed after the rollout of the v2 rewrite and includes changes aimed at making it so developer intervention is required less frequently.

Milestone: 2.0.1

⭐️ New Features and Additions

  • New /staff role to set a role as TicketBird staff #20
  • New /support command to allow opening tickets with a command instead of just a button interaction #24
    • This gives users more options and ways to open tickets in order to make using the bot as easy and accessible as possible.
  • New /setup repair command & self-healing system #25
    • This command allows server admins to repair TicketBird's channel setup and permissions automatically.
    • When the bot detects something that might break it, it will update various places informing server admins to run the command.
    • The command will attempt to repair everything automatically, and when not possible, will give instructions for what server admins need to do in order to get the bot working again.
  • New /setup timing command to allow configuring the amount of time required for certain automated TicketBird action.
    • Supports auto close inactive tickets (defaults to closing tickets after 7 days of inactivity) and auto delete closed tickets (defaults to deleting closed tickets 1 day after being closed)

🪄 Improvements

  • TicketBird will now fast-fail several actions when it detects something might be wrong
  • Cleaned up interaction handling code.
  • Responses from the /staff command will now always include the staff list embed for clarity.
  • Update to Koltin 1.7.20 & Spring Boot 2.7.4

🐞 Bug Fixes

  • Fixed incorrect permissions causing ticket openers to not see the ticket channel #23
  • Fixed incorrect permission grants for tickets.
  • Fix numerous error conditions that should now be handled by the repair system.
  • Fix not updating TicketBird's static message after auto closing/deleting tickets.
  • Upgraded discord4j-stores to 3.2.2 to fix compatibility issues

🔨 Work in Progress and Upcoming Changes

  • Working my way through the other open issues
  • Eventually going to rewrite the website to a nice minimal design.

💜 Thanks

Thank you to everyone who has helped contribute to TicketBird! This project would not be possible without you.

Thank you to all our patrons who have helped support TicketBird, our other projects, and DreamExposure Studios!!!

v2.0.0

21 Aug 15:51
a010f3c
Compare
Choose a tag to compare

📮 TicketBird Release 2.0.0

Holy sh*t. It's happened. After over a year, I've finally updated the bot. And holy crap, is this an update.
Notably this was pushed heavily due to Discord's interaction requirement and message-content intent enforcement coming done shortly. But, I took the chance to overhaul the bot and bring it to a place I'm actually proud of. Its not abandonware, I promise.

Let's hit the highlights:

  • Discord interactions support! This in-place migration moves to interactions, members will get an even easier ticket opening process, including utilizing Discord's new modals and interactions system!!!
  • 100% rewritten to Kotlin, yeah, that's right, not a single line of the original java codebase is left. (didn't touch the website, we don't talk about it, I know, I'm working on it)
  • Upgraded to Discord4J v3.2.3

And that's just the tip of it, more details below.

⭐️ New Features and Additions

  • Full interactions support! Commands, buttons, modals, and more!
  • All commands migrated to slash commands, maintaining 1:1 functionality.
  • Opening tickets is now done by clicking a button in the support-request channel.
    • If using projects, the user will be presented with a dropdown to select the topic for what they need help with.
    • After the above step (or skipping it) a modal will be presented to provide additional info, and then creating the ticket, hopefully mitigating those times when users don't provide any info.
    • Sending a message in the support request channel will no longer open a ticket and instead be deleted. Servers not automatically migrated will have the button appear after this first message.
    • We recommend now restricting send message perms in the support-request channel.
  • Opening message on new tickets now has buttons for easily closing or placing on hold
  • Projects now rebranded to "topics" on user-facing dialogs (still using project command for now)
  • Bot will now validate its permissions when running /setup init to prevent mysterious errors.

🪄 Improvements

  • Overhauled all messaging. You'll notice messages are more informative and less confusing.
  • Several commands now respond with informative contextual embeds
  • /project remove will show auto complete suggestions from existing projects.
  • Implemented caching with Redis
  • Cleaned up database schema for improved database performance
  • Upgraded to Java 17 & use Kotlin 1.7
  • Upgraded to Discord4J v3.2.3
  • Upgraded several other core dependencies & removed several that were no longer needed
  • Cleaned up GH actions pipeline

🐞 Bug Fixes

  • Closed tickets will now be auto-deleted 24 hours after closing, not 24 hours after last activity. Whoops.
  • Several other minor bugs & issues

🗺️ Translations

  • Overhauled translation system
  • Due to messaging overhaul, all translations had to be removed, we openly welcome contributions

🔨 Work in Progress and Upcoming Changes

  • Working my way through the other option issues
  • Eventually going to rewrite the website to a nice minimal design.

💜 Thanks

Thank you to everyone who has helped contribute to TicketBird! This project would not be possible without you.

Thank you to all our patrons who have helped support TicketBird, our other projects, and DreamExposure Studios!!!

v1.0.2

19 Jul 16:40
e508c15
Compare
Choose a tag to compare

TicketBird Release 1.0.2

Summary

This update is a fairly small update to address some bugs and issues we have observed.

TicketBird has also had its license upgraded to GPL-v3 from LGPL-v3

Bug Fixes

  • NPE error when messages sent in announcement channels
  • Errors when changing settings like the prefix when the setup command has not yet been run

Improvements

  • Building on and using Java 16
  • Reduced some REST requests which are not needed.
  • Corrected invite URL on the website and fixed some typos
  • Added alt tags to images on website

Updated Dependencies

  • D4J 3.1.7
  • D4J Stores 3.1.8
  • gradle-git-properties 2.3.1

Other Changes

  • jib tag when building snapshot versions will use latest
  • Add build number to version name when building on Jenkins (otherwise the seconds since epoch)

Work in Progress and Upcoming Changes

  • Not sure yet. Suggestions are welcomed! I'd love to know what I can do to make this project even better

Thanks

Thank you to everyone who has helped contribute to TicketBird! This project would not be possible without you!

Thank you to all our patrons who have helped support TicketBird, our other projects, and DreamExposure Studios!!!

An extra special thank you to these patrons:

  • Brenda Maday
  • LuzFaltex

TicketBird Release 1.0.1

10 Jun 16:25
975d019
Compare
Choose a tag to compare

TicketBird Release 1.0.1

Summary

This update is mainly an under the hood update to make the bot more stable and allow running within kubernetes as our backend systems are now running inside of a kubernetes cluster.

New Features and Additions

  • =project toggle
    • Allows toggling whether or not to use projects to aid in ticket sorting
    • default: true

Bug Fixes

  • Bot no longer freaks out in unrelated channels

Improvements

  • Cleaned up several classes and converted some files to Kotlin

Updated Dependencies

  • Discord4J 3.0.6 > 3.1.5
  • SpringBoot
  • Reactor
  • Several other small dependencies

Work in Progress and Upcoming Changes

  • Honestly not sure, TicketBird needs a lot of work and I'm, not sure what would be good to add/change right now.

Thanks

Thank you to everyone who has helped contribute to TicketBird! This project would not be possible without you!

Thank you to all our patrons who have helped support TicketBird, our other projects, and DreamExposure Studios!!!

An extra special thank you to these patrons:

  • Brenda Maday
  • LuzFaltex