mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-06-07 16:05:01 +00:00
feat: add '!role_buttons reset' command
This commit is contained in:
parent
4a9ece8e3b
commit
b6ab2c7d4a
3 changed files with 46 additions and 0 deletions
|
@ -10,6 +10,7 @@ import { onButtonInteraction } from "./events/buttonInteraction";
|
|||
import { pluginInfo } from "./info";
|
||||
import { createButtonComponents } from "./functions/createButtonComponents";
|
||||
import { TooManyComponentsError } from "./functions/TooManyComponentsError";
|
||||
import { resetButtonsCmd } from "./commands/resetButtons";
|
||||
|
||||
export const RoleButtonsPlugin = zeppelinGuildPlugin<RoleButtonsPluginType>()({
|
||||
name: "role_buttons",
|
||||
|
@ -17,6 +18,21 @@ export const RoleButtonsPlugin = zeppelinGuildPlugin<RoleButtonsPluginType>()({
|
|||
info: pluginInfo,
|
||||
showInDocs: true,
|
||||
|
||||
defaultOptions: {
|
||||
config: {
|
||||
buttons: {},
|
||||
can_reset: false,
|
||||
},
|
||||
overrides: [
|
||||
{
|
||||
level: ">=100",
|
||||
config: {
|
||||
can_reset: true,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
configPreprocessor(options) {
|
||||
// Auto-fill "name" property for buttons based on the object key
|
||||
const buttonsArray = Array.isArray(options.config?.buttons) ? options.config.buttons : [];
|
||||
|
@ -58,6 +74,8 @@ export const RoleButtonsPlugin = zeppelinGuildPlugin<RoleButtonsPluginType>()({
|
|||
|
||||
events: [onButtonInteraction],
|
||||
|
||||
commands: [resetButtonsCmd],
|
||||
|
||||
beforeLoad(pluginData) {
|
||||
pluginData.state.roleButtons = GuildRoleButtons.getGuildInstance(pluginData.guild.id);
|
||||
},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue