STAssistant is my personal Discord bot.
Created on February 18, 2019 as TCoAssistant and maintained ever since, this bot has a ton of features.
Despite what its name may suggest, it is not a "virtual assistant" or AI in any way.
Since it's a private bot but a relatively large project, this page serves as a showcase of everything it can do.
STAssistant is written in JavaScript, running on NodeJS, and using the Discord.JS library.
Check out its full changelog here.
Try it out in its public testing server here.
Arguments
This is NOT A COMMAND.
Arguments in <angle brackets> are required for the command to work.
Arguments in [square brackets] are optional.
Arguments that are italicized tell a type of argument. For example, number means to input a number, not the word "number."
Arguments that are plain text tell the word to input. For example, number means to input the word "number."
A vertical bar | separates various arguments you can use with the command.
An ellipsis ... signals either an endless number of arguments if it's at the end, or a range if it's between two arguments.
Birthday Wishes
Usage: --bday [toggle|MonDD[-YYYY]]
Sets up the bot to wish you a happy birthday after you've set it. Year is optional.
Module: bday_wishes
Requirements: Server must have a "System Channel"
Blacklist Server
Usage: --blacklist <id>
Blacklist a server, disallowing STA from joining it.
Restrictions: SweptThrone
Bot Invite Link
Usage: --invite
Sends a link to apply for STA to join your server.
Module: invite_link
Cancel
Usage: --cancel [emoji|user_mention|image_url|image_upload]
Puts a cancelled symbol over an image. Always sends a 72x PNG. No arguments gives helptext.
Changelog
Usage: --changelog
Sends the changelog and a link to the full changelog.
Choose
Usage: --choose <a or b>[ or c ...]
Sends a random item chosen among items separated by " or ".
Color Roles
Usage: --color [#HEXDEC|default|clear|remove]
Sets your color using server roles. No arguments gives helptext.
Color Translate
Usage: --translate [#HEXDEC|rgb(red,grn,blu)]
Translates a color from Hex to RGB or vice versa. No arguments gives helptext.
Module: color_roles
Color Visualizer
Usage: --viz <[#]hexdec>
Sends a 256x image of the input color.
Aliases: --vis
Dice
Usage: --[n]d<#>
Sends n random numbers between 1 and #. Issuing this command without an n is the same as if n were 1.
Dice
Usage: --dice [# [# # ...]]
Sends a random number or numbers between 1 and #. No arguments gives a random number between 1 and 6.
Emoji
Usage: --emoji [what|sleep|sad|upset|mad|angry|hmph|neutral|hello|happy|random]
Sends a STAmoji. No arguments sends a random emoji.
Emote Only Mode
Usage: --emoteonly
Toggles Emote Only mode for the current channel.
Restrictions: ADMINISTRATOR
Help
Usage: --help [features|fun|command]
Get a list of commands, features, or help for a specified command.
Hold
Usage: --hold [emoji|user_mention]
Puts the supplied item in an emoji hand. Always sends a 78x98 PNG. No arguments gives helptext.
Hunt Strat
Usage: --strat
Gives a random funny strategy for Hunt: Showdown.
Leave Server
Usage: --leaveserver <id>
Forces STA to leave a server.
Restrictions: SweptThrone
Log ID
Usage: --log <channel|server>
Logs the ID of the channel or server to console.
Modules List
Usage: --modules [status]
Sends a list of all changeable modules or the statuses of all modules on this server.
Module Module
Usage: --module <module> [yes|true|enable|on|1|no|false|disable|off|0]
Shows the current status of or enables/disables the given module.
STA modules are potentially annoying or disruptive features of STA that can be disabled or enabled per-server.
Restrictions: ADMINISTRATOR (partial)
Pause
Usage: --pause
Pauses STAssistant on this server, preventing most - if not all - of its commands and features.
Restrictions: ADMINISTRATOR
Ping
Usage: --ping
Pings the bot, sending how long it took between you sending the message and STA sending its response.
Real Units
Usage: --real [temp|money] <value>
Translates value from CAD and/or Celsius to USD and/or Fahrenheit. No arguments gives helptext.
Rock, Paper, Scissors
Usage: --rps [r|p|s]
Play rock, paper, scissors. No arguments gives helptext.
Run JS
Usage: --run <code>
Runs JavaScript.
Restrictions: SweptThrone
Server Link
Usage: --server
DMs the sender an invite to the STA test server.
Module: server_link
Set Compete
Usage: --setcompete <competition>
Sets STA's status in the form of Competing in competition
Restrictions: SweptThrone
Set Game
Usage: --setgame <game>
Sets STA's status in the form of Playing game
Restrictions: SweptThrone
Set Listen
Usage: --setlisten <listening>
Sets STA's status in the form of Listening to listening
Restrictions: SweptThrone
Set Stream
Usage: --setstream <stream>
Sets STA's status in the form of Streaming stream with a link to SweptThrone's Twitch.
Restrictions: SweptThrone
Set Watch
Usage: --setwatch <watching>
Sets STA's status in the form of Watching watching
Restrictions: SweptThrone
Stream Editor
Usage: sed/<text_to_replace>/<replacement>
Replaces text in the last message the bot can find.
Time Resolver
Usage: --time [id]
Sends the human-readable time corresponding to the given snowflake. No arguments gives helptext.
Timestamp Resolver
Usage: --timestamp [id]
Sends the timestamp corresponding to the given snowflake. No arguments gives helptext.
True or False
Usage: --tf [query]
Sends return true or return false randomly.
Unpause
Usage: --unpause
Unpauses STAssistant on this server.
Restrictions: ADMINISTRATOR
Update
Usage: --update
Sends the latest update note.
Aliases: --whatsnew
Uptime
Usage: --uptime
Sends the uptime of STA itself and the computer its run on.
Userdata
Usage: --userdata <set|get|del> <userid> <key> [data]
Sets, gets, or deletes userdata with the specified key.
Restrictions: SweptThrone
VC Link
Usage: --vclink
Sends the link to the voice channel you're in, for screensharing and webcam sharing.
Vote
Usage: vote: [query|# query...]
Starts an easy reaction-based vote for anything. Start lines with a number up to 10 to do a numeric vote.
What's New
Usage: --whatsnew
Sends the latest update note.
Aliases: --update
Whitelist Server
Usage: --whitelist <id>
Whitelist a server, allowing STA to join it.
Restrcitions: SweptThrone
Yes or No
Usage: --yn [query]
Sends yes or no randomly.
SweptTTT Points
Usage: --points <steam_profile_resolvable>
Deprecated. Does nothing. Previously fetched the number of points the requested Steam user had on SweptTTT.
Manage Trigger
Usage: --trigger
Deprecated. Does nothing. Use Discord AutoMod instead.
View Triggers
Usage: --triggers
Deprecated. Does nothing. Use Discord AutoMod instead.