/[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 48 by rakin, Mon Jul 29 17:28:21 2024 UTC trunk/src/utils/Help.ts revision 272 by rakin, Mon Jul 29 17:29:18 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.9.0",      {
5      commands: [          name: 'about',
6          {          shortBrief: "Show information about the bot.",
7              name: 'about',          description: null,
8              shortBrief: "Show information about the bot.",          structure: "",
9              description: null,          example: "`%%about`",
10              structure: "",          notes: null,
11              example: "`%%about`",          slashCommand: true,
12              notes: null          legacyCommand: true
13          },      },
14          {      {
15              name: 'addqueue',          name: 'addqueue',
16              shortBrief: "Add a queue job.",          shortBrief: "Add a queue job.",
17              description: 'Adds a queued command to the bot\'s memory and after the given amount of time it gets executed.',          description: 'Adds a queued command to the bot\'s memory and after the given amount of time it gets executed.',
18              structure: "<time> <command>",          structure: "<time> <command>",
19              example: "`%%addqueue 15m echo Hello world`\n`%%addqueue 12h kick 875275828247255`",          example: "`%%addqueue 15m echo Hello world`\n`%%addqueue 12h kick 875275828247255`",
20              notes: null          notes: null,
21          },          slashCommand: false,
22          {          legacyCommand: true
23              name: 'addsnippet',      },
24              shortBrief: "Adds a snippet.",      {
25              description: null,          name: 'addsnippet',
26              structure: "<Name> <Content>",          shortBrief: "Adds a snippet.",
27              example: "`%%addsnippet roles There are 2 roles`\n`%%addsnippet roles There are 2 roles\nAdmin - Administrator\nMod - Moderator`",          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: 'afk',          slashCommand: true,
32              shortBrief: "Keeps track of your mentions and tells other users that you're AFK.",          legacyCommand: true
33              description: null,      },
34              structure: "[Reason]",      {
35              example: "`%%afk`\n`%%afk Having dinner`",          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: 'announce',          example: "`%%afk`\n`%%afk Having dinner`",
40              shortBrief: "Announce something in the given channel.",          notes: null,
41              description: "Announce something in the given channel. The channel should be set in the configuration.",          slashCommand: true,
42              structure: "<Content>",          legacyCommand: true
43              example: "`%%announce Hello there!\nWe've just finished our job!\n@everyone`",      },
44              notes: null      {
45          },          name: 'announce',
46          {          shortBrief: "Announce something in the given channel.",
47              name: 'ban',          description: "Announce something in the given channel. The channel should be set in the configuration.",
48              shortBrief: "Ban someone in this server.",          structure: "<Content>",
49              description: "Ban a user. `-d` is the number days old messages to  delete. It must be in range 0-7. If `-d` is passed then an argument after it is required.",          example: "`%%announce Hello there!\nWe've just finished our job!\n@everyone`",
50              structure: "<UserID|Mention> [-d=DAYS] [Reason]",          notes: null,
51              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`",          slashCommand: true,
52              notes: null          legacyCommand: true
53          },      },
54          {      {
55              name: 'bean',          name: 'antijoin',
56              shortBrief: "Bean someone in this server.",          shortBrief: "Enable the AntiJoin shield.",
57              description: "Bean someone. It doesn't do anything except pretending.",          description: "Enables the AntiJoin shield.\nWhile AntiJoin is active, users will not be able to join the server (they will be kicked). This is useful when handling a raid.",
58              structure: "<UserID|Mention> [Reason]",          structure: "",
59              example: "`%%bean 385753607325075320`\n`%%bean @Someone You are spamming a lot`",          example: "`%%antijoin",
60              notes: null          notes: null,
61          },          slashCommand: true,
62          {          legacyCommand: true
63              name: 'cat',      },
64              shortBrief: "Get a random kitty picture.",      {
65              description: "Fetches a random cat picture from `thecatapi.com` API.",          name: 'appeal',
66              structure: "",          shortBrief: "Send a message to staff members about a punishment appeal.",
67              example: "`%%cat`",          description: null,
68              notes: null          structure: "",
69          },          example: "`%%appeal`",
70          {          notes: null,
71              name: 'clear',          slashCommand: true,
72              shortBrief: "Clear all messages from a user.",          legacyCommand: false
73              description: "Clear all messages from a user, in the current channel. This might take a while.",      },
74              structure: "<UserID|UserMention>",      {
75              example: "`%%clear 83474924191884727`\n`%%clear @Someone`",          name: 'avatar',
76              notes: null          shortBrief: "Show someone's avatar.",
77          },          description: null,
78          {          structure: "[UserID|UserTag|Mention]=CURRENT_USER",
79              name: 'delqueue',          example: "`%%avatar 385753607325075320`\n`%%avatar`",
80              shortBrief: "Delete a queue job.",          notes: null,
81              description: "Delete a queued command by its ID.",          slashCommand: true,
82              structure: "<QueueID>",          legacyCommand: true
83              example: "`%%delqueue 80`",      },
84              notes: null      {
85          },          name: 'ban',
86          {          shortBrief: "Ban someone in this server.",
87              name: 'delsnippet',          description: "Ban a user in this server.",
88              shortBrief: "Deletes a snippet.",          structure: "<UserID|UserTag|Mention> [-d=DAYS] [Reason]",
89              description: null,          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`",
90              structure: "<Name>",          notes: null,
91              example: "`%%delsnippet roles`",          options: {
92              notes: null              "-d": "The number of days old messages to delete. It must be in range 0-7. An argument is required.",
         },  
         {  
             name: 'dog',  
             shortBrief: "Get a random doggy picture.",  
             description: "Fetches a random cat picture from `thedogapi.com` API.",  
             structure: "",  
             example: "`%%dog`",  
             notes: null  
         },  
         {  
             name: 'echo',  
             shortBrief: "Echo (re-send) a message.",  
             description: "Re-send a message from the bot.",  
             structure: "<content> [channelMention]",  
             example: "`%%echo Something\nVery Cool`\n`%%echo Something\nVery Cool #general`",  
             notes: null  
         },  
         {  
             name: 'expire',  
             shortBrief: "Echo (re-send) a message and delete it after the given time.",  
             description: "Re-send a message from the bot and delete it automatically after the given time interval.",  
             structure: "<timeInterval> <content> [channelMention]",  
             example: "`%%echo 25m Something\nVery Cool`\n`%%echo 1h Something\nVery Cool #general`",  
             notes: null  
         },  
         {  
             name: 'expiresc',  
             shortBrief: "Schedule a message and delete it after the given time.",  
             description: "Schedule a message from the bot and delete it automatically after the given time interval.",  
             structure: "<scheduleTimeInterval> <expireTimeInterval> <content> [channelMention]",  
             example: "`%%echo 25m 5h Something\nVery Cool`\n`%%echo 1h 7d Something\nVery Cool #general`",  
             notes: null  
         },  
         {  
             name: 'general-role',  
             shortBrief: "Set the general role.",  
             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: 'history',  
             shortBrief: "Show moderation history for a user.",  
             description: null,  
             structure: "<UserMention|UserID>",  
             example: "`%%history 27372628277272625`\n`%%history @Someone`",  
             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",  
             }  
         },  
         {  
             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",  
             }  
         },  
         {  
             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: 'schedule',  
             shortBrief: "Echo (re-send) a message after the given time.",  
             description: "Re-send a message from the bot automatically after the given time interval.",  
             structure: "<timeInterval> <content> [channelMention]",  
             example: "`%%echo 25m Something\nVery Cool`\n`%%echo 1h Something\nVery Cool #general`",  
             notes: null  
         },  
         {  
             name: 'setconfig',  
             shortBrief: "Change the bot configuration keys.",  
             description: null,  
             structure: "<key> <value>",  
             example: "`%%setconfig debug true`",  
             notes: null  
         },  
         {  
             name: 'send',  
             shortBrief: "Send a DM to a user.",  
             description: null,  
             structure: "<UserID|Mention> <content>",  
             example: "`%%send 278358918549759428 Hello world`\n`%%send @Someone Hello world`",  
             notes: null  
         },  
         {  
             name: 'spamfilter',  
             shortBrief: "Change the spam filter configuration keys.",  
             description: null,  
             structure: "<key> <value>",  
             example: "`%%spamfilter include #general`",  
             notes: null  
         },  
         {  
             name: 'stats',  
             shortBrief: "Show the server stats.",  
             description: null,  
             structure: "",  
             example: "`%%stats",  
             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",  
             }  
         },  
         {  
             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",  
                 "--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  
         },  
         {  
             name: 'warn',  
             shortBrief: "Warn someone in this server.",  
             description: null,  
             structure: "<UserID|Mention> [Reason]",  
             example: "`%%warn 385753607325075320`\n`%%warn @Someone You are spamming a lot`",  
             notes: null  
         },  
         {  
             name: 'warndel',  
             shortBrief: "Delete a warning.",  
             description: null,  
             structure: "<ID>",  
             example: "`%%warndel 39`",  
             notes: null  
93          },          },
94          {          slashCommand: true,
95              name: 'warning',          legacyCommand: true
96              shortBrief: "Show a warning.",      },
97              description: null,      {
98              structure: "<ID>",          name: 'ballot',
99              example: "`%%warning 39`",          shortBrief: "Create/view a ballot (poll) message.",
100              notes: null          description: null,
101            subcommands: {
102                "create": "Create a ballot message. Argument 1 should be the ballot message content.",
103                "view": "View a ballot message stats. Argument 1 should be the ballot ID."
104            },
105            structure: "<subcommand> <subcommand-arguments>",
106            example: "`%%ballot create What do you think guys?`\n`%%ballot view 15`",
107            notes: null,
108            slashCommand: true,
109            legacyCommand: true
110        },
111        {
112            name: 'cat',
113            shortBrief: "Get a random kitty picture.",
114            description: "Fetches a random cat picture from `thecatapi.com` API.",
115            structure: "",
116            example: "`%%cat`",
117            notes: null,
118            slashCommand: true,
119            legacyCommand: true
120        },
121        {
122            name: 'clear',
123            shortBrief: "Clear all messages from a user.",
124            description: "Clear all messages from a user, in the current channel. This might take a while.",
125            structure: "<UserID|UserTag|UserMention>",
126            example: "`%%clear 83474924191884727`\n`%%clear @Someone`",
127            notes: null,
128            slashCommand: true,
129            legacyCommand: true
130        },
131        {
132            name: 'config',
133            shortBrief: "View or change the config options.",
134            description: "Configure the bot settings. This command is for advanced users.\nIf the user only gives one argument (setting key), then the value of the setting key will be shown. Otherwise the setting key will be modified with the given parameters.",
135            structure: "<key> [value]",
136            example: "`%%config spam_filter.enabled false`\n`%%config prefix -`",
137            notes: null,
138            slashCommand: true,
139            legacyCommand: true
140        },
141        {
142            name: 'delqueue',
143            shortBrief: "Delete a queue job.",
144            description: "Delete a queued command by its ID.",
145            structure: "<QueueID>",
146            example: "`%%delqueue 80`",
147            notes: null,
148            slashCommand: false,
149            legacyCommand: true
150        },
151        {
152            name: 'delsnippet',
153            shortBrief: "Deletes a snippet.",
154            description: null,
155            structure: "<Name>",
156            example: "`%%delsnippet roles`",
157            notes: null,
158            slashCommand: true,
159            legacyCommand: true
160        },
161        {
162            name: 'dog',
163            shortBrief: "Get a random doggy picture.",
164            description: "Fetches a random cat picture from `thedogapi.com` API.",
165            structure: "",
166            example: "`%%dog`",
167            notes: null,
168            slashCommand: true,
169            legacyCommand: true
170        },
171        {
172            name: 'echo',
173            shortBrief: "Echo (re-send) a message.",
174            description: "Re-send a message from the bot.",
175            structure: "<content> [channelMention]",
176            example: "`%%echo Something\nVery Cool`\n`%%echo Something\nVery Cool #general`",
177            notes: null,
178            slashCommand: true,
179            legacyCommand: true
180        },
181        {
182            name: 'embed',
183            shortBrief: "Build, send and make schemas of embeds!",
184            description: "Build, send and make schemas of embeds. Schemas are special kind of text which can be used in various commands to represent an embed.\n**Subcommands**:\n\n`send` - Build and send an embed from the given input.\n`schema` - Builds an embed and returns back the JSON schema of the embed so that you can use it in other places!\n`build` - Builds an embed from a JSON schema.",
185            structure: "<subcommand> <...args>",
186            example: "`/embed send title:Hello world description:This is an embed, awesome!`\n`/embed schema title:Hello world description:This is an embed, awesome!`\n`/embed build json_schema:embed:{\"title\": \"Hello world\", \"description\": \"This is an embed, awesome!\", \"fields\": []}`",
187            notes: null,
188            slashCommand: true,
189            legacyCommand: false
190        },
191        {
192            name: 'emoji',
193            shortBrief: "Get info about an emoji. Must be guild (server) specific emoji.",
194            description: null,
195            structure: "<GuildEmoji|GuildEmojiName>",
196            example: "`%%emoji check`\n`%%emoji error`",
197            notes: null,
198            slashCommand: false,
199            legacyCommand: true
200        },
201        {
202            name: 'eval',
203            shortBrief: "Execute raw Javascript code.\n*This command is owner-only*.",
204            description: null,
205            structure: "<code>",
206            example: "`%%eval console.log(\"Hello world!\")`",
207            notes: null,
208            slashCommand: true,
209            legacyCommand: true
210        },
211        {
212            name: 'expire',
213            shortBrief: "Echo (re-send) a message and delete it after the given time.",
214            description: "Re-send a message from the bot and delete it automatically after the given time interval.",
215            structure: "<timeInterval> <content> [channelMention]",
216            example: "`%%echo 25m Something\nVery Cool`\n`%%echo 1h Something\nVery Cool #general`",
217            notes: null,
218            slashCommand: true,
219            legacyCommand: true
220        },
221        {
222            name: 'expiresc',
223            shortBrief: "Schedule a message and delete it after the given time.",
224            description: "Schedule a message from the bot and delete it automatically after the given time interval.",
225            structure: "<scheduleTimeInterval> <expireTimeInterval> <content> [channelMention]",
226            example: "`%%echo 25m 5h Something\nVery Cool`\n`%%echo 1h 7d Something\nVery Cool #general`",
227            notes: null,
228            slashCommand: true,
229            legacyCommand: true
230        },
231        {
232            name: 'hash',
233            shortBrief: "Generate a hash of the given text input.",
234            description: null,
235            structure: "<algorithm> <input>",
236            example: "`%%hash sha1 abc`",
237            notes: null,
238            slashCommand: true,
239            legacyCommand: true
240        },
241        {
242            name: 'help',
243            shortBrief: "Show this help and exit.",
244            description: null,
245            structure: "[command]",
246            example: "`%%help`\n`%%help mute`",
247            notes: null,
248            slashCommand: true,
249            legacyCommand: true
250        },
251        {
252            name: 'history',
253            shortBrief: "Show moderation history for a user.",
254            description: null,
255            structure: "<UserMention|UserID>",
256            example: "`%%history 27372628277272625`\n`%%history @Someone`",
257            notes: null,
258            slashCommand: true,
259            legacyCommand: true
260        },
261        {
262            name: 'httpcat',
263            shortBrief: "Get some funny cat memes related to HTTP.",
264            description: "Get some funny cat memes related to HTTP status codes, using http.cat API.",
265            structure: "<status>",
266            example: "`%%httpcat 403`",
267            notes: null,
268            slashCommand: true,
269            legacyCommand: true
270        },
271        {
272            name: 'httpdog',
273            shortBrief: "Get some funny dog memes related to HTTP.",
274            description: "Get some funny dog memes related to HTTP status codes, using http.dog API.",
275            structure: "<status>",
276            example: "`%%httpdog 403`",
277            notes: null,
278            slashCommand: true,
279            legacyCommand: true
280        },
281        {
282            name: 'joke',
283            shortBrief: "Fetch a random joke from The Joke API.",
284            description: null,
285            structure: "",
286            example: "`%%joke`",
287            notes: null,
288            slashCommand: true,
289            legacyCommand: true
290        },
291        {
292            name: 'kick',
293            shortBrief: "Kick someone from this server.",
294            description: null,
295            structure: "<UserID|UserTag|Mention> [Reason]",
296            example: "`%%kick 385753607325075320`\n`%%kick @Someone You are spamming a lot`",
297            notes: null,
298            slashCommand: true,
299            legacyCommand: true
300        },
301        {
302            name: 'lock',
303            shortBrief: "Lock a specific channel.",
304            description: "Makes the given channel read-only for the general members. If no channel is present, the current channel will be locked.",
305            structure: "[ChannelID|ChannelMention]",
306            example: "`%%lock 385753607325075320`\n`%%lock #general`\n`%%lock`",
307            notes: null,
308            slashCommand: true,
309            legacyCommand: true
310        },
311        {
312            name: 'lockall',
313            shortBrief: "Lock all given channels, in-bulk.",
314            description: "Makes the given channels read-only for the general members.",
315            structure: "<...ChannelMention|ChannelIDs> [--raid]",
316            example: "`%%lockall 2572562578247841786\n`%%lockall 2572562578247841786 2572562578247841782 2572562578247841783`\n`%%lockall 2572562578247841786 2572562578247841785`",
317            notes: null,
318            options: {
319                "--raid": "Lock all raid protected channels",
320          },          },
321          {          slashCommand: true,
322              name: 'warnings',          legacyCommand: true
323              shortBrief: "Show all warnings.",      },
324              description: "Show all warnings in this server. Passing an user will only show their warnings.",      {
325              structure: "[UserId|Mention]",          name: 'massban',
326              example: "`%%warnings`\n`%%warnings 948489127957979253978538`",          shortBrief: 'Mass ban (multiple) users',
327              notes: null          description: null,
328            structure: '<...UserIDs|UserMentions> [Reason]',
329            example: '`%%massban 8247282727258725258 @someone Mass Banning`',
330            notes: null,
331            slashCommand: true,
332            legacyCommand: true
333        },
334        {
335            name: 'mute',
336            shortBrief: "Mute someone in this server.",
337            description: null,
338            structure: "<UserID|UserTag|Mention> [-t=DURATION] [Reason]",
339            example: "`%%mute 385753607325075320`\n`%%mute @Someone You are spamming a lot`\n`%%mute @Someone -t 10m You are spamming a lot`",
340            options: {
341                "-t": "Set the mute duration"
342            },
343            notes: null,
344            slashCommand: true,
345            legacyCommand: true
346        },
347        {
348            name: 'mvsnippet',
349            shortBrief: "Rename a snippet.",
350            description: null,
351            structure: "<oldName> <newName>",
352            example: "`%%mvsnippet abc bca`",
353            notes: null,
354            slashCommand: true,
355            legacyCommand: true
356        },
357        {
358            name: 'note',
359            shortBrief: "Take a note about an user.",
360            description: null,
361            structure: "<UserID|UserTag|UserMention> <note>",
362            example: "`%%note @Someone Simple note.`",
363            notes: null,
364            slashCommand: true,
365            legacyCommand: true
366        },
367        {
368            name: 'notedel',
369            shortBrief: "Delete a note.",
370            description: null,
371            structure: "<NoteID>",
372            example: "`%%notedel 922`",
373            notes: null,
374            slashCommand: true,
375            legacyCommand: true
376        },
377        {
378            name: 'noteget',
379            shortBrief: "Get a note.",
380            description: null,
381            structure: "<NoteID>",
382            example: "`%%noteget 922`",
383            notes: null,
384            slashCommand: true,
385            legacyCommand: true
386        },
387        {
388            name: 'notes',
389            shortBrief: "Get all notes for a specific user.",
390            description: null,
391            structure: "<UserID|UserTag|UserMention>",
392            example: "`%%notes @Someone`",
393            notes: null,
394            slashCommand: true,
395            legacyCommand: true
396        },
397        {
398            name: 'pixabay',
399            shortBrief: "Fetch images from Pixabay.",
400            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.",
401            structure: "<subcommand> [query]",
402            example: "`%%pixabay image`\n`%%pixabay photo birds`",
403            notes: null,
404            slashCommand: true,
405            legacyCommand: true
406        },
407        {
408            name: 'profile',
409            shortBrief: 'Show the server profile.',
410            description: null,
411            structure: '[UserID|UserTag|UserMention]',
412            example: '`%%profile`\n`%%profile @Someone`',
413            notes: null,
414            slashCommand: true,
415            legacyCommand: true
416        },
417        {
418            name: 'queues',
419            shortBrief: "Show a list of all queue jobs.",
420            description: null,
421            structure: "",
422            example: "`%%queues`",
423            notes: null,
424            slashCommand: true,
425            legacyCommand: true
426        },
427        {
428            name: 'rolelist',
429            shortBrief: 'List all roles in the server',
430            description: null,
431            structure: "[Page] [Role]",
432            example: "`%%rolelist`",
433            notes: null,
434            slashCommand: true,
435            legacyCommand: false
436        },
437        {
438            name: 'schedule',
439            shortBrief: "Echo (re-send) a message after the given time.",
440            description: "Re-send a message from the bot automatically after the given time interval.",
441            structure: "<timeInterval> <content> [channelMention]",
442            example: "`%%echo 25m Something\nVery Cool`\n`%%echo 1h Something\nVery Cool #general`",
443            notes: null,
444            slashCommand: true,
445            legacyCommand: true
446        },
447        {
448            name: 'send',
449            shortBrief: "Send a DM to a user.",
450            description: null,
451            structure: "<UserID|UserTag|Mention> <content>",
452            example: "`%%send 278358918549759428 Hello world`\n`%%send @Someone Hello world`",
453            notes: null,
454            slashCommand: true,
455            legacyCommand: true
456        },
457        {
458            name: 'setchperms',
459            shortBrief: "Set channel permissions in bulk.",
460            description: null,
461            structure: "<...ChannelIDs|ChannelMentions> <Role> <PermissionKey> <null|true|false>",
462            example: "`%%setchperms 827483719415287387 24872512882472142 #general @everyone SEND_MESSAGES false`",
463            notes: null,
464            slashCommand: true,
465            legacyCommand: true
466        },
467        {
468            name: 'shot',
469            shortBrief: "Give a shot to a user.",
470            description: "Give a shot to a user. This command actually doesn't do anything.",
471            structure: "<UserID|UserTag|Mention> [Reason]",
472            example: "`%%shot 385753607325075320`\n`%%shot @Someone You are spamming a lot`",
473            notes: null,
474            slashCommand: true,
475            legacyCommand: true
476        },
477        {
478            name: 'softban',
479            shortBrief: "Softban a user.",
480            description: "A softban means banning and unbanning a user immediately so that their messages gets deleted.",
481            structure: "<UserID|UserTag|UserMention> [-d=DAYS] [Reason]",
482            example: "`%%softban @Someone`\n`%%softban 44347362235774742 Hello world`",
483            notes: null,
484            slashCommand: true,
485            legacyCommand: true
486        },
487        {
488            name: 'stats',
489            shortBrief: "Show the server stats.",
490            description: null,
491            structure: "",
492            example: "`%%stats",
493            notes: null,
494            slashCommand: true,
495            legacyCommand: true
496        },
497        {
498            name: 'system',
499            shortBrief: "Show the system status.",
500            description: null,
501            structure: "",
502            example: "`%%system",
503            notes: null,
504            slashCommand: true,
505            legacyCommand: true
506        },
507        {
508            name: 'tempban',
509            shortBrief: "Temporarily ban a user.",
510            description: null,
511            structure: "<UserID|UserTag|UserMention> <Time> [-d=DAYS] [Reason]",
512            example: "`%%softban @Someone 20m`\n`%%softban 44347362235774742 50m Hello world`",
513            notes: null,
514            slashCommand: true,
515            legacyCommand: true
516        },
517        {
518            name: 'unban',
519            shortBrief: "Unban a user from this server.",
520            description: null,
521            structure: "<UserID>",
522            example: "`%%unban 2946255269594753792`",
523            notes: null,
524            slashCommand: true,
525            legacyCommand: true
526        },
527        {
528            name: 'unlock',
529            shortBrief: "Unlock a specific channel.",
530            description: "Makes the given channel writable for the general members. If no channel is present, the current channel is unlocked.",
531            structure: "[ChannelID|ChannelMention]",
532            example: "`%%unlock 385753607325075320`\n`%%unlock #general`\n`%%unlock`",
533            notes: null,
534            slashCommand: true,
535            legacyCommand: true
536        },
537        {
538            name: 'unlockall',
539            shortBrief: "Unlock all given channels, in bulk.",
540            description: "<...ChannelMention|ChannelIDs> [--raid]",
541            structure: "[...options]",
542            example: "`%%unlockall --raid\n`%%unlockall 348764381911364631 634894637314679163795`",
543            notes: null,
544            options: {
545                "--raid": "Unlock all Raid-protected channels"
546          },          },
547      ],          slashCommand: true,
548      async render() {          legacyCommand: true
         let string = '';  
   
         for (let cmd of this.commands) {  
             string += `\n\n**${cmd.name}**\n${cmd.shortBrief}`;  
         }  
   
         return string;  
549      },      },
550      async handle(msg, cm) {      {
551          if (typeof cm.args[0] === 'undefined') {          name: 'unmute',
552              await msg.reply({          shortBrief: "Unmute someone in this server.",
553                  embeds: [          description: null,
554                      new MessageEmbed()          structure: "<UserID|UserTag|Mention>",
555                      .setDescription("The command list.\n\n`<...>` means required argument, `[...]` means optional argument.\n\nRun `" + app.config.get('prefix') + "help <commandName>` for more information about a specific command.\n" + await this.render())          example: "`%%unmute 385753607325075320`\n`%%unmute @Someone You are spamming a lot`",
556                      .setTitle('Help')          notes: null,
557                  ],          slashCommand: true,
558              });          legacyCommand: true
559        },
560              return;      {
561          }          name: 'warn',
562            shortBrief: "Warn someone in this server.",
563          const cmd = this.commands.find(c => c.name === cm.args[0]);          description: null,
564            structure: "<UserID|UserTag|Mention> [Reason]",
565          if (!cmd) {          example: "`%%warn 385753607325075320`\n`%%warn @Someone You are spamming a lot`",
566              await msg.reply({          notes: null,
567                  embeds: [          slashCommand: true,
568                      new MessageEmbed()          legacyCommand: true
569                      .setColor('#f14a60')      },
570                      .setDescription(`Invalid command \`${cm.args[0]}\`.`)      {
571                  ]          name: 'warning',
572              });          shortBrief: "Operations with warnings.",
573            description: null,
574              return;          structure: "<ID>",
575          }          example: "`%%warning list @Someone`\n`%%warning clear @Someone`\n`%%warning remove 24`\n`%%warning view 35`",
576            notes: null,
577          let fields = [          slashCommand: true,
578              {          legacyCommand: true,
579                  name: "Usage",          subcommands: {
580                  value: `\`${app.config.get('prefix')}${cmd.name}\`` + (cmd.structure.trim() !== '' ? ` \`${cmd.structure}\`` : '')              "list": "List all warnings for a user",
581              },              "clear": "Clear all warnings for a user",
582              {              "remove": "Remove a warning by ID",
583                  name: 'Examples',              "view": "View information about a warning by ID"
                 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  
             });  
584          }          }
585        },
586          if (cmd.notes !== null) {      {
587              fields.push({          name: 'welcomer',
588                  name: "Notes",          shortBrief: "Configure the welcomer.",
589                  value: cmd.notes          description: "Change the settings of the welcomer.",
590              });          structure: "<option(s)> [...args]",
591            example: "`%%welcomer --enable`",
592            notes: null,
593            slashCommand: true,
594            legacyCommand: true,
595            options: {
596                "--enable": "Enables the welcomer",
597                "--disable": "Disables the welcomer",
598                "--toggle": "Toggles the welcomer",
599                "--msg, --message, --custom": "Set custom welcome message. The welcome message as an argument is required.",
600                "--rm-msg, --remove-message": "Remove the custom welcome message.",
601                "--rand, --randomize": "Toggle random welcome messages.",
602                "--preview": "Preview the welcome message embed.",
603          }          }
   
         await msg.reply({  
             embeds: [  
                 new MessageEmbed()  
                 .setTitle(`${app.config.get('prefix')}${cmd.name}`)  
                 .setDescription("`<...>` means required argument, `[...]` means optional argument.\n\n" + (cmd.description !== null ? cmd.description : cmd.shortBrief))  
                 .addFields(fields)  
             ]  
         });  
     }  
 };  
604        },
605    ]

Legend:
Removed from v.48  
changed lines
  Added in v.272

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26