- 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
- Added Server Utility Commands
- Removed lib/cmd
- Renamed lib/music
- renamed lib/weblib
- removed command parsing function from GuildHandler
- renamed DJ to MusicPlayer
- updated graphql schema and interface to new names
- 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
- changed id to type ID!
- changed id to md5 hash of base64 string of properties
- added discord Id
- added paging to arrays
- implemented guildHandler into Guild query type
- added saved to retrieve saved songs/playlists
- added ready indicator boolean
- added querying logs
- added presences array
- added config as String
- added prefix
- moved the discord token and youtube api key to ` api.botToken` and `api.youTubeApiKey` in the `config.json` file
- added `lib.utils.ConfigChecker` class to check for missing required attributes in the config
- Updated README to new circumstances
- 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
- 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
- DataHandler handles Data (wow)
- save to save playlist (server specific)
- saved to get saved playlist
- play with saved name plays the saved playlist
- data is stored in data folder
- every server has a subfolder
- entry file to manage all files that should be accessable
- fixed bug where music doesn't play when play was invoked
- if this bug appeares again, the skip command could fix it (because it creates a dispatcher if none exists)
- added class GuildHandler -> use this for commands that sould be run on a server
- added class Servant -> handles commands, used by GuildHandler
- added connected getter to DJ
- changed from checking for Connection to checking if connected
- added possibility to assign a VoiceChannel at connecting
- commands now contain the prefix instead of being a child element of it
- added passing additional arguments as third parameter of the command callback
- removed complex command parsing function, rewrote it with better pattern matching
- removed music commands from bot.js and moved them to GuildHandler class
- changed from cmd.createCommand to createGlobalCommand