138 lines
5.2 KiB
Vue
138 lines
5.2 KiB
Vue
<template>
|
|
<div>
|
|
<h1>Plugin configuration</h1>
|
|
<p>
|
|
Most plugins in Zeppelin have configurable options. The values for these options come from 3 places:
|
|
</p>
|
|
<ol>
|
|
<li>
|
|
<strong>Default options</strong> (from Zeppelin)
|
|
</li>
|
|
<li>
|
|
<strong>Custom options</strong> (set by you in config)
|
|
</li>
|
|
<li>
|
|
<strong>Overrides</strong> (conditional config values, see below)
|
|
</li>
|
|
</ol>
|
|
<p>
|
|
Permissions are also just regular config options with a <code>true</code>/<code>false</code> value.
|
|
<router-link to="/docs/configuration/permissions">See the Permissions page for more info.</router-link>
|
|
</p>
|
|
<p>
|
|
Information about each plugin's options can be found on the plugin's page, which can be accessed from the sidebar.
|
|
<router-link to="/docs/configuration/configuration-format">See the Configuration format page for an example of a full config.</router-link>
|
|
</p>
|
|
|
|
<h2>Overrides</h2>
|
|
<p>
|
|
Overrides are the primary mechanism of changing options and permissions based on permission levels, roles,
|
|
channels, user ids, etc.
|
|
</p>
|
|
|
|
<Expandable class="wide">
|
|
<template v-slot:title>Click to see examples of different types of overrides</template>
|
|
<template v-slot:content>
|
|
<CodeBlock code-lang="yaml">
|
|
plugins:
|
|
example_plugin:
|
|
config:
|
|
can_kick: false
|
|
kick_message: "You have been kicked"
|
|
nested:
|
|
value: "Hello"
|
|
other_value: "Foo"
|
|
overrides:
|
|
# Simple permission level based override to allow kicking only for levels 50 and up
|
|
- level: '>=50'
|
|
config:
|
|
can_kick: true
|
|
nested:
|
|
# This only affects nested.other_value; nested.value is still "Hello"
|
|
other_value: "Bar"
|
|
# Channel override - don't allow kicking on the specified channel
|
|
- channel: "109672661671505920"
|
|
config:
|
|
can_kick: false
|
|
# Same as above, but for a full category
|
|
- category: "360735466737369109"
|
|
config:
|
|
can_kick: false
|
|
# Multiple channels. If any of them match, this override applies.
|
|
- channel: ["109672661671505920", "570714864285253677"]
|
|
config:
|
|
can_kick: false
|
|
# Match based on a role
|
|
- role: "172950000412655616"
|
|
config:
|
|
can_kick: false
|
|
# Match based on multiple roles. The user must have ALL roles mentioned here for this override to apply.
|
|
- role: ["172950000412655616", "172949857164722176"]
|
|
config:
|
|
can_kick: false
|
|
# Match on user id
|
|
- user: "106391128718245888"
|
|
config:
|
|
kick_message: "You have been kicked by Dragory"
|
|
# Match on multiple conditions
|
|
- channel: "109672661671505920"
|
|
role: "172950000412655616"
|
|
config:
|
|
can_kick: false
|
|
# Match on ANY of multiple conditions
|
|
- any:
|
|
- channel: "109672661671505920"
|
|
- role: "172950000412655616"
|
|
config:
|
|
can_kick: false
|
|
# Match on either of two complex conditions
|
|
- any:
|
|
- all:
|
|
- channel: "109672661671505920"
|
|
role: "172950000412655616"
|
|
- not:
|
|
role: "473085927053590538"
|
|
- channel: "534727637017559040"
|
|
role: "473086848831455234"
|
|
config:
|
|
can_kick: false
|
|
</CodeBlock>
|
|
</template>
|
|
</Expandable>
|
|
|
|
<h2>Default overrides</h2>
|
|
<p>
|
|
Many plugins have some overrides by default, usually for the default mod level (50) and/or the default admin level
|
|
(100). These are applied before any custom overrides in the config.
|
|
</p>
|
|
<p>
|
|
You can see the default overrides for each plugin by checking the <strong>Default configuration section</strong>
|
|
under the <strong>Configuration tab</strong> on the plugin's documentation page.
|
|
</p>
|
|
<p>
|
|
To replace a plugin's default overrides entirely, set <code>replaceDefaultOverrides</code> to <code>true</code> in
|
|
plugin options, on the same level as <code>config</code> and <code>overrides</code>. In the following example, any
|
|
default overrides the plugin had will no longer have an effect:
|
|
</p>
|
|
|
|
<CodeBlock code-lang="yaml">
|
|
example_plugin:
|
|
config:
|
|
can_kick: false
|
|
replaceDefaultOverrides: true # <-- Here
|
|
overrides:
|
|
- level: ">=25"
|
|
config:
|
|
can_kick: true
|
|
</CodeBlock>
|
|
</div>
|
|
</template>
|
|
|
|
<script lang="ts">
|
|
import CodeBlock from "./CodeBlock.vue";
|
|
import Expandable from "../Expandable.vue";
|
|
|
|
export default {
|
|
components: { CodeBlock, Expandable },
|
|
};
|
|
</script>
|