FAForever / faf-qai

QAI reloaded
MIT License
2 stars 1 forks source link

Build Commands #9

Open Soyvolon opened 3 years ago

Soyvolon commented 3 years ago

Feature

✅ - Completed ❗ - Todo ✘ - Abandoned ⁉️ - Needs further work

Mixed Commands

Status Command Permissions Description
alive/respond ALL Sends a response message to the user. Differs depending on the command context.
help ALL Sends help information
unit <unit ID> ALL returns unit information
map <map ID> ALL returns map information
wiki <terms> ALL searches the wiki
pool/ladderpool/ladder ALL shows the current 1v1 ladder pool
replay <replay ID> ALL returns the replay information
lastreplay <playername> ALL returns the last replay for the player
clan <clan tag/clan name> ALL returns clan information
searchplayer <playername> ALL returns list of players with similar names
player/ratings <playername> ALL returns detailed player information about a user
roll ALL Rolls a dice.
eightball/8ball ALL Ask the mysterious 8ball a question.
taunt [person] ADMIN Taunts a person. Defaults to taunting yourself.
explode [person] ADMIN Explodes a person. Defaults to yourself.
hug <person> ADMIN Hugs a person
flip ADMIN (╯°□°)╯︵ ┻━┻
gullible ALL Displays additional commands. (Taunt the user who runs this command.)
link <website> [WORDS] ALL Links to a website - What is this one supposed to do again?
remind <User> <TimeSpan> <message> ALL Reminds a person at a designated time from now.
puppet <user> <message> ADMIN Makes another person send a message.
slap <user> ADMIN Slaps a user.
streams ALL Lists all current streams
casts ALL Lists the mosts recent casts
badwords <get \| add <word> <gravity> \| del <word>> ADMIN Manages badwords.
rwords ALL Prints the list of checked reactionwords
reactionwords <get \| add <word> <reply> \| del <word>> ADMIN \| MANAGE_MESSAGES Manages reactionwords. {sender} in the <reply> will be replaced with the person who triggered the reaction.
repeat <get \| add <ID> <seconds> <channel> <message> \| del <ID>> ADMIN \| MANAGE_MESSAGES Makes QAI repeat words in a channel each <seconds>.
google [words] ALL Googles something.
tournaments/tourneys ALL Gets the current tournaments.

IRC Only Commands

Status Command Permissions Description
join <IRC Channel> ADMIN Forces the bot to join another channel.
leave [IRC channel] ADMIN Forces the bot to leave the channel, or a provided channel
offlinemessage <User> <message> ALL - HIDDEN Sends a message to a user once they come online.
puppet <user> <message> ADMIN Makes another person send a message.
groupping <group name> ALL Pings all people in the indicated group
group <get \| join <group name> \| leave <group name>> ALL Gets group list, or joins/leaves a selected group.
groupmanage <get \| add <group name> [TEXT] \| del <group name> \| join <group name> <player name> \| leave <group name> <player name>> ADMIN Manages groups.
blacklist <IRC user> ADMIN Prevents a user for using streams or casts
badwords <get \| add <word> <gravity> \| del <word>> ADMIN Manages badwords.
move <nick> <channel> CHATLIST Moves a user into a channel.
chatlist [<channel> \| add <channel> <user> \| del <channel> <user>] CHATLIST Manages chat lists?
addfirend <username> ALL Adds a friend. You get notifications when they come online.

Discord Only Commands

Status Command Permissions Description
link <playername> ALL Links a FAF account to a Discord account.
subscribe <rolename> ALL Subscribes to a Discord role set by the bot
unsubscribe <rolename> ALL Unsubscribes from a Discord role set by the bot
registerrelay <Discord Channel> <IRC Channel> MANAGE_CHANNELS Registers a Discord channel to relay with IRC
removerelay <IRC channel \| Discord channel> MANAGE_CHANNELS Removes a registered Relay
blacklist <Discord User> MANAGE_MEMBERS Prevents a user from using commands on this guild
blacklist MANAGE_MEMBERS Gets the current list of blacklisted users
unblacklist <Discord User> MANAGE_MEMBERS Removes a user from the blacklist
restrict <command name> MANAGE_GUILD Prevents anyone but those with moderation permission for using a command.
unrestrict <command name> MANAGE_GUILD Removes a restriction on a command.
fixbridge MANAGE_CHANNELS Reinitialize IRC relays
links/showlinks <Discord Member> MANAGE_MEMBERS Shows current user to IRC account link for a member.
unlink <user ID \| FAF Id> MANAGE_MEMBERS Force un-link a user.
loghere MANAGE_GUILD Registers the current channel for moderation action logging.
testlog MANAGE_GUILD Tests the log channel.
record <command name> <message> MANAGE_GUILD Records a predefined message that will show up next time anyone fires the command. Does not stop command execution.
record <command name> MANAGE_GUILD Removes a record associated with a command.
records/showrecords MANAGE_GUILD Shows the recorded messages
ban <Discord User> [duration] [message] BAN_MEMBERS Bans a user from the server with an optional message and ban time.
kick <Discord User> [message] KICK_MEMBERS Kicks a user from the server with an optional message.
warn <Discord User> [message] MANAGE_MESSAGES Warns a user with an optional message.
userinfo <Discord User> MANAGE_MESSAGES Gets the bans/kicks/warnings for a user.
registerrole <Role> MANAGE_ROLES Registers a new role with the bot.
unregisterrole <Role> MANAGE_ROLES Removes a role registered with the bot.
logmapshere MANAGE_CHANNELS Adds the channel to the map watching list- new maps will automatically be show in this channel whenever they are uploaded
unlogmapshere MANAGE_CHANNELS Removes the channel from the map watching list.
Soyvolon commented 3 years ago

Replay command needs support for responding to messages that start with # and then contain a replay ID afterwards. This change would have to be done inside of the Command Handler, most likely using a custom command call to call the command method normally.