-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathconfig.json
More file actions
241 lines (241 loc) · 10.3 KB
/
config.json
File metadata and controls
241 lines (241 loc) · 10.3 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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
{
"mainThreadId": "",
"notesMainThreadId": "MANDATORY: Set your main thread ID here. Use the 'tid' command to get your thread ID, then paste it here and restart the bot.",
"botAccount": {
"email": "",
"password": "",
"twoFactorCode": "",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6.2 Safari/605.1.15",
"autoUseWhenEmpty": true,
"notes": "Bot account configuration. When account.txt is empty, bot will automatically attempt to fetch cookies from this account. 2FA is now supported - enter your 6-digit code in twoFactorCode field or the bot will prompt you during login."
},
"twoIdMode": {
"enable": false,
"secondaryAccount": {
"email": "",
"password": "",
"twoFactorCode": "",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6.2 Safari/605.1.15"
},
"autoSwitchOnError": true,
"notes": "Two account mode. Primary account uses account.txt. Secondary account uses account.txt2. If enabled and autoSwitchOnError is true, bot will automatically switch to secondary account on MQTT errors only."
},
"bioUpdate": {
"enable": false,
"bioText": "",
"updateOnce": true,
"notes": "Bio update system. When enabled, bot will update user bio on startup. If updateOnce is true, bio will only be updated once and not on every restart. Leave bioText empty to disable."
},
"antiInbox": false,
"language": "en",
"notesLanguage": "change to your language with ISO 639-1 code, available languages: vi (Vietnamese), en (English)",
"nickNameBot": "ST | BOT",
"prefix": "!",
"usePrefix": {
"enable": true,
"adminUsePrefix": {
"enable": true,
"specificUids": []
}
},
"adminOnly": {
"enable": false,
"ignoreCommand": []
},
"adminBot": [],
"whiteListMode": {
"enable": false,
"whiteListIds": [],
"notes": "if you enable this feature, only the ids in the whiteListIds list can use the bot"
},
"whiteListModeThread": {
"enable": false,
"whiteListThreadIds": [],
"notes": "if you enable this feature, only the thread in the whiteListThreadIds list can use the bot",
"how_it_work": "if you enable both whiteListMode and whiteListModeThread, the system will check if the user is in whiteListIds, then check if the thread is in whiteListThreadIds, if one of the conditions is true, the user can use the bot"
},
"showLoginTitle": false,
"database": {
"type": "sqlite",
"uriMongodb": "",
"autoSyncWhenStart": false,
"autoRefreshThreadInfoFirstTime": true,
"notes": "(1) type selects 'json' or 'sqlite' or 'mongodb'. If you choose mongodb, enter uri connect mongodb in the uriMongodb section, instructions to get uri connect mongodb at: https://youtu.be/z1f9urHW5xY. I recommend using 'mongodb' or 'sqlite', json is not recommended because it is not stable. (2) when you set autoSyncWhenStart to true, the bot will automatically synchronize the data in the database when starting the bot, this will make the bot start slower. (3) when you set autoRefreshThreadInfoFirstTime to true, the bot will automatically refresh the thread information when get first message from the thread since starting the bot"
},
"timeZone": "Asia/Dhaka",
"dashBoard": {
"enable": true,
"expireVerifyCode": 300000,
"port": 3021,
"passwordProtection": {
"enable": false,
"password": "",
"notes": "Enable password protection for dashboard access"
}
},
"serverUptime": {
"enable": true,
"port": 3001,
"socket": {
"enable": true,
"channelName": "uptime",
"verifyToken": "stbotkey"
}
},
"updateNotification": {
"enable": false,
"notes": "If true, bot will send update notifications to users. If false, update enforcement will be silent (no messages sent to users or admins)"
},
"autoRestart": {
"time": null,
"notes": "you can set time is interval with milisecond or cron time, example: 1000, 10000, 60000, 3600000, 86400000, 0 0 * * *,... docs: https://www.npmjs.com/package/node-cron. If you set time is 0 or false or null, the bot will not auto restart"
},
"autoUptime": {
"enable": false,
"timeInterval": 180,
"url": "",
"notes": "the value of timeInterval is seconds, url is the url you want to send the request to (automatically detected for hosting glitch or replit)"
},
"autoLoadScripts": {
"enable": false,
"ignoreCmds": "",
"ignoreEvents": "",
"notes": "this feature will automatically load the script when scripts have been changed, you can set ignoreCmds to ignore commands, ignoreEvents to ignore events, separate by comma or space, example: \"cmd1.js cmd2.js cmd3.js\" (without backslash)"
},
"autoRefreshFbstate": true,
"autoReloginWhenChangeAccount": false,
"autoRestartWhenListenMqttError": true,
"restartListenMqtt": {
"enable": true,
"timeRestart": 3600000,
"delayAfterStopListening": 2000,
"logNoti": false,
"notes": "the value of timeRestart and delayAfterStopListening is milisecond, You shouldn't edit this if you don't know what it is"
},
"notiWhenListenMqttError": {
"notes": "This is the message when the bot is listening to the mqtt server and the mqtt server stops working due to account problems such as: locked acc, blocked due to spam,... bot will automatically send notifications to parts of your settings. You must change enable to true to use this feature. See bot/login/handlerWhenListenHasError.js file for details on how it works",
"gmail": {
"enable": false,
"emailGetNoti": "",
"note": "Bot will use gmailAccount to send email to emailGetNoti, can send notifications to many email, separate by comma or space, example: \"example1@gmail.com example2@gmail.com\" (without backslash)"
},
"telegram": {
"enable": false,
"botToken": "",
"chatId": "",
"note": "Can send notifications to many chatId, separate by comma or space, example: \"123456789 987654321\" (without backslash)"
},
"discordHook": {
"enable": false,
"webhookUrl": "",
"note": "Can send notifications to many webhookUrl, separate by comma or space, example: \"https://discord.com/api/webhooks/123456789/123456789 https://discord.com/api/webhooks/987654321/987654321\" (without backslash)"
}
},
"botStartupNotification": {
"enable": false,
"sendToThreads": {
"enable": true,
"threadIds": []
},
"sendToAdmin": {
"enable": false,
"adminId": ""
},
"message": "🤖 Bot is now online and ready to serve!",
"notes": "Bot startup notification settings. sendToThreads.threadIds can contain multiple thread IDs, sendToAdmin.adminId should contain single admin ID for notifications.Duo to fca issue maybe sendtoadmin not work."
},
"threadApproval": {
"enable": false,
"adminNotificationThreads": [],
"autoApproveExisting": true,
"sendNotifications": true,
"sendThreadMessage": true,
"autoApprovedThreads": [],
"notes": "Thread approval system. When enabled, bot will only respond in approved threads. adminNotificationThreads: array of thread IDs where approval notifications will be sent. autoApproveExisting: if true, all existing threas will be automatically approved when this feature is first enabled. sendNotifications: if false, no admin notifications sent. sendThreadMessage: if false, no message sent to new thread. autoApprovedThreads: array of thread IDs that will be automatically approved without manual intervention."
},
"botLogging": {
"enable": false,
"sendToThreads": true,
"logThreadIds": [],
"sendToAdmins": false,
"silentOnDisabledThreads": true,
"logBotAdded": false,
"logBotKicked": true,
"notes": "Bot logging system. sendToThreads: if true, sends bot logs to specified thread IDs. logThreadIds: array of thread IDs where bot logs will be sent. sendToAdmins: if true, sends logs to admin IDs. silentOnDisabledThreads: if true, suppresses console errors for disabled threads. logBotAdded/logBotKicked: separate controls for added/kicked events."
},
"groupNoti": {
"enable": false,
"threadIds": [],
"notes": "Group notification settings. If enable is true and threadIds is empty, it will work in all threads. If threadIds has values, it will only work in those specific threads."
},
"antiReact": {
"enable": true,
"reactByUnsend": {
"enable": true,
"emojis": [
"👍"
]
},
"reactByRemove": {
"enable": true,
"emoji": "⚠"
},
"onlyAdminBot": true,
"notes": "If enabled, bot will unsend BOT MESSAGES when admins react with unsend emojis, and remove users when admins react with remove emoji. Only works for bot admins."
},
"hideNotiMessage": {
"commandNotFound": false,
"adminOnly": false,
"threadBanned": false,
"userBanned": false,
"needRoleToUseCmd": false,
"needRoleToUseCmdOnReply": false,
"needRoleToUseCmdOnReaction": false
},
"logEvents": {
"disableAll": true,
"message": true,
"message_reaction": false,
"message_unsend": true,
"message_reply": true,
"event": true,
"read_receipt": false,
"typ": false,
"presence": false
},
"optionsFca": {
"forceLogin": true,
"listenEvents": true,
"updatePresence": true,
"listenTyping": true,
"logLevel": "error",
"selfListen": false,
"selfListenEvent": true,
"autoMarkDelivery": false,
"autoReconnect": false,
"notes": "Document here: https://github.com/sheikhtamimlover/fb-chat-api/blob/master/DOCS.md#apisetoptionsoptions "
},
"fcaType": "stfca",
"notesFcaType": "FCA library to use: 'stfca' for ST-FCA or 'dongdev' for @dongdev/fca-unofficial. Switching will clear cookies and restart bot.",
"githubIntegration": {
"enable": false,
"repoOwner": "",
"repoName": "",
"token": "",
"branch": "main",
"autoCommit": true,
"autoSyncOnUpdate": true,
"commitMessage": "Auto-sync: {action} - {timestamp}",
"excludeFiles": [
"account.txt",
"account.txt2",
"node_modules",
".git",
"backups",
".replit",
"replit.nix",
"database/data"
],
"notes": "GitHub integration for auto-syncing changes. Set enable to true and fill in repoOwner, repoName, and token. Token should have repo permissions. Set autoSyncOnUpdate to true to auto-sync after updates."
}
}