Commit Graph

66 Commits (c1818151330c607aaeecd25d1661af5d58072f12)

Author SHA1 Message Date
Trivernis 3ae7fbc6fa Fixed Style issues 6 years ago
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 ff9d78566b Implemented basic AniList api features
- changed anilist query files
- added autocropping to ExtendedRichEmbed
- updated Readme
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 6f890dacee Added ServerUtilityCommands module 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 08dcf2f084 Added 2 Anilist Commands 6 years ago
Trivernis 0223180053 Started restructuring command handling 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 bb1d952d18 Fixes in code quality 6 years ago
Trivernis f2ef10bf08 Fixed a bug in lib/music 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 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 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 7ad8fc7ff2 Replaced Promises with Async 6 years ago
codefactor-io 742848f36f [CodeFactor] Apply fixes 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 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 f8a765799e Bug fix
- getSplitDuration now returns the correct time
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 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 990628244e Added Tests
- added tests for the dj class
- moved to rewire for mocking
6 years ago
Trivernis d5d5c12126 Restructured Tests
- removed previous testfiles
- added test.js where all tests are stored
- added tests for lib/utils
- added standard test config
- added test config to devDependencies in package.json
- reconfigured circleci configuration
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 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
Julius Riegel 1db9ec2083 Changes to lib/music for CI
- changed RegularExpression that resulted in failure
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 b0ca631fb8 Fixed Role-Permission Bug
- Fixed bug where role-permission did not work (except for the bot-owner commands)
6 years ago
Trivernis c29c578f92 Fixed role bug
- now roles should work again from the templates
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