Fishsticks Update 15 Plans II

Greetings all,

The last post I dropped contained the initial plans for Fishsticks’ 15th update. In this post, I hope to cover some other plans that have dropped up and perhaps shed more insight on some of the other plans from the previous post.

So if you don’t know what’s going on so far with update 15, this update is intended to optimize and fix a lot of systems inside Fishsticks. Crash prevention stuffs were already a thing beforehand such as when the music player subroutine was introduced, but this update will try and expound upon those systems with special attention given to the music subroutine. On top of these optimizations, plans are to modularize the subroutines within Fishsticks, from simple stuff like Engineering Mode to the entire active command handler. Only staff and above have access to this system (and that may be revised) and it requires a second step in order to run anything. The goal of it is simply to make changing stuff around easier without users poking buttons that will require extra work later – plus, when future systems are added, they’ll likely start off disabled and we’ll simply activate them when needed.

Other plans are to compose new passive command responses and add on to those that already exist, such as the “eyup” response. The last patch release introduced “hello there” which has become quite popular and I hope to build onto this with new passive commands, some silly, some serious, whatever.

Now, with some intro out of the way, let’s look at the previously discussed plans and discuss what I wish to work on.

  • Modular Subroutine Control
    • Addition of the subroutine command.
      • Syntax: !subroutine [enable/disable] [routine]
      • Function: To disable internal systems such that certain global variables are not tinkered with during maintenance. Also will allow staff to control capabilities during events.
    • The active command handler can be disabled this way; command access is restricted and also requires a second step in the event someone is tinkering around.
  • System-wide Session Statistics and Efficiency
    • Revamp of the status command.
      • Syntax: !status
      • Function: Displays menu of Fishsticks variables and statistics from commands to errors and more. Now displays system efficiency based on number of subroutines running.
    • Status will rerun the evaluation of efficiency every time the command is run. Session efficiency is gauged on the number of subroutines running. ENGM is left out of the base efficiency calculation (when off and everything else is on, returns 100%). This may be added onto by removing the MATB subroutine as well.
  • Systems Optimizations & Reworks
    • Subroutines checks for subroutine enabled. If not, commands are not executed.
    • Internal code reworks to the music player. Numerous systems in here are cluttered including the entirety of the MATB routine. Channels and permissions checks will also be reworked. Copyright systems have been neglected since the inclusion of the search function for YouTube. Here’s a synopsis thus far of the planned changes:
      • Fix for Fishsticks disconnecting from a music channel immediately after joining
        • Believed to be a copyright issue. Unsure, code cleaning should reveal.
      • Fix the copyright message return. Fishsticks suddenly stopped issuing copyright messages on certain unplayable videos.
      • MATB check reworks, users shouldn’t need to disable MATB in order to play a song with the word “you” in it.
      • Console logs will now be outputted to the #fishsticks-system-log channel (includes the exclusion of message checking there.)
      • Global variable integration, status will report logged variables such as commands attempted, music player catches logged, songs played, etc.
      • File read/write system optimization, export to separate import for utilization for future subroutine states.
      • *More on this to come*
  • Addition of Vouch
    • Members can execute !vouch [userTag] to add a vote to a user. Once the user being vouched for has 2 (or whatever is decided) votes, the member has the Recognized role attached and the Newcomer role removed.
  • New Passive Commands (inputs accepted in any case)
    • fire phasers will be reworked to accept fire phasers or fire torpedoes with a respective GIF.
    • i have the high ground – GIF
    • engage – GIF and response
    • troll – Football.
    • fly you fools – GIF
    • the meaning of life – 42 and IMG
    • the meaning of the universe – 42 and IMG
    • 42 – Response and IMG
    • the meaning of everything – Response and IMG
    • holy hand grenade – quote response and IMG (Or GIF)
    • inconceivable – GIF
    • ni – GIF
    • grenade – GIF
    • flesh wound – GIF
    • clearance – Response
    • surely – I am serious, and don’t call my Shirley.
    • Shwarz – may dah shwartz be wid you.
    • dark helmet – I am your fathers brothers nephews cousins former roommate.
    • ludicrous speed – GIF
  • Planned foundation for a !bible [book] [chapter] [verse] (version) where the command will search an online resource for the specified bible verse and display it in the channel where the command was executed.
    • This is something I wish to implement. Sometime.
  • Polling System. This one has been in the works for a while.
    • !poll [numberOfOptions] [pollOption1] …
    • Wherein
      • numberOfOptions is the number of poll responses to allow up to 9
      • And each consecutive statement ending with; is a response.
    • Reponses will be posted via emoji response. System should be complex enough to tabulate if a user voted more than once.
  • Soundcloud integration. JUST DO IT. It’s been in the request thread for a while. Might as well do something amazing.
    • I have no idea how I’m going to do this, but as an intelligent being, I shall figure it out.

That should be everything. I guess we’ll see if we can get everything in. The last 3 systems may not make it in, but then again, I never set deadlines on development projects so that I don’t have pressure to get something done if I don’t feel it’s right.

That’s all for this post.