forked from dogarrowtype/PromptInspectorBot
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
121 lines (93 loc) · 4.69 KB
/
.env.example
File metadata and controls
121 lines (93 loc) · 4.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# ============================================================================
# DISCORD BOT CREDENTIALS (REQUIRED)
# ============================================================================
# Your Discord bot token (get from https://discord.com/developers/applications)
BOT_TOKEN=your_discord_bot_token_here
# ============================================================================
# AI API KEYS (AT LEAST ONE REQUIRED)
# ============================================================================
# Google Gemini API key (for vision, /ask, /describe, /techsupport, /coder)
# Get from: https://ai.google.dev/
GEMINI_API_KEY=your_gemini_api_key_here
# Anthropic Claude API key (optional fallback for vision/text)
# Get from: https://console.anthropic.com/
ANTHROPIC_API_KEY=your_anthropic_api_key_here
# ============================================================================
# CLOUDFLARE R2 (REQUIRED FOR /upload_image)
# ============================================================================
# Cloudflare R2 credentials for image storage
# Get from: Cloudflare Dashboard → R2 → Manage R2 API Tokens
R2_ACCOUNT_ID=your_r2_account_id
R2_ACCESS_KEY_ID=your_r2_access_key_id
R2_SECRET_ACCESS_KEY=your_r2_secret_access_key
R2_BUCKET_NAME=your_r2_bucket_name
# Public URL for the uploader interface (e.g., Cloudflare Pages deployment)
UPLOADER_URL=https://your-uploader-url.pages.dev/uploader.html
# ============================================================================
# SERVER & CHANNEL CONFIGURATION (OPTIONAL)
# ============================================================================
# Comma-separated list of server IDs allowed to use this bot
# Leave empty to allow ALL servers (public mode)
# Example: ALLOWED_GUILD_IDS=123456789,987654321
ALLOWED_GUILD_IDS=
# Comma-separated list of channel IDs to automatically monitor for images
# Leave empty to monitor ALL channels in allowed servers
# Example: MONITORED_CHANNEL_IDS=123456789,987654321
MONITORED_CHANNEL_IDS=
# ============================================================================
# ROLES & PERMISSIONS (OPTIONAL)
# ============================================================================
# Comma-separated list of supporter role IDs (Ko-fi, Patreon, etc.)
# Users with these roles get 500 uploads/day instead of 100
# Example: SUPPORTER_ROLE_IDS=123456789,987654321
SUPPORTER_ROLE_IDS=
# Comma-separated list of admin channel IDs for security alerts
# Security events will be posted to these channels
# Example: ADMIN_CHANNEL_IDS=123456789,987654321
ADMIN_CHANNEL_IDS=
# Comma-separated list of trusted user IDs (bypass some rate limits)
# Example: TRUSTED_USER_IDS=123456789,987654321
TRUSTED_USER_IDS=
# ============================================================================
# DM (DIRECT MESSAGE) ACCESS (OPTIONAL)
# ============================================================================
# Comma-separated list of user IDs allowed to use bot via DMs
# Users NOT on this list receive an auto-response with donation/support info
# Early Supporters ($5/month donors) get DM access + higher upload limits
# Example: DM_ALLOWED_USER_IDS=123456789,987654321
DM_ALLOWED_USER_IDS=
# ============================================================================
# AI MODEL CONFIGURATION (OPTIONAL)
# ============================================================================
# Primary Gemini model for vision tasks
# Default: gemini-2.5-flash
GEMINI_PRIMARY_MODEL=gemini-2.5-flash
# Comma-separated list of Gemini fallback models
# Default: gemini-2.0-flash-exp,gemini-exp-1206
GEMINI_FALLBACK_MODELS=gemini-2.0-flash-exp,gemini-exp-1206
# Primary Claude model for vision/text tasks
# Default: claude-3-5-haiku-20241022
CLAUDE_PRIMARY_MODEL=claude-3-5-haiku-20241022
# LLM provider priority (comma-separated: gemini,claude)
# Default: gemini,claude
LLM_PROVIDER_PRIORITY=gemini,claude
# Override provider for NSFW content (gemini or claude)
# Example: NSFW_PROVIDER_OVERRIDE=gemini
NSFW_PROVIDER_OVERRIDE=
# ============================================================================
# RETRY & RATE LIMITING (OPTIONAL)
# ============================================================================
# Maximum retries for Gemini API calls
# Default: 3
GEMINI_MAX_RETRIES=3
# Delay between retries (seconds)
# Default: 1.0
GEMINI_RETRY_DELAY=1.0
# ============================================================================
# FEATURE TOGGLES (OPTIONAL)
# ============================================================================
# Note: Per-server feature toggles are managed via guild_settings.json
# and can be configured using the /settings command in Discord
# Whether to react with ⛔ on images with no metadata
# Default: false
REACT_ON_NO_METADATA=false