Fishsticks

The Official Christian Crew Gaming Discord Bot

Fishsticks

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.

History

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.

Versions & Builds

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).

Full per-release history of development can be found on the CoreFoundry and on Fishsticks' GitHub Repository.

Pre-V5 Builds

  • Introduction of session numbers: each time Fishsticks is launched, this number in incremented
  • Introduction of ENGM "Subroutine" (those didn't exist until later): controls certain functions when development is active
  • Introduction of report: because if something breaks, people want to know about it

V5

This major build saw the introduction of ENGM, temporary channels, and the possibility for staff to override various commands when ENGM was enabled.

V6

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.

V7

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.

V8

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.

V9

Simply introduced the Echo delayed announcing system and Twitch link screen. The status command was also revamped a tad.

V10

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.

V11

Not entirely sure what went on in here, but some finalizations were made to the status command and some passive commands.

V12

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.

V13

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.

V14

Primarily featured a search function for the music player but also included tons of passive command updates/changes.

V15

So big.

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.

V16

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.