Skip to content

v4.2.0 Release

Compare
Choose a tag to compare
@KaoushikMurugan KaoushikMurugan released this 01 Nov 09:38
· 1 commit to v4.2-stable since this release

New Features!

  1. New commands /serious_mode on and /serious_mode off to disable emoticons and other "fun" features per server.

    • Currently removes the emoticons used in queues
  2. YABOB now shows a discord Presence!

    • Randomly updates to a new presence every 30 minutes
    • You can find the full list of presences it can show in this file
  3. Queue auto clear now has display support! If an auto clear timer is started, the queue will now show a dynamic countdown to when the queue will be cleared.

  4. When a queue is open, the voice channel status of all the active helpers will be displayed in the Currently Available Helpers embed.

Feature Changes & Performance improvements

  1. Embeds that display YABOB's profile picture will now dynamically use the bot client's avatar instead of using the hardcoded Imgur link.

    • YABOB will use the avatar that you set it to use in discord's developer portal
    • If you update the avatar while the bot is running, you don't need to restart the bot as the avatar is dynamically fetched.
  2. Using Discord Modals (basically forms) for /set_after_session_msg and /set_queue_auto_clear

    • Entering these commands will now prompt a modal (aka a form) with text box that you can fill out and submit.
    • Benefits of modals:
      • You can now have newline characters (by pressing Shift + Enter) in your after session message
      • Limit to 2 digit number for hour and minutes for queue auto clear timeout.
  3. /list_helpers now displays a helper's vc status

  4. Faster /start, /stop, /next and queue updates #82

Bug Fixes

  1. Fixed issues with voice channel links

    a. Links sometimes didn't work. This is now fixed

    b. Permission Overrides now gets revoked after a student finishes their session.

  2. Display error messages when discord.js returns an error. #88

  3. Fixes the issue where students loaded from firebase backup cannot be correctly dequeued

Internal changes

  1. Firebase is now a built-in feature and no longer an optional extension.

    • This means that to set up your own YABOB, you must have the firebase credentials setup.
  2. Client object is now a global object and can be accessed in any file. Type is Client<true>. This object is guaranteed to have non-null user properties.

  3. Moved success and error messages to separate files:
    a. Server Errors: src/attending-server/expected-server-errors.ts
    b. Base Interaction Errors: src/command-handling/builtin-success-messages.ts, src/command-handling/expected-interaction-errors.ts
    c. Calendar Extention Errors: src/extensions/session-calendar/calendar-success-messages.ts, src/extensions/session-calendar/expected-calendar-errors.ts

  4. Better uncaught error handling #59

  5. Now using ESModules instead of CommonJS to allow top level await.

  6. Generated developer documentation using typedoc and typedoc-plugin-merge-modules!

    • Can be found here
    • Generated via the command npm run makeDoc.
  7. Updated to the newest NodeJS LTS version (v18.12.0)