discos 1.0.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +2 -2
  2. package/dist/common.d.ts +28 -4
  3. package/dist/common.d.ts.map +1 -1
  4. package/dist/common.js +57 -11
  5. package/dist/common.js.map +1 -1
  6. package/dist/modules/admin.d.ts +3 -2
  7. package/dist/modules/admin.d.ts.map +1 -1
  8. package/dist/modules/admin.js +158 -24
  9. package/dist/modules/admin.js.map +1 -1
  10. package/dist/modules/command.d.ts.map +1 -1
  11. package/dist/modules/command.js +2 -2
  12. package/dist/modules/command.js.map +1 -1
  13. package/dist/modules/file.d.ts +3 -1
  14. package/dist/modules/file.d.ts.map +1 -1
  15. package/dist/modules/file.js +69 -8
  16. package/dist/modules/file.js.map +1 -1
  17. package/dist/modules/watch.d.ts.map +1 -1
  18. package/dist/modules/watch.js +2 -4
  19. package/dist/modules/watch.js.map +1 -1
  20. package/dist/shared/consts.d.ts +2 -0
  21. package/dist/shared/consts.d.ts.map +1 -1
  22. package/dist/shared/consts.js +3 -1
  23. package/dist/shared/consts.js.map +1 -1
  24. package/dist/shared/index.d.ts +1 -0
  25. package/dist/shared/index.d.ts.map +1 -1
  26. package/dist/shared/index.js +1 -0
  27. package/dist/shared/index.js.map +1 -1
  28. package/dist/{types/db.d.ts → shared/types.d.ts} +1 -1
  29. package/dist/shared/types.d.ts.map +1 -0
  30. package/dist/{types/db.js → shared/types.js} +1 -1
  31. package/dist/shared/types.js.map +1 -0
  32. package/dist/slash-commands.d.ts.map +1 -1
  33. package/dist/slash-commands.js +23 -6
  34. package/dist/slash-commands.js.map +1 -1
  35. package/dist/startup.d.ts.map +1 -1
  36. package/dist/startup.js +32 -5
  37. package/dist/startup.js.map +1 -1
  38. package/dist/tools/backend.d.ts +4 -0
  39. package/dist/tools/backend.d.ts.map +1 -1
  40. package/dist/tools/backend.js +46 -3
  41. package/dist/tools/backend.js.map +1 -1
  42. package/dist/tools/queue-utils.d.ts +1 -1
  43. package/dist/tools/queue-utils.d.ts.map +1 -1
  44. package/dist/tools/queue-utils.js +4 -2
  45. package/dist/tools/queue-utils.js.map +1 -1
  46. package/dist/tools/validateDb.d.ts +2 -1
  47. package/dist/tools/validateDb.d.ts.map +1 -1
  48. package/dist/tools/validateDb.js +4 -1
  49. package/dist/tools/validateDb.js.map +1 -1
  50. package/package.json +17 -4
  51. package/setup/install.sh +14 -1
  52. package/dist/types/db.d.ts.map +0 -1
  53. package/dist/types/db.js.map +0 -1
package/README.md CHANGED
@@ -38,11 +38,11 @@ DiscOS is a secure interaction bridge between Discord and Linux servers, letting
38
38
  - All user input are escaped, so the shell cannot be abused
39
39
  - Users can decide if the reply for their command is ephemeral or visible for all server users (who have permission to view the channel)
40
40
  - In external backend mode, you can use an IPC server to validate payloads with DiscOS
41
- - The one and only secret DiscOS uses is the bot token. No others keys or secrets needed
41
+ - The one and only secret DiscOS uses is the bot token - no others keys or secrets needed
42
42
  - Minimal logging - users deserve privacy
43
43
  - DiscOS is open-source - see what's under the hood
44
44
  - No need for open ports - DiscOS will make a secure outbound connection to Discord servers
45
- - Files are sent over HTTPS through Discord CDN. The URL is not recorded, so only you can see what was sent
45
+ - Files are sent over HTTPS through Discord CDN, the URL is not recorded, so only you can see what was sent
46
46
  - The Discord API and Discord.js are used by millions of bots and users - DiscOS is built on a solid and reliable foundation
47
47
 
48
48
  ## Limitations
package/dist/common.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export declare const PLATFORM_ERR = "DiscOS CRITICAL ERROR: Only Linux is supported. Startup aborted.";
1
2
  export declare function ENV_MISSING_VAR(missingVars: string[]): string;
2
3
  export declare const ENV_TOKEN = "DiscOS ERROR: BOT_TOKEN must be at least 59 characters long.";
3
4
  export declare const ENV_APPID = "DiscOS ERROR: APP_ID must be a numeric string with at least 17 characters.";
@@ -12,7 +13,7 @@ export declare const ENV_QUICK_VIEW_MAX_LENGTH = "DiscOS ERROR: QUICK_VIEW_MAX_L
12
13
  export declare const DB_ERR = "DiscOS ERROR: Database file is invalid or missing.";
13
14
  export declare const DB_USER_ERR = "DiscOS ERROR: users must be an object with numeric string keys (Discord UIDs) and string values (local users).";
14
15
  export declare const DB_USERS_EMPTY = "DiscOS WARN: No users found in database.";
15
- export declare const DB_USERS_INVALID = "User IDs must be numeric strings at least 17 characters long";
16
+ export declare const DB_USERS_INVALID = "User IDs must be numeric strings at least 17 characters long.";
16
17
  export declare const DB_ADMIN_ERR = "DiscOS ERROR: adminUsers must be an array of numeric strings with at least 17 characters.";
17
18
  export declare const DB_NO_ADMIN = "DiscOS ERROR: There must be at least one admin user in the database.";
18
19
  export declare const DB_ADMIN_INVALID = "DiscOS ERROR: adminUsers must be a non-empty array of numeric strings with at least 17 characters.";
@@ -56,6 +57,11 @@ export declare const REPEAT = "repeat";
56
57
  export declare const REPEAT_DESC = "Number of calls to make. Default: 20. Min: 1. Max: 100.";
