- added folders for every lib
- moved lib files to folders and renamed them to `index.js`
- moved commands outside of lib
- moved graphql schema to web
- removed lib graphql folder
- added graphql folder to AniListApi folder
- fixed bug on ~skip and ~stop
- fixed bug on ExtendedRichEmbed
- fixed bug on RichCharacterInfo
- Added own logger class that includes the module name
- added unit tests for MessageHandler, Command and Answer
- removed unit tests for GuildHandler and lib/cmd
- removed old command templates
- moved graphql schemas and queries to lib/graphql
- added anilistApiLib that contains functions to access the anilist graphql api
- added graphql queries to lib/graphql to access data on anilist
- added global ~anime command that returns information to an anime
- modified help command so that it shows command categories for global and server commands
- moved global command registration to lib/cmd
- Sequences of commands can be saved with ~savecmd
- When saving the semicolon must be escaped by backslash
- saved commands can be listed with ~savedcmd
- saved commands can be executed with ~execute [name]
- renamed ~save to ~savemedia and ~saved to ~savedmedia
- added a command to delete saved entries
**WARNING:** This login system is not safe because it transfers your password in plain text. Please wait for the next release.
- added https options
- added user password system
- added paused/playing to dashboard
- bugfixes to music playnext function
- Code Reformatting
- allowing Promises for global command reply returns
- event callback regristration wrapped in main function
- stored reply for not playing music (`~np`) in servercommands.json
- made imports constant for lib/cmd
- moved YouTube url operations to lib/utils
- removed try catch surrounding promises in play and playnext callback and added .catch to promises
- added .catch to promises in music.js
- added license README badge
- Command functions are allowed to return promises
- resolve and reject both are the answer the bot will send
- Implemented promises for things that couldn't use them before
- creating commands requires a command template that is stored in the commands folder in a json file
- command templates manage permissions, arguments, responses and the command name
- added config file -> needs to be created, template coming soon