Skip to content

Commit b3ce5f8

Browse files
author
Agent
committed
docs: improve .env.example documentation with detailed comments
- Add comprehensive header explaining the file purpose - Group variables into required and optional sections - Provide step-by-step instructions for obtaining Discord token - Add examples for database URL and extensions - Include security warnings for token handling - Make all explanations beginner-friendly Fixes #20
1 parent ef69746 commit b3ce5f8

1 file changed

Lines changed: 94 additions & 10 deletions

File tree

.env.example

Lines changed: 94 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,105 @@
1-
# Get your bot token from: https://discord.com/developers/applications
1+
# ===========================================
2+
# Miku Discord Bot Configuration
3+
# ===========================================
4+
# This file contains all the environment variables needed to run Miku.
5+
# Copy this file to .env and fill in your actual values.
6+
#
7+
# For detailed setup instructions, see:
8+
# - README.md: Basic bot setup
9+
# - CONTRIBUTING.md: Development guidelines
10+
11+
# ===========================================
12+
# REQUIRED VARIABLES
13+
# ===========================================
14+
# The bot will NOT start without these!
15+
16+
# DISCORD_TOKEN
17+
# Your Discord bot's authentication token. This is required for the bot to connect to Discord.
18+
#
19+
# How to get one:
20+
# 1. Go to: https://discord.com/developers/applications
21+
# 2. Create a new application or select an existing one
22+
# 3. Navigate to "Bot" section in the left sidebar
23+
# 4. Click "Add Bot" if you haven't created one yet
24+
# 5. Click "Reset Token" to generate a new token
25+
# 6. Copy the token and paste it here
26+
#
27+
# IMPORTANT: Keep this token secret! Never share it or commit it to GitHub.
28+
# If your token is leaked, reset it immediately in the Discord Developer Portal.
229
DISCORD_TOKEN=your_bot_token_here
330

4-
# You can get a free PostgreSQL database from neon.tech, supabase.com, or render.com
5-
# Format (Postgres): postgresql+asyncpg://user:password@host:port/database
6-
# For local development, you might prefer to run postgres using Docker.
31+
# DATABASE_URL
32+
# The connection URL for your PostgreSQL database. Miku uses this to store user XP, levels, and settings.
33+
#
34+
# Database providers (free tiers available):
35+
# - neon.tech: Free PostgreSQL with generous limits
36+
# - supabase.com: Free PostgreSQL with additional features
37+
# - render.com: Free PostgreSQL databases
38+
#
39+
# URL Format: postgresql+asyncpg://username:password@host:port/database_name
40+
# Example: postgresql+asyncpg://miku_user:[email protected]:5432/miku_db
41+
#
42+
# For local development:
43+
# - You can run PostgreSQL locally using Docker
44+
# - Or use SQLite by changing the URL format (not recommended for production)
745
DATABASE_URL=postgresql+asyncpg://user:password@host:5432/database
846

9-
# Extensions that MUST load - The bot won't start without them (defaults to an empty list)
47+
# ===========================================
48+
# OPTIONAL VARIABLES
49+
# ===========================================
50+
# These have default values and can be customized if needed.
51+
52+
# CORE_EXTENSIONS (default: [])
53+
# List of extensions that MUST be loaded. The bot will fail to start if any of these fail to load.
54+
# Extensions are Python modules that add features to the bot (e.g., leveling, moderation, music).
55+
#
56+
# Format: JSON array of extension names
57+
# Example: ["leveling", "admin"] - Both extensions must load successfully
58+
#
59+
# Leave empty [] if you want all extensions to be optional.
1060
CORE_EXTENSIONS=[]
1161

12-
# Extensions that can but don't have to load (defaults to an empty list)
13-
# Any other extension not listed here (or in core extensions) won't be loaded, even if it is discovered by the bot.
62+
# ADDITIONAL_EXTENSIONS (default: [])
63+
# List of extensions that SHOULD load but won't crash the bot if they fail.
64+
# Extensions not listed here (or in CORE_EXTENSIONS) won't be loaded at all.
65+
#
66+
# This is useful for:
67+
# - Optional features you want but don't require
68+
# - Testing new extensions without breaking the bot
69+
#
70+
# Format: JSON array of extension names
71+
# Example: ["music", "games", "fun"] - Nice-to-have features
1472
ADDITIONAL_EXTENSIONS=[]
1573

16-
# The prefix to use for prefix commands (defaults to "&"" if not set)
74+
# COMMAND_PREFIX (default: "&")
75+
# The prefix character used for text commands (not slash commands).
76+
#
77+
# Examples:
78+
# - COMMAND_PREFIX=& means users type "&rank" for the rank command
79+
# - COMMAND_PREFIX=! means users type "!rank"
80+
# - COMMAND_PREFIX=miku means users type "miku rank"
81+
#
82+
# Note: Slash commands (/rank) work regardless of this setting.
83+
# Choose a prefix that doesn't conflict with other bots in your server.
1784
COMMAND_PREFIX=&
1885

19-
# Optional: GitHub token for higher API rate limits (5000/hr vs 60/hr)
20-
# Get one at: https://github.com/settings/tokens (no scopes needed for public data)
86+
# ===========================================
87+
# OPTIONAL EXTERNAL SERVICES
88+
# ===========================================
89+
90+
# GITHUB_TOKEN (optional)
91+
# A GitHub personal access token for accessing GitHub API with higher rate limits.
92+
#
93+
# Without this: 60 requests per hour
94+
# With this: 5000 requests per hour
95+
#
96+
# This is useful if Miku integrates with GitHub features (e.g., fetching repo info).
97+
#
98+
# How to get one:
99+
# 1. Go to: https://github.com/settings/tokens
100+
# 2. Click "Generate new token (classic)"
101+
# 3. No scopes needed for public data access
102+
# 4. Copy the token and paste it here
103+
#
104+
# Leave empty if you don't need GitHub integration.
21105
GITHUB_TOKEN=

0 commit comments

Comments
 (0)