57
58
  export declare const DEBUG = "debug";
58
59
  export declare const DEBUG_DESC = "Display various debug infos about the DiscOS instance.";
60
+ export declare const HELP = "help";
61
+ export declare const HELP_USER_DESC = "Display help for DiscOS commands.";
62
+ export declare const HELP_ADMIN_DESC = "Display help for AdmOS (admin) commands.";
63
+ export declare const HELP_USER = "[User commands](https://github.com/BrNi05/DiscOS/wiki/06.-Using-DiscOS-%E2%80%90-user)";
64
+ export declare const HELP_ADMIN: string;
59
65
  export declare const DEFAULT_HIDDEN = true;
60
66
  export declare const DEFAULT_LOOKBACK = -1;
61
67
  export declare const DEFAULT_INTERVAL = 1000;
@@ -112,7 +118,7 @@ export declare const DUPLICATE_ERR = "Command (or similar one) is already being
112
118
  export declare const DISCOS_GENERIC_ERR = "DiscOS ERROR:";
113
119
  export declare const DISCOS_GENERIC_ERR2 = "DiscOS encountered an error. User: @";
114
120
  export declare const DISCOS_CONN_FAIL = "Connection to Discord failed:";
115
- export declare const LISTENING = "DiscOS IPC server is listening on port ";
121
+ export declare const LISTENING = "DiscOS IPC server is listening on ";
116
122
  export declare function CMD_EXEC_AS_MSG(userCmd: string, username: string): string;
117
123
  export declare function CMD_EXEC_AS_MSG2(username: string): string;
118
124
  export declare const WRITE_CMD: string;
@@ -135,11 +141,12 @@ export declare function READ_FILE_QUICK(path: string, username: string): string;
135
141
  export declare const READ_FILE_QUICK_LENGTH = 50;
136
142
  export declare function WRITE_FILE(path: string, username: string): string;
137
143
  export declare function BACKEND_ERR_MSG(username: string, statusCode: number, resString: string): string;
144
+ export declare const NEW_FILE = "NEW FILE: ";
138
145
  export declare function WATCH_CMD_BUILD(target: string, interval: number, i: number, repeat: number): string;
139
146
  export declare const TOO_MANY_REQ = "Too many requests. Please try again later...";
140
147
  export declare const WATCH_TERM = "Watch is terminated.";
141
148
  export declare const UNKNOWN_USER = "Non-server member user";
142
- export declare function MODE_REPLY(standalone: boolean): string;
149
+ export declare function MODE_REPLY(standalone: boolean, pingRes: string): string;
143
150
  export declare function SAFEMODE_REPLY(safemode: boolean): string;
144
151
  export declare function LOCKDOWN_REPLY(enabled: boolean): string;
145
152
  export declare const CLEAR_ALL_USER = "?";
@@ -147,11 +154,28 @@ export declare const CLEAR_ALL_USER_REPLY = "ALL USERS";
147
154
  export declare function AT_LEAST_ONE_ERR(type: string): string;
148
155
  export declare function CH_OPERATION(channelName: string, op: boolean): string;
149
156
  export declare function ADMIN_OPERATION(username: string, op: boolean): string;
150
- export declare function ADMIN_OPS(username: string, localUser: string, op: boolean, overr: boolean): string;
157
+ export declare function ADMIN_OPS(username: string, localUser: string, op: boolean, overr: boolean, userDelete: boolean): string;
158
+ export declare function NOT_IN_USERLIST_ERR(user: string): string;
151
159
  export declare const ADMIN = "admin";
160
+ export declare const PROPAGATE = "propagate";
161
+ export declare const PROPAGATE_DESC = "True: create / remove local user based on DiscOS operation. Default: true.";
162
+ export declare const DEFAULT_PROPAGATE = true;
163
+ export declare function COULDNT_PROPAGATE_ERR(localUser: string): string;
164
+ export declare const ADMIN_AS_WELL = "admin";
165
+ export declare const ADMIN_AS_WELL_DESC = "True: register the select user as admin as well. Default: false.";
166
+ export declare const DEFAULT_ADMIN_AS_WELL = false;
167
+ export declare const NEW_USER = "NEW USER: ";
168
+ export declare function USER_GREETING(user: string, localUser: string, guild: string): string;
169
+ export declare function USER_GOODBYE(user: string): string;
170
+ export declare function ADMIN_GREETING(user: string, localUser: string, guild: string): string;
171
+ export declare function ADMIN_GOODBYE(user: string): string;
172
+ export declare const UNAME_PREFIX = "discos";
152
173
  export declare const SPAWN_ERR = "DiscOS CRITICAL ERROR: cmdex is broken.";
153
174
  export declare const DIR_ERR = "The provided path is an existing directory.";
154
175
  export declare const PERM_ERR = "No permission to write to the file (or to enter the directories).";
155
176
  export declare const DOWNLOAD_ERR = "Failed to download file from Discord CDN.";
156
177
  export declare const SET_PERM_ERR = "Failed to set file permissions.";
