A Node.js Discord bot, focused on gaming and entertainment, with 124 commands.
Most of the features were requested by users via the feature command.
- Playtime tracking
- Player count heatmap and trends
- Track players of games and invite all or a subset
- List players by game name or see a list of those who play the same games as you
- Simulated stock market using real world stocks
- Soundbites
- Server and bot administration
- Discord integrated issue and feature submission system with task priority determined by majority vote
- Game stat tracking
- TV and movie user rating system integrated with IMDB and RT and viewable in Discord or a Bootstrap table in a website
- Games and gambling
- Mention custom user groups or power users of a given channel
- fuzzy search for all commands and names of things such as games and movie titles
- The bot's playing status will show the game and player count of whichever game the majority of online users are playing.
- Channels in the Dynamic Voice category will change their name to whichever game the majority of connected users are playing.
- While you are connected to a voice channel and playing a game, the game's name will be abbreviated and added to the end of your nickname.
- .time <
Game Name
> <@user
> -user's playtime for the specified Game Name.
- .time <
Game Name
> -cumulative playtime for the specified Game Name.
- .time <
@user
> -user's playtime for all games.
- .time -
cumulative playtime for all games.
- .opt-in -
to opt into playtime tracking.
- .heatmap -
heatmap of player count for all games.
- .playing -
player count of games currently being played.
- .who-plays -
to get list of players and last time played for games you play.
- .who-plays <
Game Name
> -to get list of players and last time played for Game Name.
- .lets-play -
to ask Scrubs who have recently played the game you are playing if they want to play.
- .lets-play <
Game Name|Game Emoji
> -to ask Scrubs who have recently played Game Name if they want to play.
- .lets-play -all <
Game Name|Game Emoji
> -.lets-play including Super Ν‘Scrubs and inactive players.
- .1-more -
to request 1 more player for the game you are playing via mentions.
- .split-group -
to generate a random group splitting for users in your voice channel.
- .round-robin <
groupName
> -to get the next user in the group in round robin fashion.
- .trends <
Game Name | Game, Game2, etc
> -to see player count trends for the provided game(s).
- .total-trends -
To see total player count trends across all games.
- .fortnite-stats <
fortniteUserName|@user
> <gameMode
> <stat
> -to lookup fortnite stats for the provided player.
- .fortnite-leaderboard <
gameMode
> <stat
> -to show the leaderboard for the provided game mode + stat.
- .set-fortnite-name <
fortniteUserName
> -to link your Fortnite account to Scrub Daddy for stat lookup.
- .enlist -
enlists the discharged Scrubbing Bubbles to your army.
- .discharge <
numBubbles
> -honorably discharges numBubbles Scrubbing Bubble from your army.
- .give <
numBubbles
> <@user
> -transfers numBubbles from your army to user's army.
- .reserve -
to get Scrubbing Bubble reinforcements from your reserve army.
- .clean <
numBubbles
> -send numBubbles to clean the toilet.
- .race <
numBubbles
> -to start a race that costs numBubbles to enter
- .race -
to join a race
- .army -
retrieves the size of your army.
- .army <
@user
> -retrieves the size of the user's army.
- .worth -
retrieves your net worth (army + stock portfolio).
- .worth <
@user
> -retrieves the user's net worth (army + stock portfolio).
- .ranks -
outputs the army size of every user.
- .stats -
outputs your clean stats.
- .stats <
@user
> -outputs the user's clean stats.
- .invest <
stock
> <shares
> -to invest in shares of a stock. Cost is 1-1 with real world price.
- .invest-scrubbles <
stock
> <numBubbles
> -to invest the provided # of Scrubbing Bubbles in a stock. Cost is 1-1 with real world price.
- .sell-shares <
stock
> <shares
> -to sell shares in a stock
- .stocks -
to see how your stocks are doing today
- .portfolio -
to see how your stocks have done over time
- .who-said <
channel-name
> <minMsgLength
> <minMsgReactions
> <sampleSize
> -Starts a quote guessing game using 5 random quotes pulled from sampleSize messages, matching the provided criteria.
- .sunken-sailor -
to start a game of Sunken Sailor with the users in your current voice channel.
- .add-emoji <
tier
> <name
> +ATTACH PNG IN SAME MESSAGE
-π to add the emoji to the server with the provided name.
- .add-emoji <
tier
> +ATTACH PNG IN SAME MESSAGE
-π to add the emoji to the server using the image's filename.
- .magic-word <
tier
> <word
> -π to set a magic word that when typed will ban that user from the channel cmd was called from.
- .rename-hank <
tier
> -π to rename hank to hang
- .rename-channel <
tier
> <#channel
> <New Name
> -π to rename a channel
- .rename-role <
tier
> <@role
> <New Name
> -π to rename a role
- .rename-user <
tier
> <@user
> <New Name
> -π to rename a user
- .scrub-box <
tier
> -to open a Scrub Box. Tier cost = tier * 200. Better and longer lasting prizes as tier increases.
- .scrub-box <
tier
> <numBoxes
> -to open the provided # of Scrub Boxes.
- .inventory -
to see your scrub box prize inventory.
- .prizes -
to see the prize tiers table
- .start-lotto <
MM/DD
> <HH
> -π to start a Beyond lotto that will end at the specified time (HH is 24-hour format in EST)
- .stop-lotto -
π to stop the current Beyond Lotto without choosing a winner.
- .billionaires-club -
π to join The Billionaire's Club.
- Please Note -
You must be in a voice channel with at least 3 members to participate in a kick/ban vote.
- .votekick <
@user
> -to remove user from channel.
- .voteban <
@user
> -for a more permanent solution.
- .vote <
thing to vote for
> -to do a custom vote.
- .voteinfo -
for totals of all custom votes.
- .voteinfo <
@user
> -for total votes to kick/ban that user.
- .tips -
to show all tips.
- .tips <
keyword
> -to show all tips with a title that includes the provided keyword.
- .issue <
issue-title
> <msg detailing issue
> -to submit bot issues.
- .feature <
feature-title
> <msg detailing feature
> -to submit bot feature requests.
- .implement <
task-title
> -to vote for the next task to complete. task-title is the channel title of the issue or feature.
- .help or .h -
to get help for all commands.
- .help <
command
> -to get help for a specific command
- .join-review-team -
to be added to the review team.
- .leave-review-team -
to be removed from the review team.
- .color <
colorName
> -to set your role/response color preference.
- .rainbow-role <
tier
> -π to add a role with changing color for a limited time
- .shuffle-scrubs -
to randomize the first letter of every Srub's name.
- .shuffle-scrubs <
letter
> -to set the first letter of every Srub's name.
- .set-birthday <
MM/DD
> -to set your birthday and receive cake.
- .set-stream <
url
> -to set the url for either your stream or the stream you are watching.
- .toggle-streaming -
to toggle your streaming state on/off, which will update your nickname.
- .alias <
alias
> <command to call
> -creates an alias for the provided command call. e.g. .alias ow who-plays Overwatch ... will allow you to call .ow
- .unalias <
alias
> -removes the alias with the provided name.
- .sb -
to get the list of available soundbites.
- .sb <
name
> -to play the sound byte of the given name in your voice channel.
- .add-sb +
ATTACHMENT IN SAME MESSAGE
-to add a sound byte.
- .fav-sb -
to get the list of your most frequently used soundbites.
- .volume <1-10> -
to set the volume for the provided soundbite.
- .temp -
Creates a temporary text channel
- .temp <
text|voice
> -Creates a temp text/voice channel.
- .temp <
text|voice
> <channel-title
> -Creates a voice/text channel with the provided title.
- .leave-temp -
to leave the temp channel the command is called in.
- .remind-me <
#
> <minutes|hours|days|etc
> <message
> -to be reminded of something at the specified time.
- .lotto -
to join the currently running Beyond lotto or get the time remaining.
- .quote -
to quote and reply or save the quote, depending on which reaction you use (:quoteReply: or :quoteSave:).
- .quote <
@user
> -to quote and reply or save the quote from @user, depending on which reaction you use (:quoteReply: or :quoteSave:).
- .quotes -
to retrieve the list of quotes from everyone on the server.
- .quotes <
@user
> -to retrieve the list of quotes from the specified user.
- .create-list <
name of list
> -to create a named list that users can add entries to.
- .list -
to view all of the user created lists.
- .list <
list-name
> <your new entry
> -to add a new entry to a user created list.
- .create-group <
groupName
> <@user1
> <@user2
> -To create a mentionable group of users. You can mention as many users as you want.
- .create-group <
groupName
> <title of game
> -To create a mentionable group of users who play the specified game.
- .@<
groupName
> <message to send
> -To mention all members of a custom group in a message.
- .@<
gameName
> <message to send
> -To mention all users who play gameName in a message.
- .@power <
message to send
> -If not called from #bot-spam or #scrubs will mention the channel's power users in a message.
- .subscribe-catfacts -
Subscribe to have the latest catfacts DMed hourly!
- .catfacts -
to get a cat fact.
- .channels-left -
to see the temp channels you have left.
- .rejoin-temp <
channel-name
> -to rejoin a temp channel.
- .ignore-posts -
after adding :trashcan: reaction to posts, to stop them from appearing in #car-parts.
- .delete -
call this after adding both :trashcan: and :black_circle: reactions to first and last messages to delete. All messages between the two you reacted to will be deleted, including those two. This will only work if you are in a temp channel you created.
- .rate <
tv|movie
> <1-4
> <title of content
> -to rate a tv or movie show 1-4 stars
- .rating-info <
title of content
> -to get rating info for a title
- .delete-rating <
tv|movie> <title of content
> -to delete your rating of a title
- .refresh-ratings -
to update the IMDB and RT ratings
- backup -
backs up all json files within the data folder to ../jsonBackups.
- restore <
backupFileName
> -restores json files to the specified backup.
- list-backups -
lists the available backups.
- restart <
up|hard
> -restarts and updates the bot if specified.
- export -
writes all local data to their appropriate json files immediately.
- log -
toggles server output redirection to discord channel #server-log.
- revive -
revives a fallen Scrubbing Bubble.
- update-readme -
updates the readme to include new commands.
- add-player <
@user
> <game name
> -adds a player to gamesPlayed.
- remove-player <
@user
> <game name
> -removes a player from gamesPlayed.
- cars -
gets parts for sale by crawling car forum and creating a collage of all images in post.
- admin-help -
lists admin command usage.
- missing-help -
lists commands missing help.
- review-messages -
initiates message review process for quarantined users.