Fishsticks is the official Christian Crew Gaming (CCG) Discord bot; designed and built from the ground up using NodeJS and the Discord.js API by SkyeRangerDelta of Planetary Dynamics. It is a custom made script designed to cater to the needs of CCG's community in Discord via any way possible. Fishsticks originated from a copy of the foundation of the original LCARS47 bot built for PlDyn's Discord server in 2015. Numerous features and systems have been implemented on both bots with Fishsticks being the significantly more advanced in terms of abilites. His complete command structure can be found here on the wiki.
Fishsticks was created on March 4, 2018 and was named Fishsticks in a 7 minute discussion based on the idea of CC's "The Fish" game server group. Following the development of LCARS Foundation 2, Fishsticks emerged, kicking off his existence as a simple minded bot with a sassy attitude that specialized in aiding people with using Discord. Over time, Fishsticks evolved with each major build - each introducing more features than the last.
Fishsticks operates on an iterative/incremental model of development. Each major update is composed of a series of major bug crunches and new feature releases that build on the last major build. Each version is referenced as "V6" for major build 6 or "V" and then the major build number.
The first recorded build was version 1.5.6 (considered part of V5).
This major build saw the introduction of ENGM, temporary channels, and the possibility for staff to override various commands when ENGM was enabled.
Introduction of the first permissions hierarchies and a crack at a language filter system. Also included a webhook to Discord for development updates. This update was primarily composed of bug crunches.
This update was comprised of a lot of external systems implementations and a LOT of passive commands. This was in part concerned with security protocols, but also for other future systems including future API inclusions.
This update was very significant for its LCARS Foundation 2 reconstruction. The modular systems implemented on LCARS were primitive and V8 of Fishsticks changed a lot of code that greatly enhanced this functionality. Version 8 also introduced a TON of new commands - primarily because of the new modularity of the system. Nearly all of the basic commands that are used today were developed in V8. Fishsticks also began using Discord IDs quite heavily here, channels were made far more accessible by referencing simple ID calls stored in json scripts.
Active commands weren't the only ones that were implemented. Passive commands also saw a sudden increase.
Simply introduced the Echo delayed announcing system and Twitch link screen. The status command was also revamped a tad.
There's so much in V10 that this paragraph just can't explain; so simply enough - it introduced Fishsticks' music player and its relevant commands. Update also included a fancy new member welcome.
Not entirely sure what went on in here, but some finalizations were made to the status command and some passive commands.
About half of this update was maintenance in order to keep Fishticks up to par with the standards of CC. Roughly 50% was fixing the permissions hierarchy that was reconstructed in CC to clean up a big 'ole giant mess.
The other half of the update was the introduction of the tempname command - permitting users to change the name of their temporary channels.
Introduction of the MATB subroutine and GIF command. Fishsticks status logging is also fixed. A lot of the updates after that are bug crunches to MATB and some core code tweaks.
Primarily featured a search function for the music player but also included tons of passive command updates/changes.
So many things were done - it might be easier just to check the commit description. Essentially this update introduced a load of new passives; roughly 20 passives. Also included subroutine toggles, member vouching, modularized help (expansion!), poll command, division roles removed and that display updated, and system logging. Fishsticks was given the ability to dump most of his console into a Discord channel so that errors could be displayed without needing to log into his console. Other updates after the initial push include the Word of the Day command, case neutralization for commands, and fixes for a lot of stupid bugs.
Introduced game roles and events. Game roles are a highly complex subroutine where users are granted the ability to create their own roles, have them voted on to become official and then joinable. This update was incredibly broken - and therefore intended plans never came about. Roughly half of the composition of V16 was pushed into the plans for V17 - which is why V17 took so incredibly long to deploy.
After roughly 9 months of development, and a lot of headaches in testing; V17 was finally released. This update was considered a stop-gap update, meaning that this was a stopping point for all development. All bug fixes, suggestions, implementations, refactors, etc. would be addressed in this update leaving V18 a clean slate. And that's exactly happened.
The major bits of V17 include the creation and introduction of Fishsticks Online (FSO), changing Fs over from a JSON based storage approach to a SQL based one. THe amount of information flowing in and out of various files, specifically the game roles file, was bound to have undue corruption. V17 addressed that by removing the file completely and introducing the cloud approach.
On top of that, FSO brought more user interactivity through the FSO Dashboard, allowing users to see their command usage stats online. V17 only introduced it, further development will grow Fishsticks to include all sorts of online information and little things such as achievements.
V17 also included a profound amount of bug fixes and changes that broke other things that were also fixed. One thing that was incrementally more and more broken however was the MUSI subroutine (music player) that V17 simply disabled entirely. V18 will bring this system back, and with a punch.