-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.json
More file actions
150 lines (150 loc) · 4.48 KB
/
Copy pathapp.json
File metadata and controls
150 lines (150 loc) · 4.48 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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
{
"name": "EliteXprotectorBot",
"description": "Telegram protection bot with paid onboarding, admin review, and high-scale auto-delete engine.",
"repository": "https://github.com/SkyBotsDeveloper/EliteProtection",
"keywords": [
"telegram",
"aiogram",
"mongodb",
"autodelete",
"moderation"
],
"buildpacks": [
{
"url": "heroku/python"
}
],
"env": {
"BOT_TOKEN": {
"description": "Telegram bot token from @BotFather",
"required": true
},
"MONGO_URI": {
"description": "MongoDB connection URI",
"required": true
},
"MONGO_DB_NAME": {
"description": "MongoDB database name",
"value": "elitex_protector"
},
"LOG_LEVEL": {
"description": "Logging level",
"value": "INFO"
},
"OWNER_USER_ID": {
"description": "Owner Telegram user id (numeric)",
"required": true
},
"OWNER_USERNAME": {
"description": "Owner Telegram username without @",
"value": "EliteSid"
},
"ADMIN_REVIEW_CHAT_ID": {
"description": "Admin review channel/group chat id (numeric, usually starts with -100)",
"required": true
},
"PAYMENT_QR_IMAGE_URL": {
"description": "Public URL of payment QR image",
"value": "https://files.catbox.moe/0svb7x.jpg"
},
"BOT_MESSAGE_DELETE_DELAY_SECONDS": {
"description": "Delete delay for bot messages and all stickers",
"value": "35"
},
"PROTECTED_GROUP_CACHE_REFRESH_SECONDS": {
"description": "Protected-group cache refresh interval (seconds)",
"value": "20"
},
"AUTO_DELETE_TICK_INTERVAL_MS": {
"description": "Scheduler tick interval in milliseconds",
"value": "200"
},
"AUTO_DELETE_CHUNK_SIZE": {
"description": "Delete batch size (max 100)",
"value": "100"
},
"AUTO_DELETE_RETRY_ATTEMPTS": {
"description": "Retry attempts for temporary Telegram API errors",
"value": "5"
},
"AUTO_DELETE_RETRY_BASE_SECONDS": {
"description": "Base retry delay in seconds",
"value": "1.5"
},
"AUTO_DELETE_RETRY_MAX_SECONDS": {
"description": "Maximum retry delay in seconds",
"value": "35"
},
"AUTO_DELETE_WORKER_CONCURRENCY": {
"description": "Parallel delete worker concurrency",
"value": "12"
},
"AUTO_DELETE_METRICS_LOG_INTERVAL_SECONDS": {
"description": "Metrics log interval in seconds",
"value": "60"
},
"AUTO_DELETE_PERSISTENCE_ENABLED": {
"description": "Persist pending deletes in Mongo for crash recovery",
"value": "false"
},
"AUTO_DELETE_PERSISTENCE_TTL_HOURS": {
"description": "TTL for persisted pending deletes in hours",
"value": "24"
},
"AUTO_DELETE_RESTORE_LIMIT": {
"description": "Maximum pending deletes restored at startup",
"value": "20000"
},
"OBSERVER_ENABLED": {
"description": "Optional MTProto observer for broader bot-message visibility",
"value": "false"
},
"OBSERVER_API_ID": {
"description": "Telegram API ID for observer account (required if OBSERVER_ENABLED=true)",
"required": false
},
"OBSERVER_API_HASH": {
"description": "Telegram API hash for observer account (required if OBSERVER_ENABLED=true)",
"required": false
},
"OBSERVER_SESSION_STRING": {
"description": "Telethon StringSession for observer account (required if OBSERVER_ENABLED=true)",
"required": false
},
"OBSERVER_SYNC_INTERVAL_SECONDS": {
"description": "Observer auto-join sync interval in seconds",
"value": "30"
},
"BOT_RUN_MODE": {
"description": "Runtime mode: polling or webhook",
"value": "webhook"
},
"WEBHOOK_MODE": {
"description": "Force webhook mode",
"value": "true"
},
"WEBHOOK_BASE_URL": {
"description": "Public app URL, for example https://your-app-name.herokuapp.com",
"required": true
},
"WEBHOOK_PATH": {
"description": "Telegram webhook path",
"value": "/webhook/telegram"
},
"WEBHOOK_SECRET_TOKEN": {
"description": "Webhook secret token for Telegram header validation",
"generator": "secret"
},
"WEB_SERVER_HOST": {
"description": "HTTP server bind host",
"value": "0.0.0.0"
},
"WEB_CONCURRENCY": {
"description": "Uvicorn worker count for webhook dyno (keep 1 for Telegram webhook stability)",
"value": "1"
}
},
"scripts": {
"postdeploy": "python -m compileall main.py bot"
}
}