Skip to content

Commit

Permalink
chore: update plugin listing
Browse files Browse the repository at this point in the history
Signed-off-by: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com>
  • Loading branch information
jacoobes authored and github-actions[bot] committed Jul 11, 2024
1 parent 6309184 commit 6be9e54
Showing 1 changed file with 77 additions and 69 deletions.
146 changes: 77 additions & 69 deletions pluginlist.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,19 @@
[ {
"description" : "\n\n Generalized `filter` plugin. all credit to trueharuu.\n Perform declarative conditionals as plugins.",
"hash" : "8a77e9bf4590a979136fcb479470321f",
"name" : "filter",
"author" : [ "@trueharuu [<@504698587221852172>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/filter.ts",
"example" : "\n\n ```ts\n import { filter, not, isGuildOwner, canMentionEveryone } from '../plugins/filter';\n import { commandModule } from '@sern/handler';\n\n export default commandModule({\n plugins: [filter({ condition: [not(isGuildOwner()), canMentionEveryone()] })],\n async execute(context) {\n // your code here\n }\n });\n ```",
"version" : "2.0.0"
"description" : "\n\n This plugin checks if a channel is the specified type\n",
"hash" : "a3f95ec62e1480b8c3318443cc8184c0",
"name" : "channelType",
"author" : [ "@Benzo-Fury [<@762918086349029386>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/channelType.ts",
"example" : "\n\n ```ts\n import { channelType } from \"../plugins/channelType\";\n import { ChannelType } from \"discord.js\"\n import { commandModule } from \"@sern/handler\";\n export default commandModule({\n plugins: [ channelType([ChannelType.GuildText], 'This cannot be used here') ],\n execute: (ctx) => {\n \t\t//your code here\n }\n })\n ```",
"version" : "1.0.0"
}, {
"description" : "\n\n This is perm check, it allows users to parse the permission you want and let the plugin do the rest. (check bot or user for that perm).\n",
"hash" : "53a69e2b4f74b0635f51222b74921edd",
"name" : "requirePermission",
"author" : [ "@Benzo-Fury [<@762918086349029386>]", "@needhamgary [<@342314924804014081>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/requirePermission.ts",
"example" : "\n\n ```ts\n import { requirePermission } from \"../plugins/myPermCheck\";\n import { commandModule, CommandType } from \"@sern/handler\";\n export default commandModule({\n plugins: [ requirePermission<CommandType>('target', 'permission', 'No response (optional)') ],\n execute: (ctx) => {\n \t\t//your code here\n }\n })\n ```",
"version" : "1.2.0"
}, {
"description" : "\n\n [DEPRECATED] It allows you to publish your application commands using the discord.js library with ease.\n",
"hash" : "66ef98cb1b934c774c7a1d987db1486d",
Expand All @@ -15,13 +23,13 @@
"example" : "\n\n ```ts\n import { publish } from \"../plugins/publish\";\n import { commandModule } from \"@sern/handler\";\n export default commandModule({\n plugins: [ publish() ], // put an object containing permissions, ids for guild commands, boolean for dmPermission\n // plugins: [ publish({ guildIds: ['guildId'], defaultMemberPermissions: 'Administrator'})]\n execute: (ctx) => {\n \t\t//your code here\n }\n })\n ```",
"version" : "2.0.0"
}, {
"description" : "\n\n fromCallback turns a callback into a plugin result.\n if the callback returns truthy value, plugin continues.\n This control plugin works for every command type. The arguments of the callback\n mirror the execute method on the current module.",
"hash" : "6a085373d3d240922aa1d2c5b50fadd7",
"name" : "fromCallback",
"author" : [ "@jacoobes [<@182326315813306368>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/fromCallback.ts",
"example" : "\n\n ```ts\n const myServer = \"941002690211766332\";\n export default commandModule({\n type: CommandType.Both,\n plugins: [\n //This plugin prevents this command module from executing in other servers except myServer \n fromCallback((ctx, args) => ctx.guildId == myServer)\n ],\n execute: ctx => {\n ctx.reply(\"I only respond in myServer!\");\n }\n })\n ```",
"version" : "1.0.0"
"description" : "\n\n Disables a command entirely, for whatever reasons you may need.\n",
"hash" : "44a7ac3d807a24297d95c717056ed8ee",
"name" : "disable",
"author" : [ "@jacoobes [<@182326315813306368>]", "@Peter-MJ-Parker [<@371759410009341952>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/disable.ts",
"example" : "\n\n ```ts\n import { disable } from \"../plugins/disable\";\n import { commandModule } from \"@sern/handler\";\n export default commandModule({\n plugins: [ disable() ],\n execute: (ctx) => {\n \t\t//your code here\n }\n })\n ```",
"version" : "2.1.0"
}, {
"description" : "\n\n This is OwnerOnly plugin, it allows only bot owners to run the command, like eval.\n",
"hash" : "31adb9ef134cddda53e47e505620c905",
Expand All @@ -31,20 +39,28 @@
"example" : "\n\n ```ts\n import { ownerOnly } from \"../plugins/ownerOnly\";\n import { commandModule } from \"@sern/handler\";\n export default commandModule({\n plugins: [ ownerOnly() ], // can also pass array of IDs to override default owner IDs\n execute: (ctx) => {\n \t\t//your code here\n }\n })\n ```",
"version" : "1.2.0"
}, {
"description" : "\n\n Disables a command entirely, for whatever reasons you may need.\n",
"hash" : "44a7ac3d807a24297d95c717056ed8ee",
"name" : "disable",
"author" : [ "@jacoobes [<@182326315813306368>]", "@Peter-MJ-Parker [<@371759410009341952>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/disable.ts",
"example" : "\n\n ```ts\n import { disable } from \"../plugins/disable\";\n import { commandModule } from \"@sern/handler\";\n export default commandModule({\n plugins: [ disable() ],\n execute: (ctx) => {\n \t\t//your code here\n }\n })\n ```",
"version" : "2.1.0"
"description" : "\n\n Inspired by the plugin \"requirePermission\" created by Benzo-Fury & needhamgary, this plugin will set permissions for specific subcommands without manually writing it into the code.\n",
"hash" : "adf6b421a4940a982d997c54ee7864f7",
"name" : "subcommandPermCheck",
"author" : [ "@Peter-MJ-Parker [<@371759410009341952>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/subcommandPermCheck.ts",
"example" : "\n\n ```ts\n import { subcommandPermCheck } from \"../plugins/subcommandPerms.js\";\n import { commandModule, CommandType } from \"@sern/handler\";\n import { PermissionFlagBits } from \"discord.js\";\n export default commandModule({\n type: CommandType.Slash,\n plugins: [\n subcommandPermCheck({\n list: [\n { name: \"string\", perms: [PermissionFlagBits.Administrator] },\n { name: \"number\", perms: [PermissionFlagBits.SendMessages, PermissionFlagBits.UseVAD] }\n ],\n needAllPerms: true, //all = Require the member to have all perms stated or at least one?\n //response: \"OPTIONAL - respond to user with this message or default.\"\n })\n ],\n execute: ({ interaction }) => {\n \t\t//your code here\n }\n })\n ```",
"version" : "1.0"
}, {
"description" : "\n\n This plugin checks if a channel is the specified type\n",
"hash" : "a3f95ec62e1480b8c3318443cc8184c0",
"name" : "channelType",
"author" : [ "@Benzo-Fury [<@762918086349029386>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/channelType.ts",
"example" : "\n\n ```ts\n import { channelType } from \"../plugins/channelType\";\n import { ChannelType } from \"discord.js\"\n import { commandModule } from \"@sern/handler\";\n export default commandModule({\n plugins: [ channelType([ChannelType.GuildText], 'This cannot be used here') ],\n execute: (ctx) => {\n \t\t//your code here\n }\n })\n ```",
"description" : "\n\n This is dmOnly plugin, it allows commands to be run only in DMs.\n",
"hash" : "63eabcaafdbd6b6fbd6e52372e656a21",
"name" : "dmOnly",
"author" : [ "@EvolutionX-10 [<@697795666373640213>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/dmOnly.ts",
"example" : "\n\n ```ts\n import { dmOnly } from \"../plugins/dmOnly\";\n import { commandModule } from \"@sern/handler\";\n export default commandModule({\n plugins: [dmOnly()],\n execute: (ctx) => {\n \t\t//your code here\n }\n })\n ```",
"version" : "1.0.0"
}, {
"description" : "\n\n This is buttonConfirmation plugin, it runs confirmation prompt in the form of buttons.\n Note that you need to use edit/editReply in the command itself because we are already replying in the plugin!\n Credits to original plugin of confirmation using reactions and its author!\n",
"hash" : "7ff98585dba82b7ac5268458b246b9fc",
"name" : "buttonConfirmation",
"author" : [ "@EvolutionX-10 [<@697795666373640213>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/buttonConfirmation.ts",
"example" : "\n\n ```ts\n import { buttonConfirmation } from \"../plugins/buttonConfirmation\";\n import { commandModule } from \"@sern/handler\";\n export default commandModule({\n plugins: [ buttonConfirmation() ],\n execute: (ctx) => {\n \t\t//your code here\n }\n })\n ```",
"version" : "1.0.0"
}, {
"description" : "\n\n Asks the user for a confirmation msg before executing the command\n",
Expand All @@ -55,12 +71,28 @@
"example" : "\n\n ```ts\n import { confirmation } from \"../plugins/confirmation\";\n import { CommandType, commandModule } from \"@sern/handler\";\n\n // YOU MUST HAVE GUILD MESSAGE REACTION INTENTS ON YOUR CLIENT!!!!\n export default commandModule({\n type : CommandType.Both\n plugins: [confirmation()],\n \texecute: (ctx, args) => {\n \t\tctx.interaction.followUp('Hello welcome to the secret club')\n \t}\n })\n ```",
"version" : "1.0.0"
}, {
"description" : "\n\n This is dmOnly plugin, it allows commands to be run only in DMs.\n",
"hash" : "63eabcaafdbd6b6fbd6e52372e656a21",
"name" : "dmOnly",
"author" : [ "@EvolutionX-10 [<@697795666373640213>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/dmOnly.ts",
"example" : "\n\n ```ts\n import { dmOnly } from \"../plugins/dmOnly\";\n import { commandModule } from \"@sern/handler\";\n export default commandModule({\n plugins: [dmOnly()],\n execute: (ctx) => {\n \t\t//your code here\n }\n })\n ```",
"description" : "\n\n This plugin checks if the channel is nsfw and responds to user with a specified response if not nsfw\n",
"hash" : "d8c81cd449f09b2122330907352cdf76",
"name" : "nsfwOnly",
"author" : [ "@Benzo-Fury [<@762918086349029386>]", "@SrIzan10 [<@703974042700611634>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/nsfwOnly.ts",
"example" : "\n\n ```ts\n import { nsfwOnly } from \"../plugins/nsfwOnly\";\n import { commandModule } from \"@sern/handler\";\n export default commandModule({\n plugins: [ nsfwOnly('response', true) ],\n execute: (ctx) => {\n \t\t//your code here\n }\n })\n ```",
"version" : "1.0.1"
}, {
"description" : "\n\n Generalized `filter` plugin. all credit to trueharuu.\n Perform declarative conditionals as plugins.",
"hash" : "8a77e9bf4590a979136fcb479470321f",
"name" : "filter",
"author" : [ "@trueharuu [<@504698587221852172>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/filter.ts",
"example" : "\n\n ```ts\n import { filter, not, isGuildOwner, canMentionEveryone } from '../plugins/filter';\n import { commandModule } from '@sern/handler';\n\n export default commandModule({\n plugins: [filter({ condition: [not(isGuildOwner()), canMentionEveryone()] })],\n async execute(context) {\n // your code here\n }\n });\n ```",
"version" : "2.0.0"
}, {
"description" : "\n\n This plugin checks the fields of a ModalSubmitInteraction\n with regex or a custom callback\n",
"hash" : "637eaca240ccb5fc8a1bf3d4ba0bc368",
"name" : "assertFields",
"author" : [ "@jacoobes [<@182326315813306368>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/assertFields.ts",
"example" : "\n\n ```ts\n export default commandModule({\n type: CommandType.Modal,\n plugins: [\n assertFields({\n fields: {\n // check the modal field \"mcUsernameInput\" with the regex /a+b+c/\n mcUsernameInput: /a+b+c+/\n },\n failure: (errors, interaction) => {\n interaction.reply(errors.join(\"\\n\"))\n }\n }),\n ],\n execute: ctx => {\n ctx.reply(\"nice!\")\n }\n })\n ```",
"version" : "1.0.0"
}, {
"description" : "\n\n This is perm check, it allows users to parse the permission you want and let the plugin do the rest. (check user for that perm).\n Each function (other than \"command\") allows multiple options! [ { ... }, { ... }, { ... } ] See examples!\n",
Expand All @@ -71,12 +103,12 @@
"example" : "\n\n ```ts\n import { permCheck } from \"../plugins/permCheck\";\n import { commandModule } from \"@sern/handler\";\n export default commandModule({\n plugins: [ permCheck([\"Administrator\", \"AddReactions\"], \"I am a custom response!\"),\n \t\tpermCheck.options([{ name: \"user\", needAllPerms: true, perms: [\"AttachFiles\", \"CreateEvents\"]}]),\n \t\tpermCheck.subcommands([{ name: \"list\", needAllPerms: false, perms: [\"Connect\"]}]),\n \t\tpermCheck.subGroups([{ name: \"list\", needAllPerms: false, perms: [\"Connect\"], response: \"I am also a custom response!\"}])],\n execute: (ctx) => {\n \t\t//your code here\n }\n })\n ```",
"version" : "2.0.0"
}, {
"description" : "\n\n Allows you to set cooldowns (or \"ratelimits\") for commands, limits user/channel/guild actions.",
"hash" : "9549ecb8901e2e9f814cd6234d1e8a32",
"name" : "cooldown",
"author" : [ "@trueharuu [<@504698587221852172>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/cooldown.ts",
"example" : "\n\n ```ts\n import { cooldown } from \"../plugins/cooldown\";\n import { commandModule } from \"@sern/handler\";\n export default commandModule({\n plugins: [cooldown.add( [ ['channel', '1/4'] ] )], // limit to 1 action every 4 seconds per channel\n execute: (ctx) => {\n \t\t//your code here\n }\n })\n ```",
"description" : "\n\n fromCallback turns a callback into a plugin result.\n if the callback returns truthy value, plugin continues.\n This control plugin works for every command type. The arguments of the callback\n mirror the execute method on the current module.",
"hash" : "6a085373d3d240922aa1d2c5b50fadd7",
"name" : "fromCallback",
"author" : [ "@jacoobes [<@182326315813306368>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/fromCallback.ts",
"example" : "\n\n ```ts\n const myServer = \"941002690211766332\";\n export default commandModule({\n type: CommandType.Both,\n plugins: [\n //This plugin prevents this command module from executing in other servers except myServer \n fromCallback((ctx, args) => ctx.guildId == myServer)\n ],\n execute: ctx => {\n ctx.reply(\"I only respond in myServer!\");\n }\n })\n ```",
"version" : "1.0.0"
}, {
"description" : "\n\n Checks if a command is available in a specific server.\n",
Expand All @@ -87,35 +119,11 @@
"example" : "\n\n ```ts\n import { commandModule, CommandType } from \"@sern/handler\";\n import { serverOnly } from \"../plugins/serverOnly\";\n export default commandModule({\n type: CommandType.Both,\n plugins: [serverOnly([\"guildId\"], failMessage)], // fail message is the message you will see when the command is ran in the wrong server.\n description: \"command description\",\n execute: async (ctx, args) => {\n // your code here\n },\n });\n ```",
"version" : "1.0.0"
}, {
"description" : "\n\n This is perm check, it allows users to parse the permission you want and let the plugin do the rest. (check bot or user for that perm).\n",
"hash" : "53a69e2b4f74b0635f51222b74921edd",
"name" : "requirePermission",
"author" : [ "@Benzo-Fury [<@762918086349029386>]", "@needhamgary [<@342314924804014081>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/requirePermission.ts",
"example" : "\n\n ```ts\n import { requirePermission } from \"../plugins/myPermCheck\";\n import { commandModule, CommandType } from \"@sern/handler\";\n export default commandModule({\n plugins: [ requirePermission<CommandType>('target', 'permission', 'No response (optional)') ],\n execute: (ctx) => {\n \t\t//your code here\n }\n })\n ```",
"version" : "1.2.0"
}, {
"description" : "\n\n This plugin checks if the channel is nsfw and responds to user with a specified response if not nsfw\n",
"hash" : "d8c81cd449f09b2122330907352cdf76",
"name" : "nsfwOnly",
"author" : [ "@Benzo-Fury [<@762918086349029386>]", "@SrIzan10 [<@703974042700611634>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/nsfwOnly.ts",
"example" : "\n\n ```ts\n import { nsfwOnly } from \"../plugins/nsfwOnly\";\n import { commandModule } from \"@sern/handler\";\n export default commandModule({\n plugins: [ nsfwOnly('response', true) ],\n execute: (ctx) => {\n \t\t//your code here\n }\n })\n ```",
"version" : "1.0.1"
}, {
"description" : "\n\n This plugin checks the fields of a ModalSubmitInteraction\n with regex or a custom callback\n",
"hash" : "637eaca240ccb5fc8a1bf3d4ba0bc368",
"name" : "assertFields",
"author" : [ "@jacoobes [<@182326315813306368>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/assertFields.ts",
"example" : "\n\n ```ts\n export default commandModule({\n type: CommandType.Modal,\n plugins: [\n assertFields({\n fields: {\n // check the modal field \"mcUsernameInput\" with the regex /a+b+c/\n mcUsernameInput: /a+b+c+/\n },\n failure: (errors, interaction) => {\n interaction.reply(errors.join(\"\\n\"))\n }\n }),\n ],\n execute: ctx => {\n ctx.reply(\"nice!\")\n }\n })\n ```",
"version" : "1.0.0"
}, {
"description" : "\n\n This is buttonConfirmation plugin, it runs confirmation prompt in the form of buttons.\n Note that you need to use edit/editReply in the command itself because we are already replying in the plugin!\n Credits to original plugin of confirmation using reactions and its author!\n",
"hash" : "7ff98585dba82b7ac5268458b246b9fc",
"name" : "buttonConfirmation",
"author" : [ "@EvolutionX-10 [<@697795666373640213>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/buttonConfirmation.ts",
"example" : "\n\n ```ts\n import { buttonConfirmation } from \"../plugins/buttonConfirmation\";\n import { commandModule } from \"@sern/handler\";\n export default commandModule({\n plugins: [ buttonConfirmation() ],\n execute: (ctx) => {\n \t\t//your code here\n }\n })\n ```",
"description" : "\n\n Allows you to set cooldowns (or \"ratelimits\") for commands, limits user/channel/guild actions.",
"hash" : "9549ecb8901e2e9f814cd6234d1e8a32",
"name" : "cooldown",
"author" : [ "@trueharuu [<@504698587221852172>]" ],
"link" : "https://raw.githubusercontent.com/sern-handler/awesome-plugins/main/plugins/cooldown.ts",
"example" : "\n\n ```ts\n import { cooldown } from \"../plugins/cooldown\";\n import { commandModule } from \"@sern/handler\";\n export default commandModule({\n plugins: [cooldown.add( [ ['channel', '1/4'] ] )], // limit to 1 action every 4 seconds per channel\n execute: (ctx) => {\n \t\t//your code here\n }\n })\n ```",
"version" : "1.0.0"
} ]

0 comments on commit 6be9e54

Please sign in to comment.