ianmitchell / aquarius Goto Github PK
View Code? Open in Web Editor NEWA highly configurable discord bot that provides both utility and entertainment.
Home Page: https://aquarius.sh
License: MIT License
A highly configurable discord bot that provides both utility and entertainment.
Home Page: https://aquarius.sh
License: MIT License
Things like @ian ++
can get through, which breaks regex
When new commands are added, Aquarius should alert server admins via DM so they can add the command if they wish.
It'd be cool to see what replies get used most often. A simple usage counter + an "active" flag that is toggled on removal would do it (that way we don't lose data on reply deletion)
Using GitHub Webhooks, the bot should respond to certain events from configurable repositories and broadcast them in configurable rooms. This will be a good initial test of #43
As mentioned here, we might want to add a general info command
The rest of the commands duplicate existing functionality
This command should set an alarm for a certain time. It can be a single alarm, or repeated alarm and displays a set message when triggered.
When a user joins a server, Aquarius should message them with a configurable rules command. This will be a good initial test of #43
Perhaps allow it to be triggered in a room as well.
It should disable the bot for X minutes in the server
Track when and where users were last active in a server
When Aquarius is added to a server, only a select few modules should be enabled automatically. The rest will need to be enabled by the server admin.
As part of the settings, Aquarius should also allow the restriction of modules, perhaps using the following states:
Aquarius Mod
role and server admin can use this moduleFurther, additional configuration values should be allowable (things like API access keys and the like)
This should output all the commands the bot can run
It'd be nice to have bin scripts to automate some of these processes, especially when we end up needing a database.
Module might be the wrong word, but in additional to one-off commands a broader scope should exist (system?) - but regardless, Dan wants the bot to be able to run a Mafia game.
pls
Command Tests
Core Command Tests
Framework Tests
Config Tests
Bot Tests
image
The blank lines represent images sent
This allows the bot to be a little customized for each server it's added to.
Continuous Integration 👍
For large servers, it'd be nice to add a pickup group command where the bot automatically creates a voice channel and adds players to it, and then deletes channels as they become unused.
This is for you, @Mechdriver.
Allow the user to pass in an id or name and grab information about the corresponding Pokémon
It'd be fun to integrate with Twitch and YouTube Gaming and post alerts / allow stream modifications (think title updates, donation alerts).
I'd probably have to create a permission system as part of this. Maybe a custom "Aquarius-Mod" role?
Since a lot of the regex follows a general pattern, might be worth trying to create some helper methods for it. The bot mention for instance would be a lot cleaner if it wasn't duplicated in each command
The bot should respond to new deploys and broadcast them in configurable rooms. This will be a good initial test of #43
Lia suggested something like this: https://github.com/Donohue/karmabot/blob/master/scripts/example.coffee
As much as I'd hate to lose that in my code, there's a lot of duplication - it might be better to have message return false if it isn't triggered and a string on trigger, and then have Aquarius put it in a variable and run an if(var) { aq.sendMsg() }
check
The bot should respond to passing and failing tests and broadcast them in configurable rooms. This will be a good initial test of #43
Skiddiks has requested a @bot seen @user
command, which outputs the time since the user has been offline for.
If the bot owner gives a broadcast message, Aquarius should put it in all the general rooms for each server it's in. This will help alert people it's going down
This would probably be helpful to have in a util file, but might be nice for some of the more complex queries we end up having
Ideally they should return a Promise that resolves to the response string
/Users/ianm/Code/aquarius/src/commands/same.js:20
messageStack.get(server).get(channel).push(msg.cleanContent);
^
TypeError: Cannot read property 'push' of undefined
at msg (/Users/ianm/Code/aquarius/src/commands/same.js:20:40)
When Aquarius is added to a server, it should send a greeting to the admin explaining certain things about the bot. It should probably cover:
The server admins should be able to set certain settings for the server they are running here. (The bot will need to check for multiple servers run by the admin, and require specification if it's ambiguous).
Currently the bot is in dire need of doing something exclusive to myself whenever I say a certain thing. That needs to be changed. I personally think it should be "dang" although I am open to other options.
Things like Karma won't trigger
I think it fits discord better to have to tag the bot. So @aquarius help
instead of .help
Allow the user to query for a card by name, and return information about the card
Quotes currently can't have linebreaks in them
Poor @Fyurie can't use it since he's EU :(.
Why not ¯_(ツ)_/¯
Per Elmer, /votekick
We need to use the Procfile to set an env flag to read from dotenv or the Heroku env - right now, it throws an error when the bot starts in production.
Add support for custom replies
Per Zane, we should have a quotes module
Adding requires quotes; removing doesn't allow them. They should be optional for removing a reply.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.