Winston is a Discord bot written in JavaScript that utilizes the discord.js library. I started developing this bot as a replacement for Cassandra, which, for a while, I have wanted to re-write. Just recently, discord.io stopped working because it used an old Discord gateway protocol that has been deprecated. For now, the discord.io library is not supported, as they update it to support the newest Discord gateway version, v6. As such, Cassandra does not function correctly. This change has forced me to start writing this new bot. Even though Cassandra was born with the intention of playing music, I do not currently have plans to have Winston support audio playback.
This bot is being written in modern JavaScript, making full use of ECMAScript 6 class constructs, Promises, and the let and const keywords. Modularity was the key concept in this bot, so commands have been grouped into separate command “modules” that can be enabled/disabled on a per-server basis.