emacs.d/clones/libera.chat/guides/catalyst.html
2022-10-07 15:47:14 +02:00

1025 lines
31 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en"><head>
<link rel="preload" href="../static/fonts/comfortaa-v30-subset-regular.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="../static/fonts/ubuntu-v15-latin-regular.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="../static/fonts/ubuntu-v15-subset-500.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="../static/img/libera-color.svg" as="image" type="image/svg+xml">
<meta charset="utf-8">
<meta content="IE=edge" http-equiv="X-UA-Compatible">
<meta content="width=device-width, initial-scale=1" name="viewport"><!-- Begin Jekyll SEO tag v2.8.0 -->
<title>Catalysing and De-escalation | Libera Chat</title>
<meta name="generator" content="Jekyll v3.9.2" />
<meta property="og:title" content="Catalysing and De-escalation" />
<meta property="og:locale" content="en_GB" />
<meta name="description" content="People often use Libera.Chat to get help with something on their computer. Technical support channels are one of the things were here for!" />
<meta property="og:description" content="People often use Libera.Chat to get help with something on their computer. Technical support channels are one of the things were here for!" />
<link rel="canonical" href="catalyst.html" />
<meta property="og:url" content="https://libera.chat/guides/catalyst" />
<meta property="og:site_name" content="Libera Chat" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2022-10-03T18:36:48+00:00" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="Catalysing and De-escalation" />
<meta name="twitter:site" content="@liberachat" />
<meta property="article:publisher" content="liberachat" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"TechArticle","dateModified":"2022-10-03T18:36:48+00:00","datePublished":"2022-10-03T18:36:48+00:00","description":"People often use Libera.Chat to get help with something on their computer. Technical support channels are one of the things were here for!","headline":"Catalysing and De-escalation","url":"https://libera.chat/guides/catalyst"}</script>
<!-- End Jekyll SEO tag -->
<link rel="icon" type="image/svg+xml" href="../static/img/libera-color.svg">
<link rel="alternate icon" href="../favicon.ico">
<!-- Stylesheets -->
<style>/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
*,::after,::before{box-sizing:border-box}:root{-moz-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji'}hr{height:0;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}</style>
<style>@font-face {
/* comfortaa-regular - subset */
font-family: 'Comfortaa';
src: url('../static/fonts/comfortaa-v30-subset-regular.woff2') format('woff2'), url('../static/fonts/comfortaa-v30-subset-regular.woff') format('woff'), url('../static/fonts/comfortaa-v30-subset-regular.ttf') format('truetype');
font-style: normal;
font-weight: 400;
font-display: swap;
/* . C L a b e h i r t */
unicode-range: U+002E, U+0043, U+004C, U+0061-0062, U+0065, U+0068-0069, U+0072, U+0074;
}
@font-face {
/* ubuntu-regular - latin */
font-family: 'Ubuntu';
src: local(''), url('../static/fonts/ubuntu-v15-latin-regular.woff2') format('woff2'), url('../static/fonts/ubuntu-v15-latin-regular.woff') format('woff'), url('../static/fonts/ubuntu-v15-latin-regular.ttf') format('truetype');
font-style: normal;
font-weight: 400;
font-display: swap;
}
@font-face {
/* ubuntu-500 - subset */
font-family: 'Ubuntu';
src: local(''), url('../static/fonts/ubuntu-v15-subset-500.woff2') format('woff2'), url('../static/fonts/ubuntu-v15-subset-500.woff') format('woff'), url('../static/fonts/ubuntu-v15-subset-500.ttf') format('truetype');
font-style: normal;
font-weight: 500;
font-display: swap;
/* C c e n o t */
unicode-range: U+0043 U+0063 U+0065 U+006E U+006F U+0074;
}
:root {
--header-height: 4rem;
--content-inline-padding: 1.3rem;
--content-max-width: 80ch;
/* define our palette for all themes */
--white: #fff;
--gray-100: #f3f4f6;
--gray-200: #e5e7eb;
--gray-300: #d1d5db;
--gray-400: #9ca3af;
--gray-800: #1f2937;
--gray-900: #111827;
--brand-purple: #5555ff;
--brand-pink: #ff55dd;
/* light-theme vars */
--c-bg: var(--gray-100);
--c-bg-secondary: var(--white);
--c-text: var(--gray-800);
--c-border: var(--gray-300);
--c-hl: var(--brand-pink);
--c-hl-secondary: var(--brand-purple);
--c-text-on-hl: var(--gray-800);
--c-text-on-hl-secondary: var(--white);
}
@media (prefers-color-scheme: dark) {
:root {
--c-bg: var(--gray-800);
--c-bg-secondary: var(--gray-900);
--c-text: var(--gray-200);
--c-border: var(--gray-400);
}
}
* {
color: var(--c-text);
box-sizing: border-box;
font-family: Ubuntu, sans-serif;
letter-spacing: .1ch;
}
main *, .hero * {
line-height: 1.5;
}
body {
background-color: var(--c-bg);
min-height: 100vh;
display: grid;
grid-template-rows: var(--header-height) min-content auto auto min-content;
grid-template-columns: 1fr;
grid-template-areas: "header" "hero" "main" "aside" "footer";
}
a {
text-decoration: underline;
text-underline-offset: .05rem;
}
a:hover {
text-underline-offset: .25rem;
color: var(--c-hl);
}
h1, h2, h3, h4, h5, h6, p {
word-break: break-word;
scroll-margin-block-start: 4.5rem;
}
h1, h2, h3, h4, h5, h6, strong {
font-weight: 500;
}
em {
font-style: italic;
}
h1, h2, h3, h4, h5, h6 {
margin-block-end: 0;
}
h1+*, h2+*, h3+*, h4+*, h5+*, h6+* {
margin-block-start: 0;
}
main h1 {
font-size: 2.25rem;
}
main h2 {
font-size: 1.5rem;
}
main h3 {
font-size: 1.25rem;
}
main :is(h2, h3, h4, h5, h6) a {
text-decoration: none;
position: relative;
}
main :is(h2, h3, h4, h5, h6) a:hover::before {
content: '#';
position: absolute;
left: -1.5ch;
bottom: 0;
font-weight: normal;
font-size: 1rem;
}
@media screen and (min-width: 800px) {
body {
grid-template-columns: min-content 8fr;
grid-template-rows: 4rem min-content auto min-content;
grid-template-areas: "header header" "hero hero" "aside main" "footer footer";
}
}
.skiplink {
z-index: 9999;
transform: translateY(calc(-100% - 1rem));
display: block;
position: absolute;
height: 4rem;
padding: var(--content-inline-padding);
background-color: var(--c-bg);
border-inline-end: 1px solid var(--c-border);
border-block-end: 1px solid var(--c-border);
}
.skiplink:focus {
z-index: 9999;
transform: translateY(0);
}
header {
grid-area: header;
height: var(--header-height);
border-block-end: 1px solid var(--c-border);
background-color: var(--c-bg-secondary);
position: sticky;
top: 0;
z-index: 1000;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: space-between;
}
header a {
text-decoration: none;
}
header .logo {
display: flex;
flex-wrap: nowrap;
align-items: center;
height: 100%;
padding-inline-start: var(--content-inline-padding);
}
header .logo img {
padding-block-end: .3rem;
}
header .logo h1 {
margin: 0;
margin-bottom: -.4rem;
font-size: 1.7rem;
line-height: 1;
font-family: Comfortaa, Ubuntu, sans-serif;
font-weight: bold;
}
header .nav-toggle {
display: block;
border-inline-start: 1px solid var(--c-border);
padding: 0 1rem;
display: flex;
align-items: center;
cursor: pointer;
}
header nav details summary, header nav a {
border-block-end: 1px solid var(--c-border);
padding: 1rem;
display: flex;
align-items: center;
cursor: pointer;
white-space: nowrap;
}
header nav details summary::before {
content: "►";
padding-inline-end: .3rem;
}
header nav details[open] summary::before {
content: "▼";
}
header nav .nav-close {
display: none;
}
header nav.show .nav-close {
display: flex;
}
header nav {
transform: translateY(calc(-100% - 1rem));
display: flex;
flex-direction: column;
justify-content: flex-start;
position: fixed;
right: 0;
top: 0;
bottom: 0;
background-color: var(--c-bg-secondary);
min-width: 20rem;
max-width: 30rem;
border-inline-start: 1px solid var(--c-border);
z-index: 10000;
}
header nav.show, header nav:focus-within {
transform: translateY(0);
}
header nav details summary.highlight, header nav a.highlight {
background-color: var(--c-hl);
color: var(--c-text-on-hl);
font-weight: 500;
}
header nav details summary:hover, header nav a:hover {
background-color: var(--c-bg);
}
header nav details summary.highlight:hover, header nav a.highlight:hover {
background-color: var(--c-hl-secondary);
color: var(--c-text-on-hl-secondary);
}
header nav details {
display: flex;
flex-direction: column;
position: relative;
}
header nav details a {
padding-inline-start: 2.5rem;
}
@media screen and (min-width: 950px) {
header .nav-toggle, header .nav-close, header nav.show .nav-close {
display: none;
}
header nav {
transform: initial;
display: flex;
flex-direction: row;
justify-content: flex-end;
position: initial;
background-color: initial;
min-width: unset;
max-width: unset;
border-inline-start: none;
}
header nav.show, header nav:focus-within {
transform: initial;
}
header nav details summary, header nav a {
border-block-end: none;
border-inline-start: 1px solid var(--c-border);
border-inline-end: 1px solid var(--c-border);
padding: 0 1rem;
display: flex;
margin-inline-start: -1px;
align-items: center;
height: 100%;
}
header nav details:last-of-type summary {
border-inline-end: none;
}
header nav details[open] summary {
border-block-end: 1px solid var(--c-border);
height: calc(100% + 1px);
}
header nav details div {
position: absolute;
right: 0;
}
header nav details div a {
background-color: var(--c-bg-secondary);
border-block-end: 1px solid var(--c-border);
padding: 1rem;
}
}
main {
grid-area: main;
padding: 0 var(--content-inline-padding);
max-width: var(--content-max-width);
min-width: 0;
width: 100%;
margin: 2rem auto;
}
nav.article-nav {
display: flex;
flex-direction: row;
justify-content: center;
}
nav.article-nav div {
width: 33%;
text-align: center;
}
footer {
grid-area: footer;
align-self: end;
background-color: var(--c-bg-secondary);
border-block-start: 1px solid var(--c-border);
padding: .5rem var(--content-inline-padding);
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
}
footer div {
line-height: 2;
}
footer div .mobile-hide {
display: none;
}
footer div a {
white-space: nowrap;
}
footer div a:not([rel*=license]), footer div .copyright {
display: block;
}
@media screen and (min-width: 800px) {
footer div {
line-height: 1.5;
}
footer div:last-of-type {
padding-inline-start: 1rem;
}
footer div .mobile-hide {
display: inline;
}
footer div a:not([rel*=license]), footer div .copyright {
display: initial;
}
}
</style>
<style>aside {
grid-area: aside;
background-color: var(--c-bg-secondary);
/* padding: var(--content-inline-padding); */
border-block-start: 1px solid var(--c-border);
width: 100%;
height: min-content;
align-self: end;
display: flex;
flex-direction: column;
justify-content: flex-start;
min-width: 30ch;
overflow-y: auto;
}
aside .title {
margin-block-end: 0;
margin-inline: var(--content-inline-padding);
margin-block-start: 1rem;
margin-block-end: .5rem;
font-size: 2rem;
font-weight: 500;
}
aside details:not(:last-child) {
border-block-end: 1px solid var(--c-border);
}
aside details summary, aside a {
padding: 1rem;
display: flex;
align-items: center;
cursor: pointer;
white-space: nowrap;
}
aside a {
text-decoration: none;
}
aside details summary::before {
content: "►";
padding-inline-end: .3rem;
}
aside details[open] summary::before {
content: "▼";
}
aside details summary:hover, aside a:hover, aside a.active {
background-color: var(--c-bg);
}
aside details {
display: flex;
flex-direction: column;
position: relative;
}
aside details a {
padding-inline-start: 2.5rem;
}
@media screen and (min-width: 800px) {
aside {
border-block-start: none;
border-inline-end: 1px solid var(--c-border);
width: max-content;
height: 100%;
}
}
</style>
<link rel="stylesheet" href="../static/css/additional-styles.css">
<script src="../static/js/header-links.js" defer></script>
</head>
<body><a class="skiplink" href="catalyst.html#main">Skip to content</a>
<header>
<a class="logo" href="../index.html" aria-label="Libera Chat, back to start page">
<img alt="" src="../static/img/libera-color.svg" height="48px" data-proofer-ignore>
<h1>Libera.&ZeroWidthSpace;Chat</h1>
</a>
<a id="nav-toggle" class="nav-toggle hidden" aria-controls="main-nav"><span>Navigation</span></a>
<nav class="" id="main-nav" aria-labelledby="nav-toggle" role="menubar">
<a id="nav-close" class="nav-close hidden" aria-controls="main-nav"><span>Close</span></a>
<details>
<summary
>About</summary>
<div>
<a
role="menuitem"
href="../policies.html"
><span>Network Policies</span></a>
<a
role="menuitem"
href="../guidelines.html"
><span>Channel Guidelines</span></a>
<a
role="menuitem"
href="../news.html"
><span>Blog & News</span></a>
<a
role="menuitem"
href="../about.html"
><span>About Libera Chat</span></a>
<a
role="menuitem"
href="../bylaws.html"
><span>Bylaws</span></a>
<a
role="menuitem"
href="../minutes.html"
><span>Meeting Minutes</span></a>
<a
role="menuitem"
href="../annual-reports.html"
><span>Annual Reports</span></a>
<a
role="menuitem"
href="../sponsors.html"
><span>Sponsors</span></a>
</div>
</details>
<details>
<summary
>Contribute</summary>
<div>
<a
role="menuitem"
href="../contributing/donate.html"
><span>Donate</span></a>
<a
role="menuitem"
href="../contributing/sponsor.html"
><span>Sponsor Us</span></a>
<a
role="menuitem"
href="../contributing/development.html"
><span>Development</span></a>
</div>
</details>
<a role="menuitem" href="../chanreg.html"><span>Channel Namespaces</span></a>
<a role="menuitem" href="../guides.html"><span>Guides</span></a>
<a role="menuitem" href="faq.html"><span>FAQ</span></a>
<details>
<summary
class="highlight"
>Connect</summary>
<div>
<a
role="menuitem"
href="https://web.libera.chat"
rel="noopener noreferrer"
><span>Webchat</span></a>
<a
role="menuitem"
href="ircs://irc.libera.chat:6697"
><span>irc.libera.chat:6697 (TLS)</span></a>
<a
role="menuitem"
href="connect.html"
><span>How to Connect</span></a>
</div>
</details>
</nav>
</header>
<script async>
const navToggle = document.querySelector('#nav-toggle')
const navClose = document.querySelector('#nav-close')
const mainNav = document.querySelector('#main-nav')
// progressive enhancement!
navToggle.classList.remove('hidden')
navClose.classList.remove('hidden')
navToggle.addEventListener('click', event => {
event.preventDefault()
mainNav.classList.toggle('show')
})
navClose.addEventListener('click', event => {
event.preventDefault()
mainNav.classList.remove('show')
})
</script>
<aside role="menu">
<span class="title">Guides</span>
<details open>
<summary>About IRC</summary>
<div>
<a
role="menuitem"
href="basics.html"
><span>Basics of IRC</span></a>
<a
role="menuitem"
href="faq.html"
><span>Frequently Asked Questions</span></a>
<a
role="menuitem"
href="clients.html"
><span>Choosing an IRC client</span></a>
</div>
</details>
<details open>
<summary>Helping you connect</summary>
<div>
<a
role="menuitem"
href="connect.html"
><span>Connecting to Libera.Chat</span></a>
<a
role="menuitem"
href="webchat.html"
><span>Using Our Webchat</span></a>
<a
role="menuitem"
href="sasl.html"
><span>Using SASL</span></a>
<a
role="menuitem"
href="https://libera.chat/guides/certfp"
><span>Using CertFP</span></a>
</div>
</details>
<details open>
<summary>Using the network</summary>
<div>
<a
role="menuitem"
href="registration.html"
><span>Nickname Registration</span></a>
<a
role="menuitem"
href="sendpass.html"
><span>Resetting your Password</span></a>
<a
role="menuitem"
href="cloaks.html"
><span>Cloaks</span></a>
<a
role="menuitem"
href="findingchannels.html"
><span>Finding Channels</span></a>
<a
role="menuitem"
href="channels.html"
><span>Using Channels</span></a>
<a
role="menuitem"
href="usermodes.html"
><span>User Modes</span></a>
</div>
</details>
<details open>
<summary>Running a channel</summary>
<div>
<a
role="menuitem"
href="creatingchannels.html"
><span>Creating Channels</span></a>
<a
role="menuitem"
href="channelmodes.html"
><span>Channel Modes</span></a>
<a
role="menuitem"
href="bots.html"
><span>Network bots</span></a>
<a
role="menuitem"
class="active"
href="catalyst.html"
><span>Catalysing and De-escalation</span></a>
<a
role="menuitem"
href="helpers.html"
><span>Advice for Helpers</span></a>
</div>
</details>
</aside>
<main id="main">
<h1>Catalysing and De-escalation</h1>
<p>People often use Libera.Chat to get help with something on their computer.
Technical support channels are one of the things were here for!</p>
<p>If you have ever had a technical problem, you know how overwhelming it can be.
Sometimes people seeking help will get very frustrated and might have a temper
or be rude. Patient and efficient help can be vital in avoiding conflict in
these situations.</p>
<p>This guide will outline some good practices for both operators and helpers for
interacting with people. It will also discuss some common situations and ideal
ways of responding.</p>
<h2 id="only-be-opped-up-when-necessary">Only be “opped up” when necessary</h2>
<p>Most channels have a select few Operators who are responsible for managing the
culture of the channel. These are the people with the <code class="language-plaintext highlighter-rouge">+o</code>
<a href="faq.html#how-to-find-out-who-runs-a-channel">flags in <code class="language-plaintext highlighter-rouge">ChanServ</code></a>. Most
clients display an <code class="language-plaintext highlighter-rouge">@</code> or another symbol next to their nick. Libera.Chat does
not have “halfops” flags like some other networks.</p>
<p>We recommend that operators in channels refrain from being “opped up” unless
it is necessary for immediate channel management activities like changing a
locked topic or removing a problematic user. We discourage using the <code class="language-plaintext highlighter-rouge">+O</code>
flag, which automatically “ops up” the flagged user on join. There are other
ways for <a href="faq.html#how-to-find-out-who-runs-a-channel">users to find out</a>
who runs the channel.</p>
<p>Being opped up (or even voiced <code class="language-plaintext highlighter-rouge">+v</code> for manual or <code class="language-plaintext highlighter-rouge">+V</code> for automatic) in your
channel means you appear above normal users in your channels user list, which
creates a visible hierarchy. While this might sound desirable, it can
interfere with your ability to give support. People will see you as an
authority figure and be wary of you. Its like the difference between having a
conversation with a boss or teacher, and having a conversation with a
co-worker or a classmate. Users may view your responses as orders, threats, or
trick questions when you do not intend them to be.</p>
<p>Channel Ops should avoid demonstrating hierarchy and interact as regular
participants in their channels as much as possible. Try not to be someone who
only appears when things are heated. Having a rapport with your users will
make it easier to de-escalate heated situations, making it easier to avoid
having to forcefully remove people from your community.</p>
<h3 id="why-is-libera-different">Why is <code class="language-plaintext highlighter-rouge">#libera</code> different?</h3>
<p>You may have noticed that the <code class="language-plaintext highlighter-rouge">#libera</code> channel doesnt follow this guideline.</p>
<p>The <code class="language-plaintext highlighter-rouge">#libera</code> channel is relatively large and is a focal point for botnets and
other nefarious behavior. It uses channel mode <code class="language-plaintext highlighter-rouge">+z</code> when dealing with unwanted
messages, which requires staff to be opped, so they dont miss messages.</p>
<p>Additionally, people often come to <code class="language-plaintext highlighter-rouge">#libera</code> to find network staff with
network-level permissions. Having staff highlighted in the user list makes it
clear who has those permissions. In a “normal” support channel, everyone can
provide support, so there is no need to differentiate between ops and users.</p>
<h2 id="de-escalate-heated-situations">De-escalate heated situations</h2>
<h3 id="assume-good-faith">Assume good faith</h3>
<p>When you initiate conversations, try to assume that the other person is doing
what theyre doing in good faith. People dont tend to wake up one day and
decide to yell obscenities into your IRC channel. They arent trying to cause
harm.</p>
<h3 id="avoid-public-confrontation">Avoid public confrontation</h3>
<p>Sometimes you can avoid escalating a situation by talking to an angry person
in private rather than publicly in a channel, which they could find
humiliating. They may still act like youre intruding into a personal space
without their consent. Consider asking to talk to them either in the channel
first or, as your first private message:</p>
<pre><code class="language-irc">&lt;You&gt; Hi, can I talk to you about &lt;problem&gt; here in private rather than where others can see?
</code></pre>
<p>Note that some support channels discourage private interactions between
channel members. Therefore, this technique may be limited to channel ops if
that is the case in your community.</p>
<h3 id="listen-and-ask-questions">Listen and ask questions</h3>
<p>Asking someone why they are doing something will encourage them to reflect on
their behaviour. Once they are paying attention to their actions, they will
often self-moderate. Most people do not want to be viewed as “the bad guy.”</p>
<p>You may disarm their defensiveness by asking for their input instead of
immediately admonishing them or levelling accusations. This centers the
conversation on them and their thoughts, instead of on yourself.</p>
<p>Try to appear understanding of their concern rather than dismissive, even if
you disagree. Your goal is to calm them down, and being oppositional will not
achieve this.</p>
<p>When requesting someone change their behaviour, instead of ordering them to do
or not do something, you can also ask them if they think they can. They will
probably be more receptive and perhaps offer ways you can help them achieve
it.</p>
<h3 id="try-to-remain-calm">Try to remain calm</h3>
<p>People learn by example and often respond in kind. Thus, if you demonstrate
calmness when initiating a conversation, the conversation is more likely to
proceed that way.</p>
<p>Likewise, being respectful and professional when dealing with an upset person
will do a lot of work towards forming a treaty with them.</p>
<h3 id="compromising-conceding-and-resolutions-with-no-winner">Compromising, conceding, and resolutions with no winner</h3>
<p>Humility is essential when in leadership positions.</p>
<p>Sometimes, you will need to compromise or concede. Digging in when you make a
mistake will not improve your community and could lead to distrust.</p>
<p>You can always amend a lenient decision or concession in the future if there
is actually a need to do so.</p>
<h2 id="avoid-policing-external-behaviour">Avoid policing external behaviour</h2>
<p>People are often part of multiple communities. They often behave differently
in each space, as various communities have their own cultures.</p>
<p>Confronting and punishing someone for behaviour that is happening somewhere
else often escalates something small into a bigger issue affecting more
people. Pre-emptive banning is rarely a good idea.</p>
<p>It can also make people in your channel feel like theyre being spied on,
which makes both your community and other spaces feel less friendly.</p>
<h2 id="remember-to-take-breaks-to-avoid-burn-out">Remember to take breaks to avoid burn-out</h2>
<p>When previously rewarding tasks, like helping in channels, become tiring and
less enjoyable, this is a sign of burn-out.</p>
<p>If you manage a space alone, it is easy to feel obligated to spend all your
energy and time keeping the place in order. This can lead to burn-out, which
makes it much harder to handle channel conflicts calmly. When that happens,
your community members feel like theyre walking on eggshells. It is also
easier for bad actors to weaponize you against other community members.</p>
<p>If you are the only channel op, we encourage you to consider giving trusted
channel users ops as well. Not only does this provide you with the freedom to
do other things without worrying about the channel, but it also gives you
another person to talk with about situations that arise.</p>
<p>Find others in your community who are good at talking to people to help you
manage things. They dont need to be the most knowledgeable person in your
channel, but they need to be patient, fair, and approachable.</p>
<h2 id="appeals-processes-and-accountability">Appeals processes and accountability</h2>
<p>Removing people should ideally not be a permanent thing. People make mistakes
and have bad days. One mistake or bad day shouldnt be the end of their
participation in your channel.</p>
<p>Also, permanently excluding users from a channel can lead to them seeking a
way of evading into the channel, becoming even more problematic.</p>
<p>Its an excellent idea for your channel to have a way for people to appeal a
ban and negotiate being allowed back. Consider having an “ops” channel; most
channels use <code class="language-plaintext highlighter-rouge">#&lt;channelname&gt;-ops</code> for this. Request that non-ops leave the
channel if they do not have an immediate issue, so that people can raise
their issues with some privacy. When talking to banned users in an <code class="language-plaintext highlighter-rouge">-ops</code>
channel, de-escalation tools and building rapport are critically important.</p>
<p>If many channel operators speak to a person at once in an <code class="language-plaintext highlighter-rouge">-ops</code> channel, it can
seem like “ganging up on” the person. You may want to informally limit how
many ops are involved in such discussions at once.</p>
<p>Operator channels also allow people a place to report issues without
escalating situations in the channel. It is a good idea to advertise it in the
channels topic. If people cannot get into your ops channel, they cannot use
it, so banning from that should be very rare.</p>
<p>It is also a good idea to ensure that people can use <code class="language-plaintext highlighter-rouge">ChanServ</code> to find nicks of
channel operators so they can contact them directly. As a result, we suggest
avoiding the <code class="language-plaintext highlighter-rouge">PRIVATE</code> ChanServ flag and keeping the <code class="language-plaintext highlighter-rouge">PUBACL</code> flag unless you
have specific reasons to use them.</p>
</main><footer>
<div>
<span class="copyright">&copy; Libera Chat's contributors 2021</span>
(<a rel="license noopener noreferrer" href="../LICENSE-content.txt">Content CC BY-NC-SA</a>,
<a rel="license noopener noreferrer" href="../LICENSE-code.txt">Code MIT</a>)
<span class="mobile-hide">/</span>
<a href="../atom.xml">Feed (atom)</a>
<span class="mobile-hide">/</span>
<a href="../privacy.html">Privacy</a>
</div>
<div>
<a rel="me noopener noreferrer" href="https://fosstodon.org/@liberachat">Mastodon</a>
<span class="mobile-hide">/</span>
<a href="https://github.com/Libera-Chat/libera-chat.github.io" rel="noopener noreferrer">GitHub</a>
<span class="mobile-hide">/</span>
<a href="https://twitter.com/liberachat" rel="noopener noreferrer">Twitter</a>
<span class="mobile-hide">/</span>
<a href="https://facebook.com/liberachat" rel="noopener noreferrer">Facebook</a>
</div>
</footer>