/[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

revision 72 by rakin, Mon Jul 29 17:28:29 2024 UTC revision 567 by rakin, Mon Jul 29 17:30:52 2024 UTC
# Line 1  Line 1 
1    /**
2    * This file is part of SudoBot.
3    *
4    * Copyright (C) 2021-2022 OSN Inc.
5    *
6    * SudoBot is free software; you can redistribute it and/or modify it
7    * under the terms of the GNU Affero General Public License as published by
8    * the Free Software Foundation, either version 3 of the License, or
9    * (at your option) any later version.
10    *
11    * SudoBot is distributed in the hope that it will be useful, but
12    * WITHOUT ANY WARRANTY; without even the implied warranty of
13    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14    * GNU Affero General Public License for more details.
15    *
16    * You should have received a copy of the GNU Affero General Public License
17    * along with SudoBot. If not, see <https://www.gnu.org/licenses/>.
18    */
19    
20  import { CommandHelpData } from "../types/CommandHelpData";  import { CommandHelpData } from "../types/CommandHelpData";
21    
22  export default <CommandHelpData[]> [  export default <CommandHelpData[]> [
# Line 52  export default <CommandHelpData[]> [ Line 71  export default <CommandHelpData[]> [
71          legacyCommand: true          legacyCommand: true
72      },      },
73      {      {
74            name: 'antijoin',
75            shortBrief: "Enable the AntiJoin shield.",
76            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.",
77            structure: "",
78            example: "`%%antijoin",
79            notes: null,
80            slashCommand: true,
81            legacyCommand: true
82        },
83        {
84            name: 'appeal',
85            shortBrief: "Send a message to staff members about a punishment appeal.",
86            description: null,
87            structure: "",
88            example: "`%%appeal`",
89            notes: null,
90            slashCommand: true,
91            legacyCommand: false
92        },
93        {
94          name: 'avatar',          name: 'avatar',
95          shortBrief: "Show someone's avatar.",          shortBrief: "Show someone's avatar.",
96          description: null,          description: null,
97          structure: "[UserID|UserTag|Mention]=CURRENT_USER",          structure: "[UserID|UserTag|Mention=CURRENT_USER]",
98          example: "`%%avatar 385753607325075320`\n`%%avatar`",          example: "`%%avatar 385753607325075320`\n`%%avatar`",
99          notes: null,          notes: null,
100          slashCommand: true,          slashCommand: true,
101          legacyCommand: true          legacyCommand: true
102      },      },
103      {      {
104            name: 'avatarlookup',
105            shortBrief: "Lookup someone's avatar!",
106            description: "Lookup someone's avatar, using Google Image Search.\nThis command is a subcommand of the `/lookup` slash command.",
107            structure: "<UserID|Mention>",
108            example: "`%%avatarlookup 385753607325075320`\n`",
109            notes: null,
110            slashCommand: true,
111            legacyCommand: true
112        },
113        {
114          name: 'ban',          name: 'ban',
115          shortBrief: "Ban someone in this server.",          shortBrief: "Ban someone in this server.",
116          description: "Ban a user in this server.",          description: "Ban a user in this server.",
# Line 89  export default <CommandHelpData[]> [ Line 138  export default <CommandHelpData[]> [
138          legacyCommand: true          legacyCommand: true
139      },      },
140      {      {
         name: 'bean',  
         shortBrief: "Bean someone in this server.",  
         description: "Bean someone. It doesn't do anything except pretending.",  
         structure: "<UserID|UserTag|Mention> [Reason]",  
         example: "`%%bean 385753607325075320`\n`%%bean @Someone You are spamming a lot`",  
         notes: null,  
         slashCommand: true,  
         legacyCommand: true  
     },  
     {  
141          name: 'cat',          name: 'cat',
142          shortBrief: "Get a random kitty picture.",          shortBrief: "Get a random kitty picture.",
143          description: "Fetches a random cat picture from `thecatapi.com` API.",          description: "Fetches a random cat picture from `thecatapi.com` API.",
# Line 119  export default <CommandHelpData[]> [ Line 158  export default <CommandHelpData[]> [
158          legacyCommand: true          legacyCommand: true
159      },      },
160      {      {
161            name: 'config',
162            shortBrief: "View or change the config options.",
163            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.",
164            structure: "<key> [value]",
165            example: "`%%config spam_filter.enabled false`\n`%%config prefix -`",
166            notes: null,
167            slashCommand: true,
168            legacyCommand: true
169        },
170        {
171          name: 'delqueue',          name: 'delqueue',
172          shortBrief: "Delete a queue job.",          shortBrief: "Delete a queue job.",
173          description: "Delete a queued command by its ID.",          description: "Delete a queued command by its ID.",
# Line 159  export default <CommandHelpData[]> [ Line 208  export default <CommandHelpData[]> [
208          legacyCommand: true          legacyCommand: true
209      },      },
210      {      {
211            name: 'embed',
212            shortBrief: "Build, send and make schemas of embeds!",
213            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\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.",
214            structure: "<subcommand> <...args>",
215            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\": []}`",
216            notes: null,
217            slashCommand: true,
218            legacyCommand: false
219        },
220        {
221          name: 'emoji',          name: 'emoji',
222          shortBrief: "Get info about an emoji. Must be guild (server) specific emoji.",          shortBrief: "Get info about an emoji.",
223          description: null,          description: null,
224          structure: "<GuildEmoji|GuildEmojiName>",          structure: "<GuildEmojiID|GuildEmoji|GuildEmojiName|ExternalEmoji|ExternalEmojiID>",
225          example: "`%%emoji check`\n`%%emoji error`",          example: "`%%emoji check`\n`%%emoji error`",
226          notes: null,          notes: null,
227          slashCommand: false,          slashCommand: false,
228          legacyCommand: true          legacyCommand: true
229      },      },
230      {      {
231            name: 'eval',
232            shortBrief: "Execute raw Javascript code.\n*This command is owner-only*.",
233            description: null,
234            structure: "<code>",
235            example: "`%%eval console.log(\"Hello world!\")`",
236            notes: null,
237            slashCommand: true,
238            legacyCommand: true
239        },
240        {
241          name: 'expire',          name: 'expire',
242          shortBrief: "Echo (re-send) a message and delete it after the given time.",          shortBrief: "Echo (re-send) a message and delete it after the given time.",
243          description: "Re-send a message from the bot and delete it automatically after the given time interval.",          description: "Re-send a message from the bot and delete it automatically after the given time interval.",
# Line 189  export default <CommandHelpData[]> [ Line 258  export default <CommandHelpData[]> [
258          legacyCommand: true          legacyCommand: true
259      },      },
260      {      {
261            name: 'guildlookup',
262            shortBrief: "Lookup any Public Discord server/guild!",
263            description: "Lookup any Public Discord server/guild!\nThis command is a subcommand of the `/lookup` slash command.",
264            structure: "<UserID|Mention>",
265            example: "`%%guildlookup 385753607325075320`\n`",
266            notes: null,
267            slashCommand: true,
268            legacyCommand: true
269        },
270        {
271            name: 'hash',
272            shortBrief: "Generate a hash of the given text input.",
273            description: null,
274            structure: "<algorithm> <input>",
275            example: "`%%hash sha1 abc`",
276            notes: null,
277            slashCommand: true,
278            legacyCommand: true
279        },
280        {
281          name: 'help',          name: 'help',
282          shortBrief: "Show this help and exit.",          shortBrief: "Show this help and exit.",
283          description: null,          description: null,
# Line 252  export default <CommandHelpData[]> [ Line 341  export default <CommandHelpData[]> [
341          name: 'lock',          name: 'lock',
342          shortBrief: "Lock a specific channel.",          shortBrief: "Lock a specific channel.",
343          description: "Makes the given channel read-only for the general members. If no channel is present, the current channel will be locked.",          description: "Makes the given channel read-only for the general members. If no channel is present, the current channel will be locked.",
344          structure: "[ChannelID|ChannelMention] [...options]",          structure: "[ChannelID|ChannelMention]",
345          example: "`%%lock 385753607325075320`\n`%%lock #general`\n`%%lock`",          example: "`%%lock 385753607325075320`\n`%%lock #general`\n`%%lock`",
346          notes: null,          notes: null,
         options: {  
             "--no-send": "Do not send a confirmation message to the locked channel",  
         },  
347          slashCommand: true,          slashCommand: true,
348          legacyCommand: true          legacyCommand: true
349      },      },
350      {      {
351          name: 'lockall',          name: 'lockall',
352          shortBrief: "Lock all the channels given in the configuration.",          shortBrief: "Lock all given channels, in-bulk.",
353          description: "Makes the given channels read-only for the general members.",          description: "Makes the given channels read-only for the general members.",
354          structure: "[...options]",          structure: "<...ChannelMention|ChannelIDs> [--raid]",
355          example: "`%%lockall --no-send\n`%%lockall`\n`%%lockall --everyone`",          example: "`%%lockall 2572562578247841786\n`%%lockall 2572562578247841786 2572562578247841782 2572562578247841783`\n`%%lockall 2572562578247841786 2572562578247841785`",
356          notes: null,          notes: null,
357          options: {          options: {
358              "--no-send": "Do not send a confirmation message to the locked channel",              "--raid": "Lock all raid protected channels",
359          },          },
360          slashCommand: true,          slashCommand: true,
361          legacyCommand: true          legacyCommand: true
362      },      },
363      {      {
364            name: 'lookup',
365            shortBrief: "Lookup something.",
366            description: null,
367            structure: "[ChannelID|ChannelMention]",
368            subcommands: {
369                "user": "Lookup a user around Discord",
370                "guild": "Lookup a Public Discord Server"
371            },
372            example: "`/lookup user user:384624924565405777`",
373            notes: null,
374            slashCommand: true,
375            legacyCommand: false
376        },
377        {
378          name: 'massban',          name: 'massban',
379          shortBrief: 'Mass ban (multiple) users',          shortBrief: 'Mass ban (multiple) users',
380          description: null,          description: null,
# Line 358  export default <CommandHelpData[]> [ Line 458  export default <CommandHelpData[]> [
458          legacyCommand: true          legacyCommand: true
459      },      },
460      {      {
461            name: "private",
462            shortBrief: "Create a private channel for the specified users, including the command executor.",
463            description: null,
464            structure: '<...UserIDs|UserTags|UserMentions> [CategoryChannel]',
465            example: '`%%private 2936398373737283`\n`%%private @Someone`',
466            notes: null,
467            slashCommand: true,
468            legacyCommand: true
469        },
470        {
471          name: 'profile',          name: 'profile',
472          shortBrief: 'Show server profile',          shortBrief: 'Show the server profile.',
473          description: null,          description: null,
474          structure: '[UserID|UserTag|UserMention]',          structure: '[UserID|UserTag|UserMention]',
475          example: '`%%profile`\n`%%profile @Someone`',          example: '`%%profile`\n`%%profile @Someone`',
# Line 378  export default <CommandHelpData[]> [ Line 488  export default <CommandHelpData[]> [
488          legacyCommand: true          legacyCommand: true
489      },      },
490      {      {
491            name: 'rolelist',
492            shortBrief: 'List all roles in the server or give info about a role.',
493            description: null,
494            structure: "[RoleMention|RoleID]",
495            example: "`%%rolelist`\n`%%rolelist @Moderator`",
496            notes: null,
497            slashCommand: true,
498            legacyCommand: true
499        },
500        {
501          name: 'schedule',          name: 'schedule',
502          shortBrief: "Echo (re-send) a message after the given time.",          shortBrief: "Echo (re-send) a message after the given time.",
503          description: "Re-send a message from the bot automatically after the given time interval.",          description: "Re-send a message from the bot automatically after the given time interval.",
# Line 408  export default <CommandHelpData[]> [ Line 528  export default <CommandHelpData[]> [
528          legacyCommand: true          legacyCommand: true
529      },      },
530      {      {
531            name: 'shot',
532            shortBrief: "Give a shot to a user.",
533            description: "Give a shot to a user. This command actually doesn't do anything.",
534            structure: "<UserID|UserTag|Mention> [Reason]",
535            example: "`%%shot 385753607325075320`\n`%%shot @Someone You are spamming a lot`",
536            notes: null,
537            slashCommand: true,
538            legacyCommand: true
539        },
540        {
541            name: 'softban',
542            shortBrief: "Softban a user.",
543            description: "A softban means banning and unbanning a user immediately so that their messages gets deleted.",
544            structure: "<UserID|UserTag|UserMention> [-d=DAYS] [Reason]",
545            example: "`%%softban @Someone`\n`%%softban 44347362235774742 Hello world`",
546            notes: null,
547            slashCommand: true,
548            legacyCommand: true
549        },
550        {
551          name: 'stats',          name: 'stats',
552          shortBrief: "Show the server stats.",          shortBrief: "Show the server stats.",
553          description: null,          description: null,
# Line 428  export default <CommandHelpData[]> [ Line 568  export default <CommandHelpData[]> [
568          legacyCommand: true          legacyCommand: true
569      },      },
570      {      {
571            name: 'tempban',
572            shortBrief: "Temporarily ban a user.",
573            description: null,
574            structure: "<UserID|UserTag|UserMention> <Time> [-d=DAYS] [Reason]",
575            example: "`%%softban @Someone 20m`\n`%%softban 44347362235774742 50m Hello world`",
576            notes: null,
577            slashCommand: true,
578            legacyCommand: true
579        },
580        {
581          name: 'unban',          name: 'unban',
582          shortBrief: "Unban a user from this server.",          shortBrief: "Unban a user from this server.",
583          description: null,          description: null,
# Line 441  export default <CommandHelpData[]> [ Line 591  export default <CommandHelpData[]> [
591          name: 'unlock',          name: 'unlock',
592          shortBrief: "Unlock a specific channel.",          shortBrief: "Unlock a specific channel.",
593          description: "Makes the given channel writable for the general members. If no channel is present, the current channel is unlocked.",          description: "Makes the given channel writable for the general members. If no channel is present, the current channel is unlocked.",
594          structure: "[ChannelID|ChannelMention] [...options]",          structure: "[ChannelID|ChannelMention]",
595          example: "`%%unlock 385753607325075320`\n`%%unlock #general`\n`%%unlock`",          example: "`%%unlock 385753607325075320`\n`%%unlock #general`\n`%%unlock`",
596          notes: null,          notes: null,
         options: {  
             "--no-send": "Do not send a confirmation message to the locked channel",  
         },  
597          slashCommand: true,          slashCommand: true,
598          legacyCommand: true          legacyCommand: true
599      },      },
600      {      {
601          name: 'unlockall',          name: 'unlockall',
602          shortBrief: "Unlock all the channels given in the configuration.",          shortBrief: "Unlock all given channels, in bulk.",
603          description: "Makes the given channels writable for the general members.",          description: "<...ChannelMention|ChannelIDs> [--raid]",
604          structure: "[...options]",          structure: "[...options]",
605          example: "`%%unlockall --no-send\n`%%unlockall`\n`%%unlockall --everyone`",          example: "`%%unlockall --raid\n`%%unlockall 348764381911364631 634894637314679163795`",
606          notes: null,          notes: null,
607          options: {          options: {
608              "--no-send": "Do not send a confirmation message to the locked channel",              "--raid": "Unlock all Raid-protected channels"
             "--raid": "Unlock all Raid-locked channels"  
609          },          },
610          slashCommand: true,          slashCommand: true,
611          legacyCommand: true          legacyCommand: true
# Line 475  export default <CommandHelpData[]> [ Line 621  export default <CommandHelpData[]> [
621          legacyCommand: true          legacyCommand: true
622      },      },
623      {      {
624          name: 'warn',          name: 'userlookup',
625          shortBrief: "Warn someone in this server.",          shortBrief: "Lookup any Discord user!",
626          description: null,          description: "Lookup any Discord user! Doesn't matter if they are in the server or not.\nThis command is a subcommand of the `/lookup` slash command.",
627          structure: "<UserID|UserTag|Mention> [Reason]",          structure: "<UserID|Mention>",
628          example: "`%%warn 385753607325075320`\n`%%warn @Someone You are spamming a lot`",          example: "`%%userlookup 385753607325075320`\n`",
629          notes: null,          notes: null,
630          slashCommand: true,          slashCommand: true,
631          legacyCommand: true          legacyCommand: true
632      },      },
633      {      {
634          name: 'warndel',          name: 'warn',
635          shortBrief: "Delete a warning.",          shortBrief: "Warn someone in this server.",
636          description: null,          description: null,
637          structure: "<ID>",          structure: "<UserID|UserTag|Mention> [Reason]",
638          example: "`%%warndel 39`",          example: "`%%warn 385753607325075320`\n`%%warn @Someone You are spamming a lot`",
639          notes: null,          notes: null,
640          slashCommand: true,          slashCommand: true,
641          legacyCommand: true          legacyCommand: true
642      },      },
643      {      {
644          name: 'warning',          name: 'warning',
645          shortBrief: "Show a warning.",          shortBrief: "Operations with warnings.",
646          description: null,          description: null,
647          structure: "<ID>",          structure: "<ID>",
648          example: "`%%warning 39`",          example: "`%%warning list @Someone`\n`%%warning clear @Someone`\n`%%warning remove 24`\n`%%warning view 35`",
649          notes: null,          notes: null,
650          slashCommand: true,          slashCommand: true,
651          legacyCommand: true          legacyCommand: true,
652            subcommands: {
653                "list": "List all warnings for a user",
654                "clear": "Clear all warnings for a user",
655                "remove": "Remove a warning by ID",
656                "view": "View information about a warning by ID"
657            }
658      },      },
659      {      {
660          name: 'warnings',          name: 'welcomer',
661          shortBrief: "Show all warnings.",          shortBrief: "Configure the welcomer.",
662          description: "Show all warnings in this server. Passing an user will only show their warnings.",          description: "Change the settings of the welcomer.",
663          structure: "[UserId|UserTag|Mention]",          structure: "<option(s)> [...args]",
664          example: "`%%warnings`\n`%%warnings 948489127957979253978538`",          example: "`%%welcomer --enable`",
665          notes: null,          notes: null,
666          slashCommand: true,          slashCommand: false,
667          legacyCommand: true          legacyCommand: true,
668            options: {
669                "--enable": "Enables the welcomer",
670                "--disable": "Disables the welcomer",
671                "--toggle": "Toggles the welcomer",
672                "--msg, --message, --custom": "Set custom welcome message. The welcome message as an argument is required.",
673                "--rm-msg, --remove-message": "Remove the custom welcome message.",
674                "--rand, --randomize": "Toggle random welcome messages.",
675                "--preview": "Preview the welcome message embed.",
676            }
677      },      },
 ]  
678    ]

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26