Skip to content

Open Ticket v4.2.0

Choose a tag to compare

@DJj123dj DJj123dj released this 27 May 16:52
· 11 commits to main since this release
849c688

💡 Still want to customise categories for individual ticket options?

Use the new OT Advanced Categories plugin as a replacement for the old category customisability from config/options.json.

Added

  • Added 5 new modal question types (config/questions.jsonc)
    • Dropdown Questions
    • Radio Select Questions
    • Checkbox Select Questions
    • File Upload Question
    • Text Display Question
  • Added Sub-Panel options to create panels-in-panels (config/options.jsonc)
  • Added a priority dropdown (below the ticket message buttons)
  • Added closed ticket channel emoji's (e.g. 🔐)
  • Added /transcripts history command
  • Added description properties to all question types
  • Set maximum buttons per row in panels
  • Create tickets for another user using /ticket <user>
  • Config files changed from JSON --> JSONC
  • Added help comments to all config files
  • New OT v4.2 translations
  • New Khmer translations (Cambodja) (@yuuslokrobjakkroval)

Improved

  • Updated English translations (@DJj123dj)
  • Updated German translations (@imLudwig)
  • Updated Docker workflow & setup (@MauroDruwel)
  • Permissions are now checked before showing the Verify buttons, rather than after the ✅ button is clicked
  • Dropdown panels now support role and sub-panel options
  • The following error messages will now be deleted automatically:
    • Responder Timeout Errors
    • Channel Rename Errors
    • Channel Category Errors
  • Complete verifybar overhaul:
    • Added Accept label to ✅
    • Added Cancel label to ❌
    • Improved button reaction speed
    • Improved plugin support
    • Improved accessibility
  • Moved closeCategory, backupCategory, claimedCategories to config/general.jsonc
  • Added plugin events for priority & topic change actions
  • Added server & DM logs for /priority set
  • Added server & DM logs for /topic set
  • Added server & DM logs for /transfer
  • Complete README overhaul:
    • Added new features list with custom icons
    • Added new sponsors list (and moved to top of README)
    • Added new contributors list
    • Added new preview images
  • Moved general.jsonc config system.permissions to permissions
  • Moved general.jsonc config system.logs to logs
  • Moved general.jsonc config system.messages to logs.logMessages

Fixed

  • Fixed: missing OTv4.1 translations
  • Fixed: Reaction role reply glitching with replyOnReactionRole:false
  • Fixed: Unknown Errors now include timestamps in the otdebug.txt file
  • Fixed: Backup category doesn't work
  • Fixed: Emoji's not working with /rename command
  • Fixed: Renamed channels reverting to their original name when closed, pinned or assigned a priority
  • Fixed: Added hardcoded limit of 1000 characters in short & paragraph questions to prevent errors with embed field limits
  • Fixed: Bot not starting without administrator permissiosn in server
  • Fixed: README.md link "Navigate to Quick Setup" not working (@mods-hd)
  • Fixed: /ticket command not checking blacklist, cooldown or limits when a modal with questions was sent
  • Fixed: FJS Formatters 'undefined' not allowed in JSON errors
  • Fixed: FJS Formatters producing random trailing comma's
  • Fixed: Text commands displayed incorrect timeout errors when deferred

Removed

  • Removed Ticket Option channel.closedCategory (now at config/general.jsonc)
  • Removed Ticket Option channel.backupCategory (now at config/general.jsonc)
  • Removed Ticket Option channel.claimedCategory (now at config/general.jsonc)
  • Removed plugin list from README (now at https://odplugins.dj-dj.be)

API Changes

  • (API) Transfered shared Open Ticket API to the Open Discord Framework
  • (API) Added Components v2 support for messages & modals (modules/components.ts)
  • (API) Integrated _Default classes in the base classes
  • (API) Renamed ...ManagerIds_Default interfaces to ...ManagerIdMappings
  • (API) Type definitions are now defined in ./src/core/mappings/
  • (API) Added ODMemoryConfig class for temporary in-memory configs
  • (API) Added ODJsonCommentsConfig class for JSONC config files
  • (API) Updated Formatted Json Stringify to v1.3.2
  • (API) Added errFilename to FJS for easy debugging
  • (API) Added JSONC support to Formatted Json Stringify
  • (API) Added @open-discord-bots/framework dependency
  • (API) Functions without implementation are now marked as abstract
  • (API) Added message states for storing additional metadata in the database (ODStateManager)
  • (API) ODCheckerEnabledObjectStructure now checks disabled objects by default unless specified
  • (API) opendiscord:version is now synced with package.json
  • (API) opendiscord:api version is now synced with package.json
  • (API) Reduced code and bundle size which improves typescript compiler performance
  • (API) Imports and files now use MJS instead of CJS (.js extension in imports required)
  • (API) Added utility function getMessageFromBuildResult() for sending build results to channels
  • (API) Ticket categories are now calculated in the opendiscord:calculate-ticket-category action
  • (API) Ticket renames are now calculated in the opendiscord:calculate-ticket-name action
  • (API) New Naming Conventions:
    • Renamed ODStat classes to ODStatistic & ODStatisticManager (module: stat.ts --> statistic.ts)
    • Renamed ODCode classes to ODTask & ODTaskManager (module: code.ts --> task.ts)
    • Renamed ODConsole...Message to OD...ConsoleMessage
    • Renamed Source to Origin in all ODWorker related classes (incl. actions, builders, responders)
    • Renamed ODMessageBuildSentResult to ODResponderSendResult
    • Renamed ODClientManager.fetchGuildChannelMessage() to fetchChannelMessage()
    • Replaced #func() methods with typescript: private func()
    • Replaced #prop properties with typescript: private prop
  • (API) Removed the following ODOption data variables:
    • opendiscord:channel-category-closed
    • opendiscord:channel-category-backup
    • opendiscord:channel-categories-claimed