Giter Club home page Giter Club logo

groovebot's People

Contributors

dependabot[bot] avatar groove-theory avatar

Watchers

 avatar

groovebot's Issues

Error Logging/Debug Logging

Find a way to log errors since the bot has been deployed (or maybe store in the DB).

Log should have error message, stack trace, and relevant input data (ChannelID, MemberID, GuildID, etc)

Tic Tac Toe

Implement Tic Tac Toe (probably per channel, as per user might be overkill)
Just use emojis for graphics

Automated Testing

Groove/Admin only command

Use this to test all commands/features possible (useful before and after deploy)

Fix Idiom to not give bad results

Right now sometimes Idiom will give bad results. Should probably fix the inputs better or maybe find a way to detect bad outputs and try again

Turn Github site to dashboard

Requirements will have to be thought out, for now just logging this

  • Either use an .xyz domain and start from scratch, or continue to use github pages. Either way, we should probably split into a new repository (probably for testing) and keep it synced with this repo

Tri-State environments (Testing, Stage, Production)

change PRODUCTION variable to some sort of ENVIRONMENT_MODE in env and Globals to know where we are (testing, stage, prod)

We also need another heroku account for staging a milestone release to make sure things don't break on production. This means we can't push to master until we're absolutely ready to push to prod, i.e we always push to a stage branch

I'll throw in putting in a WINDOWS_MACHINE env variable for canvas

Optimize Ouija to reduce calls to DB

Related: #4

Need to check if Ouija will blow up DB. Create logic to only query the DB when necessary (even when ouija is toggled on), or find ways to reduce calls

Banned Users

Prevent certain users from using any bot commands.

Per guild? Globally?

Maybe relates to #20, where guild admins can ban per guild, but bot admins can ban globally.

Probably don't want to do it per command.

Will probably be checked on ChannelListener. Maybe use a Mongo join so we keep it 1 query per message

Bot admins

Make concept of Bot Admins to use special commands or other stuff (apart from regular users)

Use object mapping for Help commands, emoji pagination

We need to make Help command more accessible and abstract to drilldown into other stuff

We could probably use the DB for this, make a separate collection and manually insert strings.

We could also try having each JS file have an object property called "HelpText" or maybe convert the help file to basically a large tree object.

g!help drilldowns for specific commands

Related to #14

make g!help drilldown per command, so it gives more indepth details?

Is this the start of command chaining? Do they need to input the command or command string (do we need the 'g!', as in g!help g!quote)

t!wiki Not working

t!wiki is broken, g!define is not, need to investigate

Branch off master as hotfix

Random Drill Tweets

Drill Tweet generator

Probablt jus twitter api through npm, hopefully it can look at a public account and search based on maybe a random date or int value or something

Guild Library Storage

Create Library of Categories/Files paradigm per guild

We could probably just see if discord's File array property on messages is something we can just store.

Not sure if we should have "public" libraries just yet, keep them private since we aren't going to do raw file hosting (just links guaranteed by Discord)

Same category/value scheme as ranks

Commands needed:

g!addlibrarycategory [category] (Mod Only)
g!removelibrarycategory [category] (Don't delete if files exists) (Mod Only)
g!renamelibrarycategory [oldcatname] [newcatname] (Mod Only)
g!addlibraryfile (wizard asks for name, category, and then file/link with a validation echo message)
g!removelibraryfile [category] (Mod Only)

On-Deploy Diagnostic Message

Need a message from groovebot PM-ing (just for stage and production) that everything was loaded correctly, along with other diagnostic info we want

Foyer Copy Image/File support

Foyer Copy doesn't show images or other attached files

Make it so

Probably don't have to worry about editing since I don't think you can do that on discord. But maybe even just a link will suffice and not the actual media

Clean up Globals.js

should only be global objects and not hardcoded values (port as new DB options if necessary)

Universalize Vote.js

-Enact Option Values for Vote.js

  • Fix collision possibility for codes
  • remove global variables

Groove Points

Groove Points!!

  1. What do we award this for? And how?
  2. Per guild? Globally?
  3. Leaderboards?
  4. Store in a new Collection, not in GameData

Am I just making a starboard?

By message count? I could do that, since ChannelListener detects that anyway.
g!givepoint or something to award .... other forms of credits

At some point this will have to relate to the new website

Revisit Options.CheckServerOptionsExist, uncouple it's method

Options.CheckServerOptionsExist seems awkward in it's implementation right now and where we use it, we should revisit this so it doesn't seem like spaghetti code as we check and/or insert option collection records for a guild.

Maybe find a way to auto-populate the table when a bot is invited as well?

Auto-Delete Mod Action (Mod Option only)

Option to say that if turned on, for a channel, then all incoming messages will be auto-deleted until the option is toggled off.

Bot should be smart enough to detect toggle off mode and not delete it

  • New Option (array of channelids)
  • New .js file to detect message (pass channelid array as parameter), somehow work in conjunction with CommandListener
  • Groovebot should display message on channel when Deletion is turned on/off

Update Help command

Update this with all of the other commands (maybe implement react wizard)
Link to Website?
Fix formatting, make it look prettier

Make Ouija Printouts prettier

Related: #4

Make the Embed message look cooler
Mention the asker-author correctly with avatar
Maybe get rid of the AskOuija prefix in the question?

DB Stats for Bot Admins

Requires #20

Find a way to print out DB stats (PM option) to a Bot Admin if requested.

Possibly look into automated messaging if the bot detects if it's high. Not sure if Mongo can send that to us through a socket depending on configurations. If not it's not a huge deal

Add Role+Rank Support

Add Role/Rank support based on guildID

Create Ranks DB Collection (let's keep it away from Options), We should have the ability to split ranks into categories
Ability to Add/Remove Ranks (mod only action)
Ability to Apply/Unapply Ranks as roles
Insert Help Text

Commands:
g!addrankcategory [name] (Mod Only)
g!renamerankcategory [oldname] [newname] (Mod Only)
g!removerankcategory [name/id] (Mod Only)
g!addrank [category] [rolename/id] (Mod Only)
g!removerank [category] [rolename/id] (Mod Only)
g!rankcategory [name?] (List categories if no name, list ranks if name)
g!rank

Uptime Stats

We should somehow present uptime percentage and make it Groovebot's topic message on the members bar.

Uptime Robot too cheesy? I don't wanna log shit in the DB if I don't have to.

Debate Module

Need to structure formal debate, maybe research ParleyPro debate stuff again or just make a queue in speaking for debates

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.