109 lines
2.1 KiB
Markdown
109 lines
2.1 KiB
Markdown
# Discord Bot with TypeScript
|
|
A modern Discord bot template built with TypeScript for scalable and maintainable bot development.
|
|
|
|
## Features
|
|
- 🤖 Discord.js v14 framework
|
|
- 📘 TypeScript for type safety
|
|
- ⚡ Slash commands support
|
|
- 🛠️ Development tools configured
|
|
- 🔧 Environment configuration
|
|
|
|
## Prerequisites
|
|
- Node.js (version 18 or higher)
|
|
- npm or yarn
|
|
- Discord Bot Token
|
|
|
|
## Installation
|
|
Clone this repository and install dependencies:
|
|
```bash
|
|
git clone https://github.com/Under-scape/discordbot-ts-template
|
|
cd discordbot-ts-template
|
|
npm install
|
|
```
|
|
|
|
## Configuration
|
|
1. Create a `.env` file in the root directory
|
|
2. Add your Discord bot token:
|
|
```env
|
|
DISCORD_TOKEN=your_bot_token_here
|
|
CLIENT_ID=your_client_id_here
|
|
```
|
|
|
|
## Available Scripts
|
|
### Development
|
|
```bash
|
|
npm run start
|
|
```
|
|
Start the bot.
|
|
|
|
### Build
|
|
```bash
|
|
npm run build
|
|
```
|
|
Compile TypeScript to JavaScript for production.
|
|
|
|
### Production
|
|
```bash
|
|
npm run start
|
|
```
|
|
Start the production bot (requires build first).
|
|
|
|
### Deploy Commands
|
|
```bash
|
|
npm run register
|
|
```
|
|
Deploy slash commands to Discord.
|
|
|
|
## Getting Started
|
|
1. Install dependencies: `npm install`
|
|
2. Configure your `.env` file with bot credentials
|
|
3. For start `npm run start`
|
|
|
|
## Scripts Workflow
|
|
For development:
|
|
```bash
|
|
npm run start
|
|
```
|
|
For production:
|
|
```bash
|
|
npm run start
|
|
```
|
|
|
|
## Docker Production Deployment
|
|
|
|
### Build and Deploy
|
|
Build the Docker image and run the container:
|
|
```bash
|
|
docker buildx build -t discord-bot . && docker run -d --restart unless-stopped --name discord-bot discord-bot
|
|
```
|
|
|
|
### Container Management
|
|
|
|
**Stop the container:**
|
|
```bash
|
|
docker stop discord-bot
|
|
```
|
|
|
|
**Start the container (after stop):**
|
|
```bash
|
|
docker start discord-bot
|
|
```
|
|
|
|
**View container logs:**
|
|
```bash
|
|
docker logs -f discord-bot
|
|
```
|
|
|
|
**Remove the container:**
|
|
```bash
|
|
docker rm discord-bot
|
|
```
|
|
|
|
### Complete Rebuild
|
|
Stop, remove, rebuild and redeploy:
|
|
```bash
|
|
docker stop discord-bot && docker rm discord-bot && docker buildx build -t discord-bot . && docker run -d --restart unless-stopped --name discord-bot discord-bot
|
|
```
|
|
|
|
---
|
|
**Note**: This template is based on community best practices and has been customized for Discord bot development. |