Fishsticks Update V1.15.00

Fishsticks Update V1.15.00

Ah, the long awaited Update 15.

Going to be frank here, Update 15 wasn’t supposed to be out this soon, but I moved to halt and push some planned changes to the next update – either as a patch or potentially as a part of Update 16. I’m going to jump straight into it and look at what I pushed back.

  • !bible. This command was being looked forward to – I know. The way the API I’m working with is handled, JavaScript has made this fairly difficult. Setting up a range of verses to print out has become a bit of an unscratchable itch in the back of my mind. The update plans did say foundation – which has actually been finished, it’s there.
  • !play. This one was supposed to receive a giant amount of optimization and logic changes. That…I wont go into it right now…just gonna say it’s been pushed.
  • MATB “You” bug. This technically hasn’t been fixed. The whole filter is meant to stop a targeted artist from playing. The change here that was made was that the subroutine will start disabled instead of enabled. This will reduce the amount of needing it turned off significantly.
  • Global variable logging: Most of these made it in, stuff like song history, and number played have been skipped.
  • Soundcloud Integration: Yeah, that’s probably going to beĀ  most of Update 16 alongside the finalization of !bible.

Now, onward to the actual changelog; what did I actually get finished. I’m going to take this straight off the GitHub commit description and then compare it to the Update 15 plans from the previous post. This should give you a good idea of what got done and what other changes occurred.

Update 1.15.00

  • Global system logging: the entire bot will now display all available console output to a console channel in Discord. This is all console output except those I may have forgotten and any that cannot be logged due to pre-initialization of the Discord interface. System logging is handled by inter-command functions that make use of a “level” system. Each console output ranges from 1-4 in severity/importance.
  • All commands that print to console have been updated with the system logging feature.
  • Innumerable changes have been made across the bot concerning load optimization and efficiency. This is comprised of removed unused package loads, removed unused code, and various logic changes.
  • The !rocketleague command has been removed.
  • Due to the removal of the Rocket League role from Discord, all pertaining commands that make references to it have been updated: !divisions, !echo, !roles, !help (more below), and !channels.
  • The !help command has been modularized in terms of embeds. Now instead of one giant embed of information, the command sections have been broken into their own embed which is printed in the same stack order as the original command. This also includes the addition of a music player command list.
  • Removed the !musicplayerhelp command.
  • Updated !play, !volume, !queue, !skip, and !stop to use a new configuration file.
  • Changed all command requirements made to the channels configuration to work with a new optimized configuration.
  • Added new commands:
    • !vouch [@user]: Allows permitted users to vouch for a user with no roles. Once two vouches are accrued, the vouched for user is automatically granted the Recognized role.
      • @user: a mention of the user to vouch for.
    • !subroutine [state] [routine]: Allows staff and up to configure the state of a subroutine to on or off. This allows the complete disablement of various Fishsticks functions such as the Twitch screen all the way to active commands entirely.
      • state: either enable or disable
      • routine: one of the Fishsticks subroutine IDs
    • !poll [-Question] [-Answer] [-Answer] <..>: Allows (A)CC Members to post an in-channel poll using emojis as responses. The system keeps a record of responders so that no person can vote more than once. Keep note of the use of hyphens before the parameters; this command is unique in that manner because parameters differentiated between by spaces are kind of hard when a question is composed of multiple words.
      • -Question: The question used for the poll.
      • -Answer: An answer to the poll. Command requires at least 2 answers up to a maximum of nine.
    • !bible <bookNum> [book] [chapter] [startingVerse] <endingVerse>: Allows users to print an embed to the issued channel containing a passage of RSV scripture. Disabled until finished.
      • bookNum: Optional – defines either the first or second book (i.e. 1 Samuel)
      • book: the biblical book (i.e. Genesis)
      • chapter: the book chapter
      • startingVerse: the chapter verse you wish to start at
      • endingVerse: Optional – the chapter verse to end the range with
  • Changed !status to appear more aesthetic. The window now includes global variable record of subroutines and command statistics. Subroutines are shown as either Online or Offline and includes a system efficiency calculation: based off of how many subroutines are running and enabled.
  • Changed the passive command good music and great music to upload the original sepWays.mp3 as Journey – Separate Ways.mp3 instead.
  • Added 23 new passive commands (punctuation sensitive):
    • 42
    • the meaning of life
    • the meaning of the universe
    • the meaning of everything
    • the meaning of life, the universe, and everything
    • clearance
    • engage
    • grenade
    • inconceivable
    • ni
    • schwartz
    • surely
    • troll
    • i have the high ground
    • fly you fools
    • holy hand grenade
    • hand grenade
    • flesh wound
    • just a flesh wound
    • dark helmet
    • ludicrous speed
    • you’re the worst
    • the duchess approves
    • plaid
  • Added all new GIFs for their respective passive commands.
  • Removed channels.json from the system as it’s embed was no longer required.
  • Disabled info until optimizations are finished.
  • Changed !mattybmode so that it sets the new state to the subroutine master list.
  • Session change has moved from 588 startups to 1067.
  • New log.js – external script that handles the leveling of the system logging system.

Now, let’s compare to what the plans actually were.

  • Modular Subroutine Control: Done
  • System-wide Session Statistics and Efficiency: Partially
    • Subroutine efficiency report: Done
    • Targeted Subroutine status: Skipped
  • Systems Optimizations and Reworks
    • Command/System Subroutine checks: Done
    • Music Player Optimizations:
      • Fix for sudden disconnections: Skipped
      • Copyright Message: Skipped
      • MATB “You” bug: Sort of…Fishsticks now starts with MATB disabled but the bug itself was not fixed.
    • Console Logs printed to Discord Channel: Done
    • Global Variable Logging: Partially
      • Command statistics: Done
      • Song history: Skipped
      • Songs Played: Skipped
    • File I/O: Done
  • Addition of Vouch: Done
  • New Passive Commands: all Done
  • Bible command foundation: Done
  • Polling System: Done
  • Soundcloud Integration: Skipped – Cannot be done: Looked into it and the API is locked to new applications as this time.

Now, I’d call that a success.

That’s all for this update. Next updates will be for LCARS47. He needs some love. Alright, I’m gonna go take a break now.

Leave a Comment