megamasterx / colonelbot-v4 Goto Github PK
View Code? Open in Web Editor NEW4th Revision of the N1 Grand Prix Discord community bot - ColonelBot!
Home Page: http://discord.n1gp.net
4th Revision of the N1 Grand Prix Discord community bot - ColonelBot!
Home Page: http://discord.n1gp.net
For the v4.5 Real Operation refactor, several features need to be deprecated as they're either no longer used or they're no longer needed in the N1 Grand Prix:
Requested by Admins for the memes.
Update/add an alias for !unlegs and !legs for Moon Battle.
ColonelBot is currently using dynamic variables and raw reading a JSON file for its configuration. This should be updated to a object that is then serialized and deserialized.
Additionally, work to have a serializable configurable list for static bot commands and responses should be done here as well.
it's literally the official name now but might as well have both (dont tell weenie)
Administration team has requested a new command for Modcard lookups.
Feature Requirements
Holy crap quotes are broken severely
Requested by Moderation.
Update the !Guides command to support @ user tagging.
Reported by Playerzero, the /newmoon slashcommand no longer sends a DM containing the required information to the caller.
Requested by multiple N1GP Users.
Feature Design
Command locked to authorized users with the Netbattler role
!timer
Creates a timer that DMs the caller when the timer elapses. (Not moderator locked)
!timer player 2>
Creates a chat response with an @ tag to the caller and the @ tagged player when the timer elapses in the channel that the message was called from.
A custom attribute is needed for Moderation Only and Supporter Enabled commands. Commands that are editable should be locked to Moderators and anything else can be Supporter enabled. (https://discord.com/channels/132102389455912960/256865775070085131/1108712951055134730)
A Netbattler requirement attribute needs to be added to replace the IsNetbattler checks. This'll result in cleaner code and better feature use with the Interaction system.
Commands, such as !guides, should be admin editable and operate off of a serializable object that's read/written to disk to eliminate the need to do bot code changes in order to update the text of command outputs.
Doing /nomoon and /unmoon seem to operate on some weird cached version of the message the command is targeting.
This likely needs to be done after the Moderator Editable commands task.
The Role Module needs to be updated to the new Interaction system. Commands here need to be locked behind the License role with the exception of the License command.
Quote Random sucks. This needs to return to the /quote command.
Currently, the command is !lookup modcard where the particle is "modcard." This should be renamed to "patchcard" so the command is !lookup patchcard. An alias should be added so if people call the 'legacy' version of the command, it will still work.
Reporter: ssbmars
Symptoms: Doing a !modcard lookup requires a exact match to pop correctly.
Anticipated Result: Fuzzy Search happens similar to Chip Lookup.
Actual Result: Nothing appears unless the exact modcard name is specified.
Requestor: N1GP Admin
Command: !ff, !ffsavelist (Mod Lock)
Command Description: Provides the command caller with a save from a predetermined list of saves to be provided by an event administrator.
Considerations need to be made with how saves are added to the bot. Having the bot host update a folder on-disk is viable but not ideal due to time differences. Proposing a channel to be created for save administration on the Discord server so an administrator can upload saves directly to it, bot downloads the file and saves it to disk.
The Fuzzy Search is unoptimal and we can leverage Discord.Net v3's Suggestions feature to replace Fuzzy Searching.
Lucky and Mars have requested a 24h expiration for ATB roles added to users. This likely can be completed by keeping an onboard list of users that actively have the ATB value with a struct containing when the user obtained the role and every day at 1am EST, any user over 24 hours prior should have the role removed automatically outside of a gateway driven call.
This command should also be admin-editable with #31
When using any version of !lookup, if the submitted string does not return any matches, remove all spaces from the string and redo the search one more time.
Currently it's fairly common to see people fail a lookup query because they added unnecessary spaces. I know there are other ways to make a search more resilient against whitespace, but I suspect those solutions would take longer and be more involved to implement, so I'm suggesting this simpler solution in its stead.
If this enhancement is implemented, I will review the json data and remove whitespaces from all the aliases.
Requestor: Self
Details: It's likely a good idea to update the commands (such as !victors) to be user-editable via an administrator-locked command. That way, a bot update doesn't need to be performed in order to update command output.
This creates an issue where a user who has the MOON BATTLER removed (such as the conclusion of an event) can no longer remove their LEGS MOON BATTLE role.
Update the !formats command and other informational commands to support the ability to replace or rewrite them.
In this example, moderation has asked for the ability to update the Formats command to a custom string of text.
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.