Commit Graph

26 Commits (5fdbe40c881dd50ce6374ad31b62876346e64461)

Author SHA1 Message Date
Trivernis 5114228134 Added Music voting
- users that don't own the role dj or botcommander or botowner need to vote for skipping. The vote is passed if more or exactly 50% voted to skip
6 years ago
Trivernis e74fa83ed3 Added Unit Tests & Logging
- 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
6 years ago
Trivernis 4d7018d510 Restructuring and new Commands
- 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
6 years ago
Trivernis 5444089261 Added Message Rate limits 6 years ago
Trivernis c2f3ae08a1 Fixed security problem
- excluded ~execute from saved sequences to avoid recursive calls
6 years ago
Trivernis 4921ee243c Added cmdsequence saving
- 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
6 years ago
Trivernis dd2a49209f Added command listing
- improved asynchronous command feature
- added waterfall to resolve array answers
- added function and array type to answerMessage types
6 years ago
Trivernis 2a2f4abe66 Modifications
- replaced most promises with async/await
- added sqlite3 session storage
- restyled login page
- added session requirement to graphql
- deactivated incompatible
- modified mockobjects
- added fs-extra for async file operations
6 years ago
Trivernis c0efaf2e80 Bugfixes and login system
**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
6 years ago
Trivernis f1abc3b9b4 Structural changes
- removed data.js
- added Bot class to bot.js
- moved handling guildhandlers to bot class
- moved shuffleArray from music to utils
- cleanup
6 years ago
Trivernis e27b46ac6a Added Rich Embeds
- rich embed for `queue`
- rich embed for `uptime`
6 years ago
Trivernis 5d90ff6830 Changed presences storage
- moved presences to main.db
- added detailed description to README
6 years ago
Trivernis b7e66f8fd5 Added Tests
- added tests for lib/guilding
6 years ago
Trivernis 5845144a83 Fixes and Cleanup
- 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
6 years ago
Trivernis bab7ddb538 Changes to the music function
- Songname is retrieved before playing
- for playlists the first songname is retrieved before playing, the others are retrieved in the background
- ~np now responses with Rich Embeds
6 years ago
Trivernis 0729c9b31c Command Promises
- 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
6 years ago
Trivernis ee96094473 Rich Embed for help command 6 years ago
Trivernis 443570f8d6 Fixes and Features
- fixed guilds first command problem
- switched from markdown to rich embed for displaying saved songs/playlists
6 years ago
Trivernis 149e73621f Minor music performance changes 6 years ago
Trivernis e4e26cd51f Integration of SQLite
- Instead of storing data in files, the bot stores data in database-files (wow)
- Why? Because Databases are best
6 years ago
Trivernis 2b6ea2123f New command syntax
- 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
6 years ago
Trivernis 38fdece6c3 Code Cleanup 6 years ago
Trivernis 17e0883928 Updated jsdoc 6 years ago
Trivernis 63981f2a90 TODO update 6 years ago
Trivernis c884211150 Added Data function
- 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)
6 years ago
Trivernis e16965c86f Added supporting classes
- 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
6 years ago