Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
50 lines (37 loc) · 1.66 KB
/
Copy path.env.example
File metadata and controls
50 lines (37 loc) · 1.66 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
# Copy to .env and fill in. Never commit .env.
# Chat Bot access token from console.x.com (starts with xcbot_).
# Creating it also gives you the Juicebox PIN and signing-key version.
X_ACCESS_TOKEN=
# Numeric user id of the bot account (from the same console flow)
CHAT_BOT_USER_ID=
# Juicebox PIN from the console when the Chat Bot token was created
CHAT_PIN=
# Signing-key version from the same console flow (public_key_version)
CHAT_SIGNING_KEY_VERSION=
# public_key_fingerprint from registration (optional sanity check)
CHAT_FINGERPRINT=
# Optional: base64 export_keys blob. Used when CHAT_PIN is not set.
# If both are set, CHAT_PIN takes precedence.
CHAT_PRIVATE_KEYS_B64=
# xAI API key. Pick (once a day) can be a reasoning model; answers should not.
XAI_API_KEY=
XAI_MODEL=grok-4.3
XAI_ANSWER_MODEL=grok-4.20-0309-non-reasoning
XAI_IMAGINE_MODEL=grok-imagine-image-2.0
# US trending topics. Worldwide is 1.
TRENDS_WOEID=23424977
# Poll interval for the inbox (seconds)
POLL_INTERVAL=4
# People who DM the bot without following land in Message requests.
# GET /2/chat/conversations does not list those. Comma-separated handles or numeric ids
# are looked up with GET /2/chat/conversations/{id}, which still works for request threads.
CHAT_PEER_USER_IDS=
# App-only Bearer token (developer portal → app keys). Required to discover
# Message-request DMs from people who don't follow the bot.
# The X_ACCESS_TOKEN user token cannot call GET /2/activity/stream.
X_BEARER_TOKEN=
# Optional Postgres. If unset, local SQLite at data/gorkle.sqlite is used.
# DATABASE_URL=
# Concurrent Grok replies (one thread per in-flight player). Health checks bind PORT.
WORKERS=16
# PORT=8080