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.