zappyzep/dashboard/src/components/docs/PluginConfiguration.vue

139 lines
5.2 KiB
Vue
Raw Normal View History

2019-07-28 18:24:32 +03:00
<template>
<div>
<h1>Plugin configuration</h1>
<p>
2019-10-25 21:45:18 +03:00
Most plugins in Zeppelin have configurable options. The values for these options come from 3 places:
2019-07-28 18:24:32 +03:00
</p>
2019-10-25 21:45:18 +03:00
<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>
2019-10-25 21:45:18 +03:00
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>
2019-07-28 18:24:32 +03:00
</p>
<p>
2019-10-25 21:45:18 +03:00
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>
2019-07-28 18:24:32 +03:00
</p>
2019-10-25 21:45:18 +03:00
<h2>Overrides</h2>
<p>
2019-10-25 21:45:18 +03:00
Overrides are the primary mechanism of changing options and permissions based on permission levels, roles,
channels, user ids, etc.
2019-07-28 18:24:32 +03:00
</p>
2019-10-25 21:45:18 +03:00
<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:
2019-07-28 18:24:32 +03:00
config:
can_kick: false
2019-10-25 21:45:18 +03:00
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
2019-10-13 22:20:02 +03:00
- channel: "109672661671505920"
role: "172950000412655616"
2019-10-25 21:45:18 +03:00
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
2019-07-28 18:24:32 +03:00
</CodeBlock>
</div>
</template>
<script lang="ts">
import CodeBlock from "./CodeBlock.vue";
2019-10-25 21:45:18 +03:00
import Expandable from "../Expandable.vue";
2019-07-28 18:24:32 +03:00
export default {
2019-10-25 21:45:18 +03:00
components: { CodeBlock, Expandable },
2019-07-28 18:24:32 +03:00
};
</script>