/[sudobot]/trunk/src/utils/Help.ts
ViewVC logotype

Diff of /trunk/src/utils/Help.ts

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/commands/help.js revision 25 by rakin, Mon Jul 29 17:28:16 2024 UTC trunk/src/utils/help.ts revision 72 by rakin, Mon Jul 29 17:28:29 2024 UTC
# Line 1  Line 1 
1  const { MessageActionRow, MessageButton } = require("discord.js");  import { CommandHelpData } from "../types/CommandHelpData";
 const MessageEmbed = require("../src/MessageEmbed");  
 const { escapeRegex } = require("../src/util");  
2    
3  module.exports = {  export default <CommandHelpData[]> [
4      version: "1.2.0-beta",      {
5      commands: [          name: 'about',
6          {          shortBrief: "Show information about the bot.",
7              name: 'addsnippet',          description: null,
8              shortBrief: "Adds a snippet.",          structure: "",
9              description: null,          example: "`%%about`",
10              structure: "<Name> <Content>",          notes: null,
11              example: "`%%addsnippet roles There are 2 roles`\n`%%addsnippet roles There are 2 roles\nAdmin - Administrator\nMod - Moderator`",          slashCommand: true,
12              notes: null          legacyCommand: true
13          },      },
14          {      {
15              name: 'announce',          name: 'addqueue',
16              shortBrief: "Announce something in the given channel.",          shortBrief: "Add a queue job.",
17              description: "Announce something in the given channel. The channel should be set in the configuration.",          description: 'Adds a queued command to the bot\'s memory and after the given amount of time it gets executed.',
18              structure: "<Content>",          structure: "<time> <command>",
19              example: "`%%announce Hello there!\nWe've just finished our job!\n@everyone`",          example: "`%%addqueue 15m echo Hello world`\n`%%addqueue 12h kick 875275828247255`",
20              notes: null          notes: null,
21          },          slashCommand: false,
22          {          legacyCommand: true
23              name: 'ban',      },
24              shortBrief: "Ban someone in this server.",      {
25              description: null,          name: 'addsnippet',
26              structure: "<UserID|Mention> [Reason]",          shortBrief: "Adds a snippet.",
27              example: "`%%ban 385753607325075320`\n`%%ban @Someone You are spamming a lot`",          description: null,
28              notes: null          structure: "<Name> <Content>",
29          },          example: "`%%addsnippet roles There are 2 roles`\n`%%addsnippet roles There are 2 roles\nAdmin - Administrator\nMod - Moderator`",
30          {          notes: null,
31              name: 'bean',          slashCommand: true,
32              shortBrief: "Bean someone in this server.",          legacyCommand: true
33              description: "Bean someone. It doesn't do anything except pretending.",      },
34              structure: "<UserID|Mention> [Reason]",      {
35              example: "`%%bean 385753607325075320`\n`%%bean @Someone You are spamming a lot`",          name: 'afk',
36              notes: null          shortBrief: "Keeps track of your mentions and tells other users that you're AFK.",
37          },          description: null,
38          {          structure: "[Reason]",
39              name: 'cat',          example: "`%%afk`\n`%%afk Having dinner`",
40              shortBrief: "Get a random kitty picture.",          notes: null,
41              description: "Fetches a random cat picture from `thecatapi.com` API.",          slashCommand: true,
42              structure: "",          legacyCommand: true
43              example: "`%%cat`",      },
44              notes: null      {
45          },          name: 'announce',
46          {          shortBrief: "Announce something in the given channel.",
47              name: 'delsnippet',          description: "Announce something in the given channel. The channel should be set in the configuration.",
48              shortBrief: "Deletes a snippet.",          structure: "<Content>",
49              description: null,          example: "`%%announce Hello there!\nWe've just finished our job!\n@everyone`",
50              structure: "<Name>",          notes: null,
51              example: "`%%delsnippet roles`",          slashCommand: true,
52              notes: null          legacyCommand: true
53          },      },
54          {      {
55              name: 'dog',          name: 'avatar',
56              shortBrief: "Get a random doggy picture.",          shortBrief: "Show someone's avatar.",
57              description: "Fetches a random cat picture from `thedogapi.com` API.",          description: null,
58              structure: "",          structure: "[UserID|UserTag|Mention]=CURRENT_USER",
59              example: "`%%dog`",          example: "`%%avatar 385753607325075320`\n`%%avatar`",
60              notes: null          notes: null,
61          },          slashCommand: true,
62          {          legacyCommand: true
63              name: 'echo',      },
64              shortBrief: "Echo (re-send) a message.",      {
65              description: "Re-send a message from the bot.",          name: 'ban',
66              structure: "<content> [channelMention]",          shortBrief: "Ban someone in this server.",
67              example: "`%%echo Something\nVery Cool`\n`%%echo Something\nVery Cool #general`",          description: "Ban a user in this server.",
68              notes: null          structure: "<UserID|UserTag|Mention> [-d=DAYS] [Reason]",
69          },          example: "`%%ban 385753607325075320`\n`%%ban @Someone You are spamming a lot`\n`%%ban @Someone -d 5`\n`%%ban 385753607325075320 -d 5 You are spamming a lot`",
70          {          notes: null,
71              name: 'general-role',          options: {
72              shortBrief: "Set the general role.",              "-d": "The number of days old messages to delete. It must be in range 0-7. An argument is required.",
             description: null,  
             structure: "<RoleID|RoleMention>",  
             example: "`%%general-role 937923625698638`\n`%%general-role @General`",  
             notes: null  
         },  
         {  
             name: 'help',  
             shortBrief: "Show this help and exit.",  
             description: null,  
             structure: "[command]",  
             example: "`%%help`\n`%%help mute`",  
             notes: null  
         },  
         {  
             name: 'httpcat',  
             shortBrief: "Get some funny cat memes related to HTTP.",  
             description: "Get some funny cat memes related to HTTP status codes, using http.cat API.",  
             structure: "<status>",  
             example: "`%%httpcat 403`",  
             notes: null  
         },  
         {  
             name: 'httpdog',  
             shortBrief: "Get some funny dog memes related to HTTP.",  
             description: "Get some funny dog memes related to HTTP status codes, using http.dog API.",  
             structure: "<status>",  
             example: "`%%httpdog 403`",  
             notes: null  
         },  
         {  
             name: 'kick',  
             shortBrief: "Kick someone from this server.",  
             description: null,  
             structure: "<UserID|Mention> [Reason]",  
             example: "`%%kick 385753607325075320`\n`%%kick @Someone You are spamming a lot`",  
             notes: null  
         },  
         {  
             name: 'lock',  
             shortBrief: "Lock a specific channel.",  
             description: "Makes the given channel read-only for the general members. If no channel is present, the current channel will be locked.",  
             structure: "[ChannelID|ChannelMention] [...options]",  
             example: "`%%lock 385753607325075320`\n`%%lock #general`\n`%%lock`",  
             notes: null,  
             options: {  
                 "--no-send": "Do not send a confirmation message to the locked channel",  
                 "--everyone": "Lock the channels for @everyone rather than the general role",  
             }  
         },  
         {  
             name: 'lockall',  
             shortBrief: "Lock all the channels given in the configuration.",  
             description: "Makes the given channels read-only for the general members.",  
             structure: "[...options]",  
             example: "`%%lockall --no-send\n`%%lockall`\n`%%lockall --everyone`",  
             notes: null,  
             options: {  
                 "--no-send": "Do not send a confirmation message to the locked channel",  
                 "--everyone": "Lock the channels for @everyone rather than the general role",  
             }  
         },  
         {  
             name: 'mod-role',  
             shortBrief: "Set the moderator role.",  
             description: null,  
             structure: "<RoleID|RoleMention>",  
             example: "`%%mod-role 937923625698638`\n`%%mod-role @Moderator`",  
             notes: null  
         },  
         {  
             name: 'mute',  
             shortBrief: "Mute someone in this server.",  
             description: null,  
             structure: "<UserID|Mention> [-t=DURATION] [Reason]",  
             example: "`%%mute 385753607325075320`\n`%%mute @Someone You are spamming a lot`\n`%%mute @Someone -t 10m You are spamming a lot`",  
             options: {  
                 "-t": "Set the mute duration"  
             },  
             notes: null  
         },  
         {  
             name: 'muted-role',  
             shortBrief: "Set the muted role.",  
             description: null,  
             structure: "<RoleID|RoleMention>",  
             example: "`%%muted-role 937923625698638`\n`%%muted-role @Muted`",  
             notes: null  
         },  
         {  
             name: 'mvsnippet',  
             shortBrief: "Rename a snippet.",  
             description: null,  
             structure: "<oldName> <newName>",  
             example: "`%%mvsnippet abc bca`",  
             notes: null  
         },  
         {  
             name: 'note',  
             shortBrief: "Take a note about an user.",  
             description: null,  
             structure: "<UserID|UserMention> <note>",  
             example: "`%%note @Someone Simple note.`",  
             notes: null  
         },  
         {  
             name: 'notedel',  
             shortBrief: "Delete a note.",  
             description: null,  
             structure: "<NoteID>",  
             example: "`%%notedel 922`",  
             notes: null  
         },  
         {  
             name: 'noteget',  
             shortBrief: "Get a note.",  
             description: null,  
             structure: "<NoteID>",  
             example: "`%%noteget 922`",  
             notes: null  
         },  
         {  
             name: 'notes',  
             shortBrief: "Get all notes for a specific user.",  
             description: null,  
             structure: "<UserID|UserMention>",  
             example: "`%%notes @Someone`",  
             notes: null  
         },  
         {  
             name: 'pixabay',  
             shortBrief: "Fetch images from Pixabay.",  
             description: "Search & fetch images from Pixabay API.\n\nAvailable Subcommands:\n\tphoto - Fetch photos only.\n\tvector - Fetch vectors only.\n\tillustration - Fetch illustrations only\n\timage - Fetch any image.",  
             structure: "<subcommand> [query]",  
             example: "`%%pixabay image`\n`%%pixabay photo birds`",  
             notes: null  
         },  
         {  
             name: 'prefix',  
             shortBrief: "Change the bot prefix.",  
             description: null,  
             structure: "<NewPrefix>",  
             example: "`%%prefix -`",  
             notes: null  
         },  
         {  
             name: 'setconfig',  
             shortBrief: "Change the bot configuration keys.",  
             description: null,  
             structure: "<key> <value>",  
             example: "`%%setconfig debug true`",  
             notes: null  
         },  
         {  
             name: 'spamfilter',  
             shortBrief: "Change the spam filter configuration keys.",  
             description: null,  
             structure: "<key> <value>",  
             example: "`%%spamfilter include #general`",  
             notes: null  
         },  
         {  
             name: 'unban',  
             shortBrief: "Unban a user from this server.",  
             description: null,  
             structure: "<UserID>",  
             example: "`%%unban 2946255269594753792`",  
             notes: null  
         },  
         {  
             name: 'unlock',  
             shortBrief: "Unlock a specific channel.",  
             description: "Makes the given channel writable for the general members. If no channel is present, the current channel is unlocked.",  
             structure: "[ChannelID|ChannelMention] [...options]",  
             example: "`%%unlock 385753607325075320`\n`%%unlock #general`\n`%%unlock`",  
             notes: null,  
             options: {  
                 "--no-send": "Do not send a confirmation message to the locked channel",  
                 "--everyone": "Unlock the channels for @everyone rather than the general role",  
             }  
         },  
         {  
             name: 'unlockall',  
             shortBrief: "Unlock all the channels given in the configuration.",  
             description: "Makes the given channels writable for the general members.",  
             structure: "[...options]",  
             example: "`%%unlockall --no-send\n`%%unlockall`\n`%%unlockall --everyone`",  
             notes: null,  
             options: {  
                 "--no-send": "Do not send a confirmation message to the locked channel",  
                 "--everyone": "Lock the channels for @everyone rather than the general role",  
                 "--raid": "Unlock all Raid-locked channels"  
             }  
         },  
         {  
             name: 'unmute',  
             shortBrief: "Unmute someone in this server.",  
             description: null,  
             structure: "<UserID|Mention>",  
             example: "`%%unmute 385753607325075320`\n`%%unmute @Someone You are spamming a lot`",  
             notes: null  
73          },          },
74          {          slashCommand: true,
75              name: 'warn',          legacyCommand: true
76              shortBrief: "Warn someone in this server.",      },
77              description: null,      {
78              structure: "<UserID|Mention> [Reason]",          name: 'ballot',
79              example: "`%%warn 385753607325075320`\n`%%warn @Someone You are spamming a lot`",          shortBrief: "Create/view a ballot (poll) message.",
80              notes: null          description: null,
81            subcommands: {
82                "create": "Create a ballot message. Argument 1 should be the ballot message content.",
83                "view": "View a ballot message stats. Argument 1 should be the ballot ID."
84            },
85            structure: "<subcommand> <subcommand-arguments>",
86            example: "`%%ballot create What do you think guys?`\n`%%ballot view 15`",
87            notes: null,
88            slashCommand: true,
89            legacyCommand: true
90        },
91        {
92            name: 'bean',
93            shortBrief: "Bean someone in this server.",
94            description: "Bean someone. It doesn't do anything except pretending.",
95            structure: "<UserID|UserTag|Mention> [Reason]",
96            example: "`%%bean 385753607325075320`\n`%%bean @Someone You are spamming a lot`",
97            notes: null,
98            slashCommand: true,
99            legacyCommand: true
100        },
101        {
102            name: 'cat',
103            shortBrief: "Get a random kitty picture.",
104            description: "Fetches a random cat picture from `thecatapi.com` API.",
105            structure: "",
106            example: "`%%cat`",
107            notes: null,
108            slashCommand: true,
109            legacyCommand: true
110        },
111        {
112            name: 'clear',
113            shortBrief: "Clear all messages from a user.",
114            description: "Clear all messages from a user, in the current channel. This might take a while.",
115            structure: "<UserID|UserTag|UserMention>",
116            example: "`%%clear 83474924191884727`\n`%%clear @Someone`",
117            notes: null,
118            slashCommand: true,
119            legacyCommand: true
120        },
121        {
122            name: 'delqueue',
123            shortBrief: "Delete a queue job.",
124            description: "Delete a queued command by its ID.",
125            structure: "<QueueID>",
126            example: "`%%delqueue 80`",
127            notes: null,
128            slashCommand: false,
129            legacyCommand: true
130        },
131        {
132            name: 'delsnippet',
133            shortBrief: "Deletes a snippet.",
134            description: null,
135            structure: "<Name>",
136            example: "`%%delsnippet roles`",
137            notes: null,
138            slashCommand: true,
139            legacyCommand: true
140        },
141        {
142            name: 'dog',
143            shortBrief: "Get a random doggy picture.",
144            description: "Fetches a random cat picture from `thedogapi.com` API.",
145            structure: "",
146            example: "`%%dog`",
147            notes: null,
148            slashCommand: true,
149            legacyCommand: true
150        },
151        {
152            name: 'echo',
153            shortBrief: "Echo (re-send) a message.",
154            description: "Re-send a message from the bot.",
155            structure: "<content> [channelMention]",
156            example: "`%%echo Something\nVery Cool`\n`%%echo Something\nVery Cool #general`",
157            notes: null,
158            slashCommand: true,
159            legacyCommand: true
160        },
161        {
162            name: 'emoji',
163            shortBrief: "Get info about an emoji. Must be guild (server) specific emoji.",
164            description: null,
165            structure: "<GuildEmoji|GuildEmojiName>",
166            example: "`%%emoji check`\n`%%emoji error`",
167            notes: null,
168            slashCommand: false,
169            legacyCommand: true
170        },
171        {
172            name: 'expire',
173            shortBrief: "Echo (re-send) a message and delete it after the given time.",
174            description: "Re-send a message from the bot and delete it automatically after the given time interval.",
175            structure: "<timeInterval> <content> [channelMention]",
176            example: "`%%echo 25m Something\nVery Cool`\n`%%echo 1h Something\nVery Cool #general`",
177            notes: null,
178            slashCommand: true,
179            legacyCommand: true
180        },
181        {
182            name: 'expiresc',
183            shortBrief: "Schedule a message and delete it after the given time.",
184            description: "Schedule a message from the bot and delete it automatically after the given time interval.",
185            structure: "<scheduleTimeInterval> <expireTimeInterval> <content> [channelMention]",
186            example: "`%%echo 25m 5h Something\nVery Cool`\n`%%echo 1h 7d Something\nVery Cool #general`",
187            notes: null,
188            slashCommand: true,
189            legacyCommand: true
190        },
191        {
192            name: 'help',
193            shortBrief: "Show this help and exit.",
194            description: null,
195            structure: "[command]",
196            example: "`%%help`\n`%%help mute`",
197            notes: null,
198            slashCommand: true,
199            legacyCommand: true
200        },
201        {
202            name: 'history',
203            shortBrief: "Show moderation history for a user.",
204            description: null,
205            structure: "<UserMention|UserID>",
206            example: "`%%history 27372628277272625`\n`%%history @Someone`",
207            notes: null,
208            slashCommand: true,
209            legacyCommand: true
210        },
211        {
212            name: 'httpcat',
213            shortBrief: "Get some funny cat memes related to HTTP.",
214            description: "Get some funny cat memes related to HTTP status codes, using http.cat API.",
215            structure: "<status>",
216            example: "`%%httpcat 403`",
217            notes: null,
218            slashCommand: true,
219            legacyCommand: true
220        },
221        {
222            name: 'httpdog',
223            shortBrief: "Get some funny dog memes related to HTTP.",
224            description: "Get some funny dog memes related to HTTP status codes, using http.dog API.",
225            structure: "<status>",
226            example: "`%%httpdog 403`",
227            notes: null,
228            slashCommand: true,
229            legacyCommand: true
230        },
231        {
232            name: 'joke',
233            shortBrief: "Fetch a random joke from The Joke API.",
234            description: null,
235            structure: "",
236            example: "`%%joke`",
237            notes: null,
238            slashCommand: true,
239            legacyCommand: true
240        },
241        {
242            name: 'kick',
243            shortBrief: "Kick someone from this server.",
244            description: null,
245            structure: "<UserID|UserTag|Mention> [Reason]",
246            example: "`%%kick 385753607325075320`\n`%%kick @Someone You are spamming a lot`",
247            notes: null,
248            slashCommand: true,
249            legacyCommand: true
250        },
251        {
252            name: 'lock',
253            shortBrief: "Lock a specific channel.",
254            description: "Makes the given channel read-only for the general members. If no channel is present, the current channel will be locked.",
255            structure: "[ChannelID|ChannelMention] [...options]",
256            example: "`%%lock 385753607325075320`\n`%%lock #general`\n`%%lock`",
257            notes: null,
258            options: {
259                "--no-send": "Do not send a confirmation message to the locked channel",
260          },          },
261          {          slashCommand: true,
262              name: 'warndel',          legacyCommand: true
263              shortBrief: "Delete a warning.",      },
264              description: null,      {
265              structure: "<ID>",          name: 'lockall',
266              example: "`%%warndel 39`",          shortBrief: "Lock all the channels given in the configuration.",
267              notes: null          description: "Makes the given channels read-only for the general members.",
268            structure: "[...options]",
269            example: "`%%lockall --no-send\n`%%lockall`\n`%%lockall --everyone`",
270            notes: null,
271            options: {
272                "--no-send": "Do not send a confirmation message to the locked channel",
273          },          },
274          {          slashCommand: true,
275              name: 'warning',          legacyCommand: true
276              shortBrief: "Show a warning.",      },
277              description: null,      {
278              structure: "<ID>",          name: 'massban',
279              example: "`%%warning 39`",          shortBrief: 'Mass ban (multiple) users',
280              notes: null          description: null,
281            structure: '<...UserIDs|UserMentions> [Reason]',
282            example: '`%%massban 8247282727258725258 @someone Mass Banning`',
283            notes: null,
284            slashCommand: true,
285            legacyCommand: true
286        },
287        {
288            name: 'mute',
289            shortBrief: "Mute someone in this server.",
290            description: null,
291            structure: "<UserID|UserTag|Mention> [-t=DURATION] [Reason]",
292            example: "`%%mute 385753607325075320`\n`%%mute @Someone You are spamming a lot`\n`%%mute @Someone -t 10m You are spamming a lot`",
293            options: {
294                "-t": "Set the mute duration"
295            },
296            notes: null,
297            slashCommand: true,
298            legacyCommand: true
299        },
300        {
301            name: 'mvsnippet',
302            shortBrief: "Rename a snippet.",
303            description: null,
304            structure: "<oldName> <newName>",
305            example: "`%%mvsnippet abc bca`",
306            notes: null,
307            slashCommand: true,
308            legacyCommand: true
309        },
310        {
311            name: 'note',
312            shortBrief: "Take a note about an user.",
313            description: null,
314            structure: "<UserID|UserTag|UserMention> <note>",
315            example: "`%%note @Someone Simple note.`",
316            notes: null,
317            slashCommand: true,
318            legacyCommand: true
319        },
320        {
321            name: 'notedel',
322            shortBrief: "Delete a note.",
323            description: null,
324            structure: "<NoteID>",
325            example: "`%%notedel 922`",
326            notes: null,
327            slashCommand: true,
328            legacyCommand: true
329        },
330        {
331            name: 'noteget',
332            shortBrief: "Get a note.",
333            description: null,
334            structure: "<NoteID>",
335            example: "`%%noteget 922`",
336            notes: null,
337            slashCommand: true,
338            legacyCommand: true
339        },
340        {
341            name: 'notes',
342            shortBrief: "Get all notes for a specific user.",
343            description: null,
344            structure: "<UserID|UserTag|UserMention>",
345            example: "`%%notes @Someone`",
346            notes: null,
347            slashCommand: true,
348            legacyCommand: true
349        },
350        {
351            name: 'pixabay',
352            shortBrief: "Fetch images from Pixabay.",
353            description: "Search & fetch images from Pixabay API.\n\nAvailable Subcommands:\n\tphoto - Fetch photos only.\n\tvector - Fetch vectors only.\n\tillustration - Fetch illustrations only\n\timage - Fetch any image.",
354            structure: "<subcommand> [query]",
355            example: "`%%pixabay image`\n`%%pixabay photo birds`",
356            notes: null,
357            slashCommand: true,
358            legacyCommand: true
359        },
360        {
361            name: 'profile',
362            shortBrief: 'Show server profile',
363            description: null,
364            structure: '[UserID|UserTag|UserMention]',
365            example: '`%%profile`\n`%%profile @Someone`',
366            notes: null,
367            slashCommand: true,
368            legacyCommand: true
369        },
370        {
371            name: 'queues',
372            shortBrief: "Show a list of all queue jobs.",
373            description: null,
374            structure: "",
375            example: "`%%queues`",
376            notes: null,
377            slashCommand: true,
378            legacyCommand: true
379        },
380        {
381            name: 'schedule',
382            shortBrief: "Echo (re-send) a message after the given time.",
383            description: "Re-send a message from the bot automatically after the given time interval.",
384            structure: "<timeInterval> <content> [channelMention]",
385            example: "`%%echo 25m Something\nVery Cool`\n`%%echo 1h Something\nVery Cool #general`",
386            notes: null,
387            slashCommand: true,
388            legacyCommand: true
389        },
390        {
391            name: 'send',
392            shortBrief: "Send a DM to a user.",
393            description: null,
394            structure: "<UserID|UserTag|Mention> <content>",
395            example: "`%%send 278358918549759428 Hello world`\n`%%send @Someone Hello world`",
396            notes: null,
397            slashCommand: true,
398            legacyCommand: true
399        },
400        {
401            name: 'setchperms',
402            shortBrief: "Set channel permissions in bulk.",
403            description: null,
404            structure: "<...ChannelIDs|ChannelMentions> <Role> <PermissionKey> <null|true|false>",
405            example: "`%%setchperms 827483719415287387 24872512882472142 #general @everyone SEND_MESSAGES false`",
406            notes: null,
407            slashCommand: true,
408            legacyCommand: true
409        },
410        {
411            name: 'stats',
412            shortBrief: "Show the server stats.",
413            description: null,
414            structure: "",
415            example: "`%%stats",
416            notes: null,
417            slashCommand: true,
418            legacyCommand: true
419        },
420        {
421            name: 'system',
422            shortBrief: "Show the system status.",
423            description: null,
424            structure: "",
425            example: "`%%system",
426            notes: null,
427            slashCommand: true,
428            legacyCommand: true
429        },
430        {
431            name: 'unban',
432            shortBrief: "Unban a user from this server.",
433            description: null,
434            structure: "<UserID>",
435            example: "`%%unban 2946255269594753792`",
436            notes: null,
437            slashCommand: true,
438            legacyCommand: true
439        },
440        {
441            name: 'unlock',
442            shortBrief: "Unlock a specific channel.",
443            description: "Makes the given channel writable for the general members. If no channel is present, the current channel is unlocked.",
444            structure: "[ChannelID|ChannelMention] [...options]",
445            example: "`%%unlock 385753607325075320`\n`%%unlock #general`\n`%%unlock`",
446            notes: null,
447            options: {
448                "--no-send": "Do not send a confirmation message to the locked channel",
449          },          },
450          {          slashCommand: true,
451              name: 'warnings',          legacyCommand: true
452              shortBrief: "Show all warnings.",      },
453              description: "Show all warnings in this server. Passing an user will only show their warnings.",      {
454              structure: "[UserId|Mention]",          name: 'unlockall',
455              example: "`%%warnings`\n`%%warnings 948489127957979253978538`",          shortBrief: "Unlock all the channels given in the configuration.",
456              notes: null          description: "Makes the given channels writable for the general members.",
457            structure: "[...options]",
458            example: "`%%unlockall --no-send\n`%%unlockall`\n`%%unlockall --everyone`",
459            notes: null,
460            options: {
461                "--no-send": "Do not send a confirmation message to the locked channel",
462                "--raid": "Unlock all Raid-locked channels"
463          },          },
464      ],          slashCommand: true,
465      async render() {          legacyCommand: true
         let string = '';  
   
         for (let cmd of this.commands) {  
             string += `\n\n**${cmd.name}**\n${cmd.shortBrief}`;  
         }  
   
         return string;  
466      },      },
     async handle(msg, cm) {  
         if (typeof cm.args[0] === 'undefined') {  
             // await msg.reply({  
             //     embeds: [  
             //         new MessageEmbed()  
             //         .setColor('#f14a60')  
             //         .setDescription(`This command requires at least one argument.`)  
             //     ]  
             // });  
   
             await msg.reply({  
                 embeds: [  
                     new MessageEmbed()  
                     .setDescription("The command list. Run `" + app.config.get('prefix') + "help <commandName>` for more information about a specific command.\n" + await this.render())  
                     .setTitle('Help')  
                 ],  
             });  
   
             return;  
         }  
   
         const cmd = this.commands.find(c => c.name === cm.args[0]);  
   
         if (!cmd) {  
             await msg.reply({  
                 embeds: [  
                     new MessageEmbed()  
                     .setColor('#f14a60')  
                     .setDescription(`Invalid command \`${cm.args[0]}\`.`)  
                 ]  
             });  
   
             return;  
         }  
   
         let fields = [  
             {  
                 name: "Usage",  
                 value: `\`${app.config.get('prefix')}${cmd.name}\`` + (cmd.structure.trim() !== '' ? ` \`${cmd.structure}\`` : '')  
             },  
             {  
                 name: 'Examples',  
                 value: cmd.example.replace(/\%\%/g, app.config.get('prefix'))  
             }  
         ];  
   
         if (cmd.options !== undefined) {  
             let str = '';  
   
             for (let opt in cmd.options)  
                 str += `\`${opt}\` - ${cmd.options[opt]}\n`;  
   
             str = str.substring(0, str.length - 1);  
   
             fields.push({  
                 name: 'Options',  
                 value: str  
             });  
         }  
   
         if (cmd.notes !== null) {  
             fields.push({  
                 name: "Notes",  
                 value: cmd.notes  
             });  
         }  
   
         await msg.reply({  
             embeds: [  
                 new MessageEmbed()  
                 .setTitle(`${app.config.get('prefix')}${cmd.name}`)  
                 .setDescription(cmd.description !== null ? cmd.description : cmd.shortBrief)  
                 .addFields(fields)  
             ]  
         });  
     }  
 };  
467        {
468            name: 'unmute',
469            shortBrief: "Unmute someone in this server.",
470            description: null,
471            structure: "<UserID|UserTag|Mention>",
472            example: "`%%unmute 385753607325075320`\n`%%unmute @Someone You are spamming a lot`",
473            notes: null,
474            slashCommand: true,
475            legacyCommand: true
476        },
477        {
478            name: 'warn',
479            shortBrief: "Warn someone in this server.",
480            description: null,
481            structure: "<UserID|UserTag|Mention> [Reason]",
482            example: "`%%warn 385753607325075320`\n`%%warn @Someone You are spamming a lot`",
483            notes: null,
484            slashCommand: true,
485            legacyCommand: true
486        },
487        {
488            name: 'warndel',
489            shortBrief: "Delete a warning.",
490            description: null,
491            structure: "<ID>",
492            example: "`%%warndel 39`",
493            notes: null,
494            slashCommand: true,
495            legacyCommand: true
496        },
497        {
498            name: 'warning',
499            shortBrief: "Show a warning.",
500            description: null,
501            structure: "<ID>",
502            example: "`%%warning 39`",
503            notes: null,
504            slashCommand: true,
505            legacyCommand: true
506        },
507        {
508            name: 'warnings',
509            shortBrief: "Show all warnings.",
510            description: "Show all warnings in this server. Passing an user will only show their warnings.",
511            structure: "[UserId|UserTag|Mention]",
512            example: "`%%warnings`\n`%%warnings 948489127957979253978538`",
513            notes: null,
514            slashCommand: true,
515            legacyCommand: true
516        },
517    ]

Legend:
Removed from v.25  
changed lines
  Added in v.72

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26