Welcome to GreustBot!
GreustBot is a homebrew Discord bot that was built entirely on Node.js. GreustBot’s main function is to encourage interactions between server members by providing a variety of commands with functions ranging from entertainment to productivity. GreustBot is also capable of handling a virtual currency system called Cadiro Coins with numerous ways of gaining/spending the coins.
GreustBot was also designed to run on a Raspberry Pi that uses PM2 to manage the Discord bot’s process and keep it online 24/7.
As of March of 2019, I am no longer maintaing GreustBot.
Functions and Commands
GreustBot has over 30 commands, with some using external APIs (Reddit, poe.ninja, League) to make a post. All commands are prefixed with ”! “ For example, ”! joke”
Below are a showcase of some commands that GreustBot contains for different categories.
Reddit - Commands that utilize the Reddit API to display a post.
Command Function ! joke Displays a “top 10” post from the subreddit /r/Jokes ! meme Displays a “top 10” post from the subreddit /r/memes ! pun Displays a “top 10” post from the subreddit /r/Puns ! surrealmemes Displays a “top 10” post from the subreddit /r/surrealmemes ! wholesomememe Displays a “top 10” post from the subreddit /r/wholesomememe ! antijoke Displays a “top 10” post from the subreddit /r/antijoke ! dankmemes Displays a “top 10” post from the subreddit /r/dankmemes
League of Legends - Commands that utilize the League API.
Command Function ! leagueData Displays the level and summoner ID given a summoner name ! leagueMastery Display’s a summoner’s highest mastery in League of Legends
Fun - Entertaining commands to encourage interaction within a server.
Command Function ! blackjack Start a game of blackjack against the bot and wager Cadiro Coins ! blackjackpvp Play blackjack against another player and wager Cadiro Coins ! rps Start a game of rock, paper, scissors against the bot and wager Cadiro Coins ! RPSpvp Start a game of rock, paper, scissors against another player and wager Cadiro Coins ! roulette Take a chance to gain some coins, or lose some. ! slots Test your luck against the slots of fate for a chance to win some coins, or lose some. ! 8ball Peer into the mysterious 8ball to receive an answer to your question. ! inspireme Receive an inspirational quote.
Currency - Commands related to Cadiro Coins
Command Function ! grant Grant anyone Cadiro Coins, only usable by administrators ! greustMoney See how many Cadiro Coins GreustBot has. ! coins Check how many Cadiro Coins you have. ! donate Donate some Cadiro Coins to anyone.
Information - Informative commands
Command Function ! joinedAt Check when you joined the server! ! greustMoney Find out how much money Greust is holding!
These are some of the most used commands in GreustBot that I wanted to highlight. GreustBot also contains many more commands that aren’t listed here!
GreustBot was singlehandedly developed by me starting in the Summer of 2017, right before I became a Junior in high school. I continued to occasionally develop GreustBot over the next two years, but development became unwieldy as the codebase grew bigger.
I stopped maintenance and development of GreustBot around March 2019.
What did I take away?
Being my very first major project in programming, GreustBot taught me an incredible amount about starting projects and maintaining them over time.
The most important take-away from GreustBot for me was the absolute necessity to maintain a clean, organized codebase and folder structure right from the start. As a project expands, having a structured codebase and structure will greatly aid development. In the end, I decided to stop GreustBot’s development and pursue some of the other projects that I had started to build.