Code Monkey home page Code Monkey logo

aquarius's Issues

Add New Command Alerts

When new commands are added, Aquarius should alert server admins via DM so they can add the command if they wish.

Reply Usage Tracking

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)

GitHub Notifier

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

Port ARX-7 Commands

  • Choose
  • Order
  • Reply
  • Same
  • Showtimes

The rest of the commands duplicate existing functionality

Alarm Command

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.

Rules

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.

Allow Conditional Loading of Modules per 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:

  1. ON: Anyone can use this module
  2. RESTRICTED: Only the Aquarius Mod role and server admin can use this module
  3. ADMIN: Only the server admin can use this module
  4. OFF: The module won't run on the server

Further, additional configuration values should be allowable (things like API access keys and the like)

Add Startup and Setup Scripts

It'd be nice to have bin scripts to automate some of these processes, especially when we end up needing a database.

Create Mafia Module

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.

Add Tests

Command Tests

  • 8ball Tests
  • Choose Tests
  • Karma Tests
  • Order Tests
  • Overwatch Tests
  • Pokédex Tests
  • Quotes Tests
  • Reply Tests
  • Same Tests
  • Seen Tests

Core Command Tests

  • Broadcast Tests
  • Info Tests
  • Nickname Tests
  • Stats Tests

Framework Tests

  • Command Tests
  • Link Util Tests
  • Messaging Util Tests
  • Permission Util Tests
  • String Util Tests
  • Trigger Util Tests
  • User Util Tests

Config Tests

  • ServerSetting Tests
  • Default Key Tests
  • Config Tests

Bot Tests

  • Help Tests
  • Message Tests
  • Core Message Tests
  • Query Tests
  • Admin Tests

Quote bug fixes

  • .command syntax is not working
    • .quotes add new "quote"
  • keyword "new" is not working
    • @bot new quote "quote"

Voice Chat Utility Commands

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.

Add Streaming Commands and Alerts

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?

Better Regex / Mention System

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

Add Heroku Notifier

The bot should respond to new deploys and broadcast them in configurable rooms. This will be a good initial test of #43

Karma system update

Add the following commands to karma

@bot karma @user - shows user's karma level
@bot karma shitlist - shows users with the lowest karma level

Consider dropping `triggered`

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

Add Circle Notifier

The bot should respond to passing and failing tests and broadcast them in configurable rooms. This will be a good initial test of #43

Seen Module

Skiddiks has requested a @bot seen @user command, which outputs the time since the user has been offline for.

Add a broadcast command

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

'Same' crash

/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)

Message Server Admin when Added to Server

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:

  1. What it does
  2. How to trigger it
  3. Common modules and how to use them
  4. How to configure bot settings for the server
  5. How to contact me / find this repository

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).

Dotenv Error

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.