GriggyBot is a Discord bot originally designed for The Legend Continues' Community Minecraft server. It integrates with the server to provide interactive features such as rank applications, chore submissions, gambling games, and more. The bot is tailored to work with plugins like LuckPerms, DiscordSRV, and CMI.
- RCON Integration: Executes server commands and logs responses directly in Discord.
- Daily Rewards: Players can claim daily rewards with
/daily
, with streak bonuses for consecutive claims. - Daily Chores: Randomly selects a daily task for players to complete for in-game currency. Submit proof of completed chores using
!chore
. - Custom Profiles: Players can customize their profiles with
/profile
, including colors, descriptions, and images. Viewed with/info
. - Slots, Blackjack, Roulette, and Rock-Paper-Scissors: Players can wager in-game currency on fun games.
- Auto Messages: Ability to send periodic messages to help you advertise server features.
- Interactive TODO List: Staff can manage tasks with
/todo
commands. Includes assigning tasks to members, different lists like "idea", "low priority", etc. - Admin Tools: Modify some config values from Discord with
/admin editconfig
. Reload the config with/admin reload
, or shutdown the bot with/admin shutdown
. - [Experimental] Dynamic Welcome Image: Automatically updates the welcome message with server stats like TPS, player count, and restart schedule.
- [Experimental] Rank Applications: Players can apply for ranks using
/apply
. Staff can approve applications based on points and vouches.
Before installing and running GriggyBot, ensure you have the following:
- Node.js: Install the latest version of Node.js from nodejs.org, or install on Linux with
sudo apt install nodejs
- Discord Bot: Create a bot on the Discord Developer Portal and obtain the token and client ID. Resources for help setting up a Discord bot:
- Discord Bot Creation Guide
- DiscordSRV Guide This guide aligns almost exactly with how you should setup GriggyBot
- Minecraft Server Plugins:
- DiscordSRV
- CMI
- LuckPerms (soft depend, used for viewing player rank in
/info
)
- RCON: Enable RCON in your
server.properties
file and configure the IP, port, and password.⚠️ You should really, really set your RCON IP to 127.0.0.1 (localhost) to ensure no one from outside of your server can connect to your remote console (RCON). And it's still a good idea to set a long, complex password. Change your RCON port to something other than the default25575
for extra brownie points.
Setup the Bot in Discord Developer Portal - more info
Save the clientId and token for config.yml
!
Recommended Install Location
├── GriggyBot <---- HERE
└── YourMainFolder/
├── world
├── world_nether
├── world_the_end
└── plugins
Ensure you've installed Node.js - on Linux, run
sudo apt install nodejs
-
Clone the repository:
git clone https://github.com/Grxffxn/GriggyBot.git cd GriggyBot
-
Install dependencies:
npm install
-
Configure the bot:
- Edit the
src/config.yml
file with your server and bot details. At minimum, configure these:
- Edit the
# * The bot token and client ID from the Discord Developer Portal
token: "YOUR_DISCORD_BOT_TOKEN_HERE"
clientId: "YOUR_CLIENT_ID_HERE"
# * RCON connection details for your Minecraft server
# These values are found in your server.properties file
# You may need to manually add 'rcon.ip=127.0.0.1' to your server.properties
rconIp: "127.0.0.1"
rconPwd: "YOUR_RCON_PASSWORD_HERE"
rconPort: 25575 # Default RCON port, replace if different
-
Run the bot:
node index.js
-
After first setup:
- Shut down the bot (ctrl+c in terminal, or
/admin shutdown
on Discord) - Run the bot with
nohup node index.js &
- Type
exit
and press enter - Check
GriggyBot/nohup.out
for bot logs
- Shut down the bot (ctrl+c in terminal, or