Releases: DreamExposure/TicketBird-Discord-Bot
v2.1.1
📮 TicketBird Release 2.1.1
This release features a handful of highly requested features and changes, as well as further improvements in UX and UI design to reduce confusion. The support message can now be customized, supporting full Discord markdown, and a second information dialog can be sent when a user opens a ticket. This should allow server admins to further configure the bot to best align with their community needs and improve overall communication throughout the flow of a ticket.
⭐️ New Features and Additions
- Customizable messages!
- Additional info for projects
- Added visibility into just who can view tickets in the
/project view
embed
🪄 Improvements
- Ticket detail modal now allows leaving the extra info field blank
/project add
now pops a modal for improved UX with the addition of project info- Ticket opened embed formatting has been improved
- Metrics can now measure sub-command performance allowing better insight into usage and performance
- Updated several dependencies
- Improvements in caching
🐞 Bug Fixes
- Fixed formatting issues in
/ticketbird
command embed - Fix condition where ticket activity won't fully process
- Fix some redis cache implementation bugs
🔨 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.1.0
📮 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
- Use
🪄 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
📮 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
- Set staff per-project with new
- 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
- Use the
- 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
📮 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
📮 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.
- View All Commands Here
- Not seeing TicketBird's commands? Reinviting should solve it!
- 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
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
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