A Discord bot built with Oceanic.js and Prisma.
- Bot Customizer
- Advanced Logs
- Welcome Module
- Application Modules
- Self Role Module
- Role Request Module
- Birthdays Module
- Sigestions Module
- Giveaway Module
- Polls Module
- Node.js v16.x (this project uses older dependencies that work best with Node 16)
- MySQL database
- Docker (optional, for containerized deployment)
- Clone the repository:
git clone https://github.com/yourusername/slothybot-free.git
cd slothybot-free- Install dependencies:
npm install- Create a
.envfile in the root directory with the following content:
TOKEN="your-discord-bot-token"
ACTIVITY_NAME="Testing"
ACTIVITY_TYPE=0
PRODUCTION=0
BOT_DATABASE_URL="mysql://username:password@localhost:3306/your_database"
TEST_GUILD_ID=""- Set up the database:
npm run ready- Start the bot:
# Development mode
npm start
# Production mode
npm run build
npm run start:prod-
Clone the repository and navigate to its directory.
-
Create a
.envfile as described above. -
Build and run using Docker:
# Build the image
docker build -t slothybot .
# Run the container
docker run -d --env-file .env slothybotTOKEN: Your Discord bot tokenACTIVITY_NAME: Bot's activity status textACTIVITY_TYPE: Activity type (0 = Playing, 1 = Streaming, etc.)PRODUCTION: Production mode flag (0 = development, 1 = production)BOT_DATABASE_URL: MySQL database connection URLTEST_GUILD_ID: Discord server ID for testing commands in development mode
- This project uses older dependencies and is specifically tested with Node.js v16.x
- Required system dependencies for image processing:
- build-base
- g++
- cairo-dev
- jpeg-dev
- pango-dev
- imagemagick
- giflib-dev
- librsvg-dev
To update the database schema:
npm run prisma-migrateTo regenerate the Prisma client:
npm run prisma-generate