178
+ export declare const PING_FAILED = "Ping failed: ";
179
+ export declare const EXTERNAL_OK = "External backend is online and responded to the health check ping.";
180
+ export declare const EXTERNAL_NORESPONSE = "WARNING! The external backend did not respond to the health check ping. It may be offline or unreachable.";
157
181
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
package/dist/common.js CHANGED
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TARGET = exports.WATCH_DESC = exports.WATCH = exports.PATH_DESC_WRITE = exports.FILE_DESC = exports.FILE = exports.WRITE_DESC = exports.WRITE = exports.PATH_DESC_READ = exports.PATH = exports.READ_DESC = exports.READ = exports.LOOKBACK_DESC = exports.LOOKBACK = exports.CLEAR_DESC = exports.CLEAR = exports.CMD_DESC = exports.CMD = exports.EXEC_DESC = exports.EXEC = exports.VERBOSE = exports.HIDE_REPLY = exports.SUCCESS_VERBOSE = exports.HIDE = exports.DCOS_DESC = exports.DCOS = exports.CMD_REG_ERR = exports.CMD_REG_2 = exports.CMD_REG_1 = exports.DB_BOOLEAN_ERR = exports.DB_ALLOWED_CH_INVALID = exports.DB_ALLOWED_CH_EMPTY = exports.DB_ALLOWED_CHANNELS_ARRAY = exports.DB_ADMIN_INVALID = exports.DB_NO_ADMIN = exports.DB_ADMIN_ERR = exports.DB_USERS_INVALID = exports.DB_USERS_EMPTY = exports.DB_USER_ERR = exports.DB_ERR = exports.ENV_QUICK_VIEW_MAX_LENGTH = exports.ENV_QUICK_VIEW = exports.ENV_BIN_OVERRIDE = exports.ENV_FILE_MAX = exports.ENV_BACKEND = exports.ENV_QUEUE_MAX = exports.ENV_VER = exports.ENV_GUILDS = exports.ENV_APPID = exports.ENV_TOKEN = void 0;
4
- exports.ROOT = exports.LOCKDOWN_ENABLED = exports.ENABLED = exports.LOCKDOWN_DESC = exports.LOCKDOWN = exports.CHANNEL_DESC = exports.CHANNEL = exports.CH_MGMT_DESC = exports.CH_MGMT = exports.LSA_DESC = exports.LSA = exports.LSU_DESC = exports.LSU = exports.LOCAL_USER_DESC = exports.LOCAL_USER = exports.OPERATION = exports.USER = exports.ADMIN_MGMT_DESC = exports.ADMIN_MGMT = exports.USER_MGMT_DESC = exports.USER_MGMT = exports.CLEAR_USER_DESC = exports.CLEAR_USER = exports.ADMIN_CLEAR_DESC = exports.CMD_VAL_DESC = exports.CMD_VAL = exports.SAFEMODE_DESC = exports.SAFEMODE = exports.STANDALONE_DESC = exports.STANDALONE = exports.MODE_DESC = exports.MODE = exports.SHUTDOWN_MSG = exports.KILL_DESC = exports.KILL = exports.ADMOS_DESC = exports.ADMOS = exports.FALLBACK_CMD = exports.DEFAULT_DEBUG_VERBOSE = exports.DEFAULT_REPEAT = exports.DEFAULT_INTERVAL = exports.DEFAULT_LOOKBACK = exports.DEFAULT_HIDDEN = exports.DEBUG_DESC = exports.DEBUG = exports.REPEAT_DESC = exports.REPEAT = exports.INTERVAL_DESC = exports.INTERVAL = exports.TARGET_DESC = void 0;
5
- exports.SET_PERM_ERR = exports.DOWNLOAD_ERR = exports.PERM_ERR = exports.DIR_ERR = exports.SPAWN_ERR = exports.ADMIN = exports.CLEAR_ALL_USER_REPLY = exports.CLEAR_ALL_USER = exports.UNKNOWN_USER = exports.WATCH_TERM = exports.TOO_MANY_REQ = exports.READ_FILE_QUICK_LENGTH = exports.MSG_CLR_POST = exports.MSG_CLR_PRE = exports.MSG_CLR_FOR = exports.FETCH_ERR = exports.UNKNOWN_ERR = exports.BACKEND_EXEC_ERR_OVERRIDE = exports.BACKEND_EXEC_ERR = exports.WATCH_CMD = exports.READ_CMD = exports.WRITE_CMD = exports.LISTENING = exports.DISCOS_CONN_FAIL = exports.DISCOS_GENERIC_ERR2 = exports.DISCOS_GENERIC_ERR = exports.DUPLICATE_ERR = exports.DISCOS_NON_ADMIN = exports.LOCKDOWN_ERR = exports.DISCOS_OVERLOADED = exports.USER_ERR = exports.CHANNEL_ERR = exports.GUILD_ERR = exports.USER_SEL = exports.ADDRM = exports.ROOT_DESC = void 0;
3
+ exports.WATCH_DESC = exports.WATCH = exports.PATH_DESC_WRITE = exports.FILE_DESC = exports.FILE = exports.WRITE_DESC = exports.WRITE = exports.PATH_DESC_READ = exports.PATH = exports.READ_DESC = exports.READ = exports.LOOKBACK_DESC = exports.LOOKBACK = exports.CLEAR_DESC = exports.CLEAR = exports.CMD_DESC = exports.CMD = exports.EXEC_DESC = exports.EXEC = exports.VERBOSE = exports.HIDE_REPLY = exports.SUCCESS_VERBOSE = exports.HIDE = exports.DCOS_DESC = exports.DCOS = exports.CMD_REG_ERR = exports.CMD_REG_2 = exports.CMD_REG_1 = exports.DB_BOOLEAN_ERR = exports.DB_ALLOWED_CH_INVALID = exports.DB_ALLOWED_CH_EMPTY = exports.DB_ALLOWED_CHANNELS_ARRAY = exports.DB_ADMIN_INVALID = exports.DB_NO_ADMIN = exports.DB_ADMIN_ERR = exports.DB_USERS_INVALID = exports.DB_USERS_EMPTY = exports.DB_USER_ERR = exports.DB_ERR = exports.ENV_QUICK_VIEW_MAX_LENGTH = exports.ENV_QUICK_VIEW = exports.ENV_BIN_OVERRIDE = exports.ENV_FILE_MAX = exports.ENV_BACKEND = exports.ENV_QUEUE_MAX = exports.ENV_VER = exports.ENV_GUILDS = exports.ENV_APPID = exports.ENV_TOKEN = exports.PLATFORM_ERR = void 0;
4
+ exports.CHANNEL = exports.CH_MGMT_DESC = exports.CH_MGMT = exports.LSA_DESC = exports.LSA = exports.LSU_DESC = exports.LSU = exports.LOCAL_USER_DESC = exports.LOCAL_USER = exports.OPERATION = exports.USER = exports.ADMIN_MGMT_DESC = exports.ADMIN_MGMT = exports.USER_MGMT_DESC = exports.USER_MGMT = exports.CLEAR_USER_DESC = exports.CLEAR_USER = exports.ADMIN_CLEAR_DESC = exports.CMD_VAL_DESC = exports.CMD_VAL = exports.SAFEMODE_DESC = exports.SAFEMODE = exports.STANDALONE_DESC = exports.STANDALONE = exports.MODE_DESC = exports.MODE = exports.SHUTDOWN_MSG = exports.KILL_DESC = exports.KILL = exports.ADMOS_DESC = exports.ADMOS = exports.FALLBACK_CMD = exports.DEFAULT_DEBUG_VERBOSE = exports.DEFAULT_REPEAT = exports.DEFAULT_INTERVAL = exports.DEFAULT_LOOKBACK = exports.DEFAULT_HIDDEN = exports.HELP_ADMIN = exports.HELP_USER = exports.HELP_ADMIN_DESC = exports.HELP_USER_DESC = exports.HELP = exports.DEBUG_DESC = exports.DEBUG = exports.REPEAT_DESC = exports.REPEAT = exports.INTERVAL_DESC = exports.INTERVAL = exports.TARGET_DESC = exports.TARGET = void 0;
5
+ exports.DOWNLOAD_ERR = exports.PERM_ERR = exports.DIR_ERR = exports.SPAWN_ERR = exports.UNAME_PREFIX = exports.NEW_USER = exports.DEFAULT_ADMIN_AS_WELL = exports.ADMIN_AS_WELL_DESC = exports.ADMIN_AS_WELL = exports.DEFAULT_PROPAGATE = exports.PROPAGATE_DESC = exports.PROPAGATE = exports.ADMIN = exports.CLEAR_ALL_USER_REPLY = exports.CLEAR_ALL_USER = exports.UNKNOWN_USER = exports.WATCH_TERM = exports.TOO_MANY_REQ = exports.NEW_FILE = exports.READ_FILE_QUICK_LENGTH = exports.MSG_CLR_POST = exports.MSG_CLR_PRE = exports.MSG_CLR_FOR = exports.FETCH_ERR = exports.UNKNOWN_ERR = exports.BACKEND_EXEC_ERR_OVERRIDE = exports.BACKEND_EXEC_ERR = exports.WATCH_CMD = exports.READ_CMD = exports.WRITE_CMD = exports.LISTENING = exports.DISCOS_CONN_FAIL = exports.DISCOS_GENERIC_ERR2 = exports.DISCOS_GENERIC_ERR = exports.DUPLICATE_ERR = exports.DISCOS_NON_ADMIN = exports.LOCKDOWN_ERR = exports.DISCOS_OVERLOADED = exports.USER_ERR = exports.CHANNEL_ERR = exports.GUILD_ERR = exports.USER_SEL = exports.ADDRM = exports.ROOT_DESC = exports.ROOT = exports.LOCKDOWN_ENABLED = exports.ENABLED = exports.LOCKDOWN_DESC = exports.LOCKDOWN = exports.CHANNEL_DESC = void 0;
6
+ exports.EXTERNAL_NORESPONSE = exports.EXTERNAL_OK = exports.PING_FAILED = exports.SET_PERM_ERR = void 0;
6
7
  exports.ENV_MISSING_VAR = ENV_MISSING_VAR;
7
8
  exports.CMD_EXEC_AS_MSG = CMD_EXEC_AS_MSG;
8
9
  exports.CMD_EXEC_AS_MSG2 = CMD_EXEC_AS_MSG2;
@@ -23,6 +24,13 @@ exports.AT_LEAST_ONE_ERR = AT_LEAST_ONE_ERR;
23
24
  exports.CH_OPERATION = CH_OPERATION;
24
25
  exports.ADMIN_OPERATION = ADMIN_OPERATION;
25
26
  exports.ADMIN_OPS = ADMIN_OPS;
27
+ exports.NOT_IN_USERLIST_ERR = NOT_IN_USERLIST_ERR;
28
+ exports.COULDNT_PROPAGATE_ERR = COULDNT_PROPAGATE_ERR;
29
+ exports.USER_GREETING = USER_GREETING;
30
+ exports.USER_GOODBYE = USER_GOODBYE;
31
+ exports.ADMIN_GREETING = ADMIN_GREETING;
32
+ exports.ADMIN_GOODBYE = ADMIN_GOODBYE;
33
+ exports.PLATFORM_ERR = 'DiscOS CRITICAL ERROR: Only Linux is supported. Startup aborted.';
26
34
  function ENV_MISSING_VAR(missingVars) {
27
35
  return `DiscOS ERROR: Missing environment variables: ${missingVars.join(', ')}`;
28
36
  }
@@ -39,7 +47,7 @@ exports.ENV_QUICK_VIEW_MAX_LENGTH = 'DiscOS ERROR: QUICK_VIEW_MAX_LENGTH must be
39
47
  exports.DB_ERR = 'DiscOS ERROR: Database file is invalid or missing.';
40
48
  exports.DB_USER_ERR = 'DiscOS ERROR: users must be an object with numeric string keys (Discord UIDs) and string values (local users).';
41
49
  exports.DB_USERS_EMPTY = 'DiscOS WARN: No users found in database.';
42
- exports.DB_USERS_INVALID = 'User IDs must be numeric strings at least 17 characters long';
50
+ exports.DB_USERS_INVALID = 'User IDs must be numeric strings at least 17 characters long.';
43
51
  exports.DB_ADMIN_ERR = 'DiscOS ERROR: adminUsers must be an array of numeric strings with at least 17 characters.';
44
52
  exports.DB_NO_ADMIN = 'DiscOS ERROR: There must be at least one admin user in the database.';
45
53
  exports.DB_ADMIN_INVALID = 'DiscOS ERROR: adminUsers must be a non-empty array of numeric strings with at least 17 characters.';
@@ -83,6 +91,13 @@ exports.REPEAT = 'repeat';
83
91
  exports.REPEAT_DESC = 'Number of calls to make. Default: 20. Min: 1. Max: 100.';
84
92
  exports.DEBUG = 'debug';
85
93
  exports.DEBUG_DESC = 'Display various debug infos about the DiscOS instance.';
94
+ exports.HELP = 'help';
95
+ exports.HELP_USER_DESC = 'Display help for DiscOS commands.';
96
+ exports.HELP_ADMIN_DESC = 'Display help for AdmOS (admin) commands.';
97
+ exports.HELP_USER = '[User commands](https://github.com/BrNi05/DiscOS/wiki/06.-Using-DiscOS-%E2%80%90-user)';
98
+ exports.HELP_ADMIN = '[Admin commands](https://github.com/BrNi05/DiscOS/wiki/07.-Using-DiscOS-%E2%80%90-admin)' +
99
+ '\n' +
100
+ '[User commands](https://github.com/BrNi05/DiscOS/wiki/06.-Using-DiscOS-%E2%80%90-user)';
86
101
  exports.DEFAULT_HIDDEN = true;
87
102
  exports.DEFAULT_LOOKBACK = -1;
88
103
  exports.DEFAULT_INTERVAL = 1000;
@@ -139,7 +154,7 @@ exports.DUPLICATE_ERR = 'Command (or similar one) is already being processed for
139
154
  exports.DISCOS_GENERIC_ERR = 'DiscOS ERROR:';
140
155
  exports.DISCOS_GENERIC_ERR2 = 'DiscOS encountered an error. User: @';
141
156
  exports.DISCOS_CONN_FAIL = 'Connection to Discord failed:';
142
- exports.LISTENING = 'DiscOS IPC server is listening on port ';
157
+ exports.LISTENING = 'DiscOS IPC server is listening on ';
143
158
  function CMD_EXEC_AS_MSG(userCmd, username) {
144
159
  return `Command: "${userCmd}" executed as @${username}:\n\n`;
145
160
  }
@@ -163,7 +178,7 @@ exports.MSG_CLR_FOR = 'Cleared all messages for @';
163
178
  exports.MSG_CLR_PRE = 'Cleared the last ';
164
179
  exports.MSG_CLR_POST = ' messages for ';
165
180
  function FILE_CORRUPT_ERR(username) {
166
- return `DiscOS ERROR: The file is corrupted, too large to send, has unkown extension or unreadable (as @${username}). Check the file path, extension, size and permissions.`;
181
+ return `DiscOS ERROR: The file is corrupted, too large to send, has unknown extension or unreadable (as @${username}). Check the file path, extension, size and permissions.`;
167
182
  }
168
183
  function FILE_SIZE_ERR(maxSize) {
169
184
  return `DiscOS ERROR: Target file is larger than FILE_MAX_SIZE (${maxSize} MB). Requested as @`;
@@ -184,14 +199,15 @@ function WRITE_FILE(path, username) {
184
199
  function BACKEND_ERR_MSG(username, statusCode, resString) {
185
200
  return `BACKEND ERROR as @${username}.\nHTTP status code: ${statusCode}.\nMessage: ${resString}`;
186
201
  }
202
+ exports.NEW_FILE = 'NEW FILE: ';
187
203
  function WATCH_CMD_BUILD(target, interval, i, repeat) {
188
204
  return `echo "Watching <${target}> at ${interval}ms intervals. Tick: ${i + 1} / ${repeat}." && echo && ${target}`;
189
205
  }
190
206
  exports.TOO_MANY_REQ = 'Too many requests. Please try again later...';
191
207
  exports.WATCH_TERM = 'Watch is terminated.';
192
208
  exports.UNKNOWN_USER = 'Non-server member user';
193
- function MODE_REPLY(standalone) {
194
- return `DiscOS is now running in ${standalone ? 'standalone' : 'external backend'} mode.`;
209
+ function MODE_REPLY(standalone, pingRes) {
210
+ return `DiscOS is now running in ${standalone ? 'standalone' : 'external backend'} mode.` + '\n' + pingRes;
195
211
  }
196
212
  function SAFEMODE_REPLY(safemode) {
197
213
  return 'Command validation is now ' + (safemode ? 'enabled' : 'disabled') + '.';
@@ -212,15 +228,45 @@ function ADMIN_OPERATION(username, op) {
212
228
  const extra = op ? '' : 'not ';
213
229
  return `User @${username} is/was ${extra}allowed to use admin commands.`;
214
230
  }
215
- function ADMIN_OPS(username, localUser, op, overr) {
231
+ function ADMIN_OPS(username, localUser, op, overr, userDelete) {
216
232
  const extra = op ? 'added' : 'removed';
217
- const override = overr ? ' Previous local user setting was overwritten.' : '';
218
- return `User @${username} (as ${localUser} on server) is/was ${extra} as an admin user.` + override;
233
+ const override = overr ? '\nPrevious local user setting was overwritten.' : '';
234
+ const deleteMsg = userDelete ? '\nA local user was removed as well.' : '';
235
+ return `User @${username} (as ${localUser} on server) is/was ${extra} as a DiscOS user.` + override + deleteMsg;
236
+ }
237
+ function NOT_IN_USERLIST_ERR(user) {
238
+ return `AdmOS ERROR: @${user} is not a DiscOS user.\nUse the /admos usermgmt slash command, which can (while registering the user) add an admin user.`;
219
239
  }
220
240
  exports.ADMIN = 'admin';
241
+ exports.PROPAGATE = 'propagate';
242
+ exports.PROPAGATE_DESC = 'True: create / remove local user based on DiscOS operation. Default: true.';
243
+ exports.DEFAULT_PROPAGATE = true;
244
+ function COULDNT_PROPAGATE_ERR(localUser) {
245
+ return `AdmOS ERROR: Local user "${localUser}" is non-existent and propagation is turned off. Operation aborted.`;
246
+ }
247
+ exports.ADMIN_AS_WELL = 'admin';
248
+ exports.ADMIN_AS_WELL_DESC = 'True: register the select user as admin as well. Default: false.';
249
+ exports.DEFAULT_ADMIN_AS_WELL = false;
250
+ exports.NEW_USER = 'NEW USER: ';
251
+ function USER_GREETING(user, localUser, guild) {
252
+ return `Hello @${user},\n\nYou have been registered to use DiscOS commands (as ${localUser}) on Discord server: ${guild}.\nUse /${exports.DCOS} ${exports.HELP} to see available commands.`;
253
+ }
254
+ function USER_GOODBYE(user) {
255
+ return `Goodbye @${user},\n\nYour DiscOS user has been removed and you can no longer use DiscOS commands.\nIf this was a mistake, please contact an admin.`;
256
+ }
257
+ function ADMIN_GREETING(user, localUser, guild) {
258
+ return `Hello @${user},\n\nYou have been registered as a DiscOS admin on Discord server: ${guild}. Now you can use AdmOS commands.\nYou are also registered to use DiscOS commands on the host as: ${localUser}.\nUse /${exports.DCOS} ${exports.HELP} to see available user commands and /${exports.ADMOS} ${exports.HELP} to see available admin commands.`;
259
+ }
260
+ function ADMIN_GOODBYE(user) {
261
+ return `Hello @${user},\n\nYour DiscOS admin rights have been revoked and you can no longer use AdmOS commands.\nIf this was a mistake, please contact an admin.`;
262
+ }
263
+ exports.UNAME_PREFIX = 'discos';
221
264
  exports.SPAWN_ERR = 'DiscOS CRITICAL ERROR: cmdex is broken.';
222
265
  exports.DIR_ERR = 'The provided path is an existing directory.';
223
266
  exports.PERM_ERR = 'No permission to write to the file (or to enter the directories).';
224
267
  exports.DOWNLOAD_ERR = 'Failed to download file from Discord CDN.';
225
268
  exports.SET_PERM_ERR = 'Failed to set file permissions.';
269
+ exports.PING_FAILED = 'Ping failed: ';
270
+ exports.EXTERNAL_OK = 'External backend is online and responded to the health check ping.';
271
+ exports.EXTERNAL_NORESPONSE = 'WARNING! The external backend did not respond to the health check ping. It may be offline or unreachable.';
226
272
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { ChatInputCommandInteraction, CacheType } from 'discord.js';
1
+ import type { ChatInputCommandInteraction, AutocompleteInteraction, CacheType, Client } from 'discord.js';
2
2
  import type { CommandQueues } from '../types/queues';
3
- export declare function handleAdmin(interaction: ChatInputCommandInteraction<CacheType>, subcommand: string, username: string, queues: CommandQueues): Promise<void>;
3
+ export declare function localUserAutocomplete(interaction: AutocompleteInteraction<CacheType>, queues: CommandQueues): Promise<void>;
4
+ export declare function handleAdmin(interaction: ChatInputCommandInteraction<CacheType>, subcommand: string, username: string, queues: CommandQueues, client: Client): Promise<void>;
4
5
  //# sourceMappingURL=admin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/modules/admin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,SAAS,EAAS,MAAM,YAAY,CAAC;AAYhF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAkDrD,wBAAsB,WAAW,CAC/B,WAAW,EAAE,2BAA2B,CAAC,SAAS,CAAC,EACnD,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,IAAI,CAAC,CAyOf"}
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/modules/admin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,SAAS,EAAS,MAAM,EAAE,MAAM,YAAY,CAAC;AAcjH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAkDrD,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,uBAAuB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCjI;AAoFD,wBAAsB,WAAW,CAC/B,WAAW,EAAE,2BAA2B,CAAC,SAAS,CAAC,EACnD,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAsSf"}
@@ -36,10 +36,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.localUserAutocomplete = localUserAutocomplete;
39
40
  exports.handleAdmin = handleAdmin;
40
41
  const command_1 = require("./command");
41
42
  const ipcServer_1 = require("../tools/ipcServer");
42
43
  const queueUtils = __importStar(require("../tools/queue-utils"));
44
+ const backend_1 = require("../tools/backend");
45
+ const shell_escape_1 = __importDefault(require("shell-escape"));
43
46
  const COMMON = __importStar(require("../common"));
44
47
  const consts_1 = require("../shared/consts");
45
48
  const config_1 = require("../config");
@@ -70,11 +73,96 @@ async function dbPrep(interaction) {
70
73
  return false;
71
74
  }
72
75
  }
73
- function dbClose(db) {
76
+ function dbClose(db, queues) {
74
77
  fs_1.default.writeFileSync(config_1.Config.databasePath, JSON.stringify(db, null, 2), 'utf-8');
75
- (0, validateDb_1.validateDb)();
78
+ (0, validateDb_1.validateDb)(queues);
76
79
  }
77
- async function handleAdmin(interaction, subcommand, username, queues) {
80
+ async function localUserAutocomplete(interaction, queues) {
81
+ if (!interaction.guild || !config_1.Config.allowedChannels.includes(interaction.channelId) || !config_1.Config.allowedUsers.includes(interaction.user.id)) {
82
+ return;
83
+ }
84
+ const focusedValue = interaction.options.getFocused();
85
+ const payload = {
86
+ user: consts_1.ROOT_UID,
87
+ cmd: `grep -vE ':(/usr/sbin/nologin|/bin/false|/sbin/nologin)$' /etc/passwd | cut -d: -f1 | grep -F -- "${(0, shell_escape_1.default)([focusedValue])}" | head -n 5`,
88
+ };
89
+ queueUtils.addToAll(queues, payload);
90
+ const res = await (0, backend_1.post)(payload, false);
91
+ queueUtils.removeFromAll(queues, payload);
92
+ const items = res.data
93
+ .toString('utf-8')
94
+ .split('\n')
95
+ .filter((item) => item.trim());
96
+ if (items.length === 0) {
97
+ items.push(focusedValue);
98
+ }
99
+ const prefix = String(res.data).trim().length === 0 ? COMMON.NEW_USER : '';
100
+ await interaction.respond(items.map((choice) => ({
101
+ name: prefix + choice,
102
+ value: choice,
103
+ })));
104
+ }
105
+ async function sendDM(client, userId, content) {
106
+ const user = await client.users.fetch(userId);
107
+ void user.send(content);
108
+ }
109
+ const LOCAL_USER_FAILED = 'false';
110
+ const LOCAL_USER_SUCCESS = 'true';
111
+ async function localUserHandler(localUser, propagate, operation, queue) {
112
+ if (operation) {
113
+ const payload = {
114
+ user: consts_1.ROOT_UID,
115
+ cmd: `id -u ${(0, shell_escape_1.default)([localUser])}`,
116
+ };
117
+ queueUtils.addToAll(queue, payload);
118
+ const res = await (0, backend_1.post)(payload, false);
119
+ queueUtils.removeFromAll(queue, payload);
120
+ let userExists = true;
121
+ if (res.data.toString('utf-8').trim().startsWith('id: ')) {
122
+ userExists = false;
123
+ }
124
+ if (propagate) {
125
+ if (!userExists) {
126
+ const payload = {
127
+ user: consts_1.ROOT_UID,
128
+ cmd: `useradd -m ${(0, shell_escape_1.default)([localUser])}`,
129
+ };
130
+ queueUtils.addToAll(queue, payload);
131
+ await (0, backend_1.post)(payload, false);
132
+ queueUtils.removeFromAll(queue, payload);
133
+ return LOCAL_USER_SUCCESS;
134
+ }
135
+ }
136
+ else {
137
+ if (!userExists) {
138
+ return LOCAL_USER_FAILED;
139
+ }
140
+ }
141
+ }
142
+ else {
143
+ if (propagate) {
144
+ const payload = {
145
+ user: consts_1.ROOT_UID,
146
+ cmd: `id -u ${(0, shell_escape_1.default)([localUser])} >/dev/null 2>&1 && userdel -r ${(0, shell_escape_1.default)([localUser])} >/dev/null 2>&1`,
147
+ };
148
+ queueUtils.addToAll(queue, payload);
149
+ void (0, backend_1.post)(payload, false);
150
+ queueUtils.removeFromAll(queue, payload);
151
+ }
152
+ return LOCAL_USER_SUCCESS;
153
+ }
154
+ return LOCAL_USER_SUCCESS;
155
+ }
156
+ function truncUname(input) {
157
+ const MAX_LEN = 32;
158
+ input = input.toLowerCase().trim();
159
+ input = input.replace(/[^a-z0-9_.]/g, '');
160
+ if (input.length > MAX_LEN) {
161
+ return input.substring(0, MAX_LEN);
162
+ }
163
+ return input;
164
+ }
165
+ async function handleAdmin(interaction, subcommand, username, queues, client) {
78
166
  await interaction.deferReply({ flags: 64 });
79
167
  const guild = interaction.guild;
80
168
  switch (subcommand) {
@@ -100,7 +188,7 @@ async function handleAdmin(interaction, subcommand, username, queues) {
100
188
  break;
101
189
  }
102
190
  case COMMON.USER_MGMT: {
103
- await userMgmt(interaction);
191
+ await userMgmt(interaction, client);
104
192
  break;
105
193
  }
106
194
  case COMMON.LSU: {
@@ -108,7 +196,7 @@ async function handleAdmin(interaction, subcommand, username, queues) {
108
196
  break;
109
197
  }
110
198
  case COMMON.ADMIN_MGMT: {
111
- await adminMgmt(interaction);
199
+ await adminMgmt(interaction, client);
112
200
  break;
113
201
  }
114
202
  case COMMON.LSA: {
@@ -127,6 +215,10 @@ async function handleAdmin(interaction, subcommand, username, queues) {
127
215
  await rootCommand(interaction);
128
216
  break;
129
217
  }
218
+ case COMMON.HELP: {
219
+ await interaction.editReply({ content: COMMON.HELP_ADMIN });
220
+ break;
221
+ }
130
222
  }
131
223
  async function kill(interaction) {
132
224
  await interaction.editReply({
@@ -136,6 +228,10 @@ async function handleAdmin(interaction, subcommand, username, queues) {
136
228
  }
137
229
  async function mode(interaction) {
138
230
  const standalone = interaction.options.getBoolean(COMMON.STANDALONE, true);
231
+ let pingRes = '';
232
+ if (!standalone) {
233
+ pingRes = await (0, backend_1.ping)();
234
+ }
139
235
  if (config_1.Config.standalone && !standalone) {
140
236
  config_1.Config.ipcServer = (0, ipcServer_1.startIPCServer)(queues);
141
237
  }
@@ -147,9 +243,9 @@ async function handleAdmin(interaction, subcommand, username, queues) {
147
243
  if (!db)
148
244
  return;
149
245
  db.standalone = standalone;
150
- dbClose(db);
246
+ dbClose(db, queues);
151
247
  await interaction.editReply({
152
- content: COMMON.MODE_REPLY(standalone),
248
+ content: COMMON.MODE_REPLY(standalone, pingRes),
153
249
  });
154
250
  }
155
251
  async function safemode(interaction) {
@@ -158,27 +254,46 @@ async function handleAdmin(interaction, subcommand, username, queues) {
158
254
  if (!db)
159
255
  return;
160
256
  db.safemode = enabled;
161
- dbClose(db);
257
+ dbClose(db, queues);
162
258
  await interaction.editReply({
163
259
  content: COMMON.SAFEMODE_REPLY(enabled),
164
260
  });
165
261
  }
166
- async function userMgmt(interaction) {
262
+ async function userMgmt(interaction, client) {
167
263
  const userObj = interaction.options.getUser(COMMON.USER, true);
168
- const member = userObj ? interaction.guild?.members.resolve(userObj) : null;
169
- const targetUser = member ? (member.nickname ?? member.user.username) : COMMON.CLEAR_ALL_USER;
264
+ const guildName = interaction.guild.name;
265
+ const targetUser = userObj.username;
170
266
  const userId = userObj.id;
171
- const localProfile = interaction.options.getString(COMMON.LOCAL_USER, true);
172
267
  const operation = interaction.options.getBoolean(COMMON.OPERATION, true);
268
+ let localUser = interaction.options.getString(COMMON.LOCAL_USER, false)?.trim() ?? userObj.username;
269
+ const propagate = interaction.options.getBoolean(COMMON.PROPAGATE, false) ?? COMMON.DEFAULT_PROPAGATE;
270
+ const adminAsWell = interaction.options.getBoolean(COMMON.ADMIN_AS_WELL, false) ?? COMMON.DEFAULT_ADMIN_AS_WELL;
271
+ let deleteUser = false;
173
272
  const db = await dbPrep(interaction);
174
273
  if (!db)
175
274
  return;
176
275
  if (operation) {
276
+ if (!interaction.options.getString(COMMON.LOCAL_USER, false)?.trim())
277
+ localUser = truncUname(COMMON.UNAME_PREFIX + '_' + targetUser);
278
+ const res = await localUserHandler(localUser, propagate, operation, queues);
279
+ if (res === LOCAL_USER_FAILED) {
280
+ await interaction.editReply({
281
+ content: COMMON.COULDNT_PROPAGATE_ERR(localUser),
282
+ });
283
+ return;
284
+ }
177
285
  const existed = db.users[userId] !== undefined;
178
- db.users[userId] = localProfile;
286
+ db.users[userId] = localUser;
179
287
  await interaction.editReply({
180
- content: COMMON.ADMIN_OPS(targetUser, localProfile, true, existed),
288
+ content: COMMON.ADMIN_OPS(targetUser, localUser, true, existed, false),
181
289
  });
290
+ if (!adminAsWell)
291
+ await sendDM(client, userId, COMMON.USER_GREETING(targetUser, localUser, guildName));
292
+ else {
293
+ dbClose(db, queues);
294
+ await new Promise((r) => setTimeout(r, 2000));
295
+ await adminMgmt(interaction, client);
296
+ }
182
297
  }
183
298
  else {
184
299
  if (Object.keys(db.users).length === 1) {
@@ -188,27 +303,45 @@ async function handleAdmin(interaction, subcommand, username, queues) {
188
303
  return;
189
304
  }
190
305
  else {
191
- if (userId in db.users)
306
+ if (userId in db.users) {
307
+ if (db.adminUsers.includes(userId)) {
308
+ db.adminUsers = db.adminUsers.filter((u) => u !== userId);
309
+ await sendDM(client, userId, COMMON.ADMIN_GOODBYE(targetUser));
310
+ }
311
+ deleteUser = Object.values(db.users).filter((lu) => lu === db.users[userId]).length === 1 && propagate;
312
+ if (deleteUser)
313
+ await localUserHandler(db.users[userId], true, operation, queues);
192
314
  delete db.users[userId];
315
+ await sendDM(client, userId, COMMON.USER_GOODBYE(targetUser));
316
+ }
193
317
  await interaction.editReply({
194
- content: COMMON.ADMIN_OPS(targetUser, localProfile, false, false),
318
+ content: COMMON.ADMIN_OPS(targetUser, localUser, false, false, deleteUser),
195
319
  });
196
320
  }
197
321
  }
198
- dbClose(db);
322
+ if (!adminAsWell)
323
+ dbClose(db, queues);
199
324
  }
200
- async function adminMgmt(interaction) {
325
+ async function adminMgmt(interaction, client) {
201
326
  const userObj = interaction.options.getUser(COMMON.USER, true);
202
- const member = userObj ? interaction.guild?.members.resolve(userObj) : null;
203
- const targetUser = member ? (member.nickname ?? member.user.username) : COMMON.CLEAR_ALL_USER;
327
+ const guildName = interaction.guild.name;
328
+ const targetUser = userObj.username;
204
329
  const userId = userObj.id;
205
330
  const operation = interaction.options.getBoolean(COMMON.OPERATION, true);
331
+ if (!config_1.Config.allowedUsers.includes(userId)) {
332
+ await interaction.editReply({
333
+ content: COMMON.NOT_IN_USERLIST_ERR(targetUser),
334
+ });
335
+ return;
336
+ }
206
337
  const db = await dbPrep(interaction);
207
338
  if (!db)
208
339
  return;
209
340
  if (operation) {
210
- if (!db.adminUsers.includes(userId))
341
+ if (!db.adminUsers.includes(userId)) {
211
342
  db.adminUsers.push(userId);
343
+ await sendDM(client, userId, COMMON.ADMIN_GREETING(targetUser, db.users[userId], guildName));
344
+ }
212
345
  await interaction.editReply({
213
346
  content: COMMON.ADMIN_OPERATION(targetUser, true),
214
347
  });
@@ -225,9 +358,10 @@ async function handleAdmin(interaction, subcommand, username, queues) {
225
358
  await interaction.editReply({
226
359
  content: COMMON.ADMIN_OPERATION(targetUser, false),
227
360
  });
361
+ await sendDM(client, userId, COMMON.ADMIN_GOODBYE(targetUser));
228
362
  }
229
363
  }
230
- dbClose(db);
364
+ dbClose(db, queues);
231
365
  }
232
366
  async function chMgmt(interaction) {
233
367
  const channel = interaction.options.getChannel(COMMON.CHANNEL, true);
@@ -258,7 +392,7 @@ async function handleAdmin(interaction, subcommand, username, queues) {
258
392
  });
259
393
  }
260
394
  }
261
- dbClose(db);
395
+ dbClose(db, queues);
262
396
  }
263
397
  async function lockdown(interaction) {
264
398
  const enabled = interaction.options.getBoolean(COMMON.ENABLED, true);
@@ -266,7 +400,7 @@ async function handleAdmin(interaction, subcommand, username, queues) {
266
400
  if (!db)
267
401
  return;
268
402
  db.lockdown = enabled;
269
- dbClose(db);
403
+ dbClose(db, queues);
270
404
  await interaction.editReply({
271
405
  content: COMMON.LOCKDOWN_REPLY(enabled),
272
406
  });