Commit Graph

52 Commits (2ccac4a3a24f98f85a5ac69e02af21674dc259ad)

Author SHA1 Message Date
Trivernis 2e993c3688 Music fix... again
- fixed not playing the next song
5 years ago
Trivernis 1ea11d073a Added logging of messages
- added new main database table `messages` to log all messages for statistic reasons
6 years ago
Trivernis ec5ed87c49 Generic Database Connection
- you can now select one type of database either sqlite or postgres in the config.json (see README)
- fixed bugs in generic SQL Statements
- added generic database class
- changed all sql scripts to generic type
- added settings table to guild to manage settings of the guild
- added extended database class for the guild with predefined sql statements
- added music command volume to change the volume (role dj)
- added music command quality to change the musics quality (role owner)
6 years ago
Trivernis 1b08edd278 Bug Fixes, Utility Classes
- fixed bugs in `AniListApi`
- fixed typo in the music commands template
- added logging of uncaught promise rejections
- added generic SQL Statement classes
- updated README
6 years ago
Trivernis 016a3d042d Added lib/state
- added with `Event`, `EventGroup` and `EventRouter` for optimized event handling
- added special subclasses of EventGroup for Client Events
6 years ago
Trivernis 540ab231db Changes to structure and fixes
- 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
6 years ago
Trivernis ab4e2de2cb Added Misc CommandModule
- added `~choose` to choose from options
- added `~delay` for an asynchronous delay in command sequences
- added `~say` for output in command sequences or just trolling around
6 years ago
Trivernis 5fdbe40c88 Bug Fixes
- fixed ExtendedRichEmbed bug for string.substring if the method doesn't exist on the value
- added log module information to webinterface logs
- changed logging meta module info from `m` to `module`
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 556c3a5e7f Added Servercommands
- added commands for music functionalities
6 years ago
Trivernis a425607a6b Changed CommandHandler
- registering commands no longer needs a name
- added info commands implementation
6 years ago
Trivernis c4f3635dd6 Started Reimplementing Commands
- reimplemented utils
- reimplemented info
6 years ago
Trivernis 42ee8cc4c5 Added Anilist Api
- 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
6 years ago
Trivernis cb48f4961a configuration changes
- added autoreconnect
- changed dependency update branch
6 years ago
Trivernis bb1d952d18 Fixes in code quality 6 years ago
Trivernis 43e65e6949 Changed commands
- changed global command syntax to templates
- added ~about and ~bug
6 years ago
Trivernis 5444089261 Added Message Rate limits 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 13493d8db5 Changes to lib/music
- changed the listener Checking to event based
- bot updates the VoiceChannel when moved to another one
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 d3e1106d70 Changes to Authentication
- changed to password encryption on client side
- modified login page
- renamed webapi to weblib
6 years ago
Trivernis d095922926 Code Style Corrections 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 1d3ce93561 Modified Dashboard
- added Song timer
- added active VC count
- improved layout
- added querying for VC count to graphql
6 years ago
Trivernis 36b6416531 Bugfixes and features
- fixed player bug
- added duration to play view
- fixed queue view
- added queue count
6 years ago
Trivernis bfe29e0ef4 Dashboard modifications
- finished most functionalities of the dashboard
- fixed some bugs
6 years ago
Trivernis c46f34fd59 Changes to webservice
- added more query parameters
- started working on webinterface
- tokens for authentication
6 years ago
Trivernis 72794a2f63 Added Query entries
- 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
6 years ago
Trivernis 275179b990 Added Graphiql
- added some discord objects (see schema for more info)
6 years ago
Trivernis a560643d4d Fixed Code Quality
- removed unnecessary semicolon
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 a712f41a55 Changes to Config Syntax
- 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
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 ee96094473 Rich Embed for help command 6 years ago
Trivernis 84b27b9f8a Fix crash
- Fixing crashing on WebSocket error
6 years ago
Trivernis 149e73621f Minor music performance changes 6 years ago
Trivernis b0ca631fb8 Fixed Role-Permission Bug
- Fixed bug where role-permission did not work (except for the bot-owner commands)
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 98b809ba66 Code Reformatting 6 years ago
Trivernis 2400429b72 New functionalities
- added presence rotation
- added command permission
- added owner commands
- updated README
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
Trivernis 540007318e Added TODO 6 years ago
Trivernis 08091ba15a More Fixes
- Playlists can be saved (will be server specific in the future)
- Saved playlists can be played with ~play
6 years ago
Trivernis 3dde5c40cb Fixed Bugs created by changing music.js
- Fixed output of current song
- Fixed output of playlist
- Fixed toggeling skip
- Fixed next auto toggle
6 years ago
Trivernis ec888aa5b7 Improved music.js
- Added DJ class
6 years ago