πŸ„― 2025 Anna Kudriavtsev CC BY-SA 4.0 ## For new moderators Feel free to **ask any questions** you have, even if they seem obvious. If you see something you're not sure about, consult with the rest of the team in [#mods], but don't ignore it. <!-- TODO: Erin says this is semantically unclear --> You are always free to bring up any problems you have with our rules, decisions, or staff team. You will not be punished for speaking out or bringing issues to light. (Don't publicly share private info on users or moderation cases, though.) If you do not feel comfortable raising these concerns around other staff, you have a few options. - You can create an admins-only ticket by using `/tickets open` and then using `/tickets adminsonly` in the channel. Admins-only tickets are inaccessible to other mods and sysops, but they're visible to all sudoers. This can be useful to talk about staff team issues, for example. - You can DM anyone with the sudoers role. - You can message me, the server owner (Anna, @ap5, 165998239273844736). My DMs are open and I promise I will hear you out. ## Basic principles When someone first joins a community, **the initial culture and conversations they see act as a powerful example.** If they see high-quality discussion, they will expect it to be the standard and will try to uphold that standard. Mods should strongly influence conversations toward meaningful, high-quality interactions. Noise, memes, and other "brainrot" should be directed away from discussion channels. ### Our approach Instead of reactive moderation and focusing on punishments and infractions, **treat people as humans** and ask them to change how they're acting. Expect people to have the maturity to listen to feedback and respond. The role of the community management team is to manage a community. One way we do this is by filtering out people who do not contribute positively, in favor of those who make others' experience better. **Don't be afraid to act.** If someone, even a long-time member of the community, is causing issues, don't hesitate to pull them out of the conversation and ask them about it. People who are resistant to changing the way they interact with the community might not be the best fit to stay in it. Most conflict is caused by a small set of **recalcitrant, high-conflict people**. Identifying these people early, before they can have a large effect on server culture, is crucial. We've had a few large-scale incidents where this situation was caught too late. ### What we don't do In general, we don't try to punish people. In particular, we don't do temporary mutes or remove privileges as punishments – we mainly issue longer-term temporary bans. We do not implement a strike system, a point system, or any other kind of progressive punishment system. Timed mutes and short-term bans are ineffective at resolving conflicts, and only seem to work because they briefly remove the source. Systems like these only multiply the amount of needed moderation work, push people away, and create a culture of fear around moderators. Staff should not be combative or aggressive toward members, especially not in retaliation. Staff should not act condescending or paternalistic towards members. Always keep in mind that you're having a real conversation with (usually) a real person. Don't contribute to the stereotype of online moderators being grandiose, cliquey, and irritable. ## Handling disruption and conflicts > [!Important] > For cases of overt spam, raiding, posting gore or slurs in all the channels, or similar, ignore this section and ban the user as quickly as possible. You can use `%quickban`, which doesn't require `%op` and clears out recent message history. If we notice someone causing disruption in the server, use `%op` to designate yourself as a moderator, and talk to them. Bring it up in the chat they're in, or open a ticket. If they seem receptive and stop doing the disruptive thing, that's where it ends, we log the fact that the conversation happened in Valkyrja's logs (using `%addnote`). If there's a heated conversation happening, we evaluate if it needs moderator intervention. If so, we **find the person at the core of the argument**, mute them, and open a ticket to talk to them, following the same process as before. If we notice a continued pattern of disruption, we mute them, open a ticket, and ask them about it. Do they recognize what they are doing? Do they seem to be receptive and willing to change their interactions? It's important to emphasize that this is a **conversation**, not a punishment. If they are receptive, we log a brief summary of the conversation (using `%addnote`) and give them another chance. If they agree but do not actually change anything, or are combative and ignore the conversation, we explain the situation and issue a **long-term ban** (at least 30 days). - If the user is young (approx. 13–18) and it seems like this is due to a lack of maturity or social experience, issue a ban of 1–2 years. - Do not issue shorter bans, because they don't provide enough time for someone to cool down and reflect on what happened. The purpose of banning a user is to give them some time away from the server so they can recontextualize things. It is not to hurt or punish someone. ### High-volume conversations {%hackmd @annaaa/todo %} mute first, ask questions later let them work out their emotions in the chill zone open separate tickets for each user ### Recommended reading [Rhea Ayase's moderation theory][ayase2017] From the [Discord Moderator Academy][discordmod]: - [Handling Difficult Scenarios][discord202] - [Ban Evasion and Advanced Harassment][discord443] ## Systems and procedures ### Valkyrja > Bunny KΓ‘ra is reincarnated Valkyrie SigrΓΊn, leader of nine Valkyries. KΓ‘ra helps with community management, administration and moderation tasks to help create safe spaces for inclusive communities. > ― Rhea Ayase, [valkyrja.app][Valkyrja] We use [Valkyrja] to manage the server. It keeps track of user history, issues and releases timed bans and mutes, keeps logs of activity, blocks spam, and performs some other miscellaneous tasks. **Never use Discord's UI to perform moderation actions manually.** Always use Valkyrja's commands. This makes sure all actions are tracked and logged. (The only exception is if Valkyrja is unresponsive during a raid or spam-wave.) ### Channel slowmode {%hackmd @annaaa/todo %} *Another thing I'd like to make clear, disregarding moderation policies β€” is channel slowmodes β€” don't set slowmodes higher than an interval wherein conversing is possible. In essence 2 to 15 seconds, 30s or above only during events when @everyone has been mentioned. It may be used briefly to slow chat flow while moderative actions are taken place, but no more than a few minutes as Discord has a tendency to get stuck on slowmode for some users even when changed back. Definitely don't use slowmode in attempt to stop chat flow completely by using an arbitrarily long interval of time β€” for this reason, we use `%mutechannel` β€” this doesn't carry any side effects along with it. (unmute with `%unmutechannel`).* \- SSH Addict ### Notes and warnings If you give anyone a verbal warning (in chat or DMs, for example), use the Valkyrja command `%addnote` to **log it as a note** for other moderators. (This is an alias for `%addWarning`.) > [!IMPORTANT]The user will not be notified via DM when you use `%addnote`. > However, Valkyrja will post the note publicly in [#moderation-log]. If you want to send the user a formal warning, use `%warn`. (This is an alias for `%issueWarning`). > [!IMPORTANT]The user will receive a DM when you use `%warn`. > Valkyrja will also post the note publicly in [#moderation-log]. {%hackmd @annaaa/todo %} (i wrote up a big thing about this a few times - search alc to retrieve it) Warnings are not meant as a punishment and someone's warning count is not an important number. What's important is whether they are willing to listen to feedback. ### Using tickets Tickets are temporary, private channels managed by [YAGPDB]. They're most often used for private conversations between specific users and the entire staff team. Anyone can create a **ticket** using the command `/tickets open <ticket-name>`. - Tickets are also useful for separating conversations in [#chill-zone] when multiple users are muted. Tickets are visible to all moderators by default. You can add people to a ticket by using the command `/tickets adduser <user>` inside it. This will let them see and talk in the ticket. When the conversation is resolved, you can close a ticket with `/tickets close [reason]`. When closed, all messages inside a ticket will be logged in [#ticket-log]. ### Muting Use mutes to pull out users from heated discussions or to talk to them privately. **Do not use mutes as a punishment.** Valkyrja does not let you mute people without providing a duration. The usual practice is to mute someone for a long time, like `100d` (100 days), and unmute them manually after you're done talking to them. This makes sure that the mute doesn't expire without the situation being resolved first. When you use the `%mute` command, you should provide a meaningful description, e.g. "final warning about spamming anthropomorphic cow art in #support". Avoid non-descriptive notes like "talk" or "private chat". The reason you provide will get saved as a note, visible in `%whois`. Writing a meaningful note will help you and other staff regain context on this person in the future. If you forget to do so, leave a note using `%addnote`. Don't forget to unmute people after you're done talking to them! #### The chill zone There is a channel called [#chill-zone]. Staff and muted users can see it and send messages there. Helpful Users can see [#chill-zone], but cannot send messages there. When Valkyrja mutes someone, it pings them in [#chill-zone] with the following message: > `{0}`, welcome to the chill zone. This mute is not a punishment. This is a place for private conversations between staff and users. Someone will be here to talk with you shortly. Muted users can see all channels, but they can _only_ talk in [#chill-zone] and any tickets they're in. ### Banning In most cases, mods should ask for consensus of **at least one other moderator** before issuing a ban. Ask in [#mods] or [#ticket-discussion]. If there are objections from other staff, have a conversation about it and try to reach a mutual agreement. Feel free to ban a user **without** waiting for consensus in the following cases: - Clear spam or blatantly NSFW content - Overt bigotry, like transphobia, racial slurs, etc. - Raids and coordinated spam floods - Preemptively banning bots - The user has little prior message history - Judgment calls by sysops and sudoers ## Specific situations ### Internal discussion policies {%hackmd @annaaa/todo %} - publicly talking about moderation cases - "leaking" information - forwarding messages or sending screenshots of tickets and chill zone ### Dealing with harassment {%hackmd @annaaa/todo %} Sometimes staff members get harassed over their moderation decisions [...] ### Alt accounts Short for alternate accounts, refers to multiple Discord accounts belonging to one user. Alt accounts in general are OK, as long as they're not used for ban evasion. If a user has two accounts on the server, use `%addnote` to add a note to each account with the other account's ID. This helps make sure that moderation actions can be applied to both accounts at once. ### Ban evasion Ban evasion is not acceptable. The point of banning someone is to give them time away from the space (and give the space time away from them). Avoiding the ban by using an alternate account undermines both those goals. Most ban evasion is blatant and obvious. If it isn't blatant or obvious, there's usually no need to investigate it – if the user is participating normally without causing moderation concerns, the pragmatic choice is to let them be, unless they start acting in the way that justified their ban in the first place. (Exceptions are made in cases of harassment, abuse, predatory behavior, etc.) Alt accounts used for ban evasion should be banned to match the duration of the original ban. Use `%addnote` to record the ID of the alt account on the original account and vice versa. Repeated, persistent ban evasion might warrant extension of the original ban. ### PluralKit {%hackmd @annaaa/todo %} something pluralkit basic explanation recent ticket about PK concerns editing can be used bypass automod emojis :bell: :question: We now enforce the use of "system tags" pk;explain ### Piracy and copyright The Discord Code of Conduct disallows linking to pirated content. Discussion of piracy is allowed, but in-depth discussion of methods or sourcing content is not. ### NSFW content Passing mentions of NSFW topics are allowed, but in-depth NSFW discussion and posting of content falls under rule 1a and should be stopped. If you're not sure whether something is NSFW, it probably is. For sexual content, refer to the [Discord sexual content policy]. We don't do age verification and we do not allow NSFW content in any channels. For the purpose of checking whether an interaction could be unsafe, everyone is simultaneously 13 and 65 years old. That is, if it would be creepy for a 65-year-old to say it to a 13-year-old at a local LUG meetup, you probably shouldn't say it here. #### Public displays of affection > there's been a recent trend in conversations, especially in [#lgbtq], pushing against or even blatantly violating **rule 1a** ("NSFW content is not allowed"). our space has members of all ages, many in their young teens, many older adults. this has a high potential of leading to harm. > > interactions like these _cannot happen safely here_: > - roleplay and extensive flirting > - teasing, including phrases like "good girl" > - sexually charged or intimate content ― [#announcements, 2022][affection2022] The NSFW content policy includes stuff like roleplayed kisses and cuddling. It _especially_ includes images or drawings of intimate interactions. > [!IMPORTANT] > We cannot control what people do in direct messages or off-platform. However, we can act on reports of interactions that happened off-platform. ### Channel usage Make sure to let people know if they use channels incorrectly, including asking for support outside the support category. ### Ableism In addition to what's explicitly listed in rule 1, **ableist language** such as the word "retard" and the use of autism as an insult is **not allowed**. If you do not know whether this applies to a message, ask in [#mods]. ### Paradox of tolerance Due to the nature of the Arch community, this server tends to attract a certain audience (/g/ users and Luke Smith fans) who we try to avoid by setting a server culture of **mutual respect and [intolerance of intolerance][tolerance]** (also just having pronoun roles available tends to ward them off). ### LLMs in support channels > - Simply do not post advice sourced from an LLM / chat AI. This is kinda the point, right? > - Are you actively using an AI/LLM at any point through the process? Stop, Restart, follow the official documentation and ask a human to help you if need be. AI/LLM messed up your system? Be aware that you likely may be asked to start over without the AI/LLM. This can involve software and the whole distro if a fresh install. > - Users caught deliberately using AI to help a user, suggesting AI be used for whatever reason, will be warned with removal of support access if you are repeatedly engaging in the same behavior. ― [Aristocat, #announcements][ai2025] LLM-generated advice is not allowed in support channels. If someone wanted LLM-generated advice, they could generate it themselves. ## Roles ### Helpful Users (HUs) > One of the biggest challenges in a server of over 40K across multiple sub community channels is recognizing quality members that can be turned into Helpful Users. For those new to the server, Helpful Users are the lifeblood of ALC moderation and the first line in the pool in which we draw moderator candidates from. HUs also help to bring things to our attention rapidly. The more we have, the more effective community moderation and moderation recruitment can be. > ― [Aristocat, #announcements][nominatehu2025] The Helpful User role is one of the unique features of ALC's structure. The original idea started when ALC was created in 2018, and it's now spread to many other Linux communities on Discord. People are given the Helpful User role to recognize their positive contributions to the community. This could include being generally levelheaded, mature, contributing to high-quality discussion, contributing to the support channels, etc. Helpful Users are not server staff and do not have the responsibilities that entails. In particular, Helpful Users are not moderators and don't have any more authority over moderation decisions than a regular user would. #### Adding Helpful Users Ideally, there should be many HUs and the role should be given out to people readily, as soon as someone is noticed to have these traits. If you notice that a member is contributing positively and consistently to the server culture or to the support channels, **feel free to give them the Helpful User role** after getting the sign-off of another mod. Make sure to welcome them in [#hu-lounge]! #### Mod candidate pool HUs are the candidate pool from which moderators are picked. (In other words, only HUs can become moderators - someone has to already be an HU to be later made a mod.) This system helps filter a class of people who would be effective moderators. It also allows assessing someone's behavior as they're given more perceived responsibility. #### Permissions HUs can pin messages and create emoji. :::spoiler Historical notes Descriptions from old nomination forms: > A good candidate is a member who contributes positively and consistently to the server culture or to the support channels. The group of HUs is also our pool from which moderators are elected. Thus, making a HU makes them a candidate to be elected as mods. > As many of you know, our users with the Helpful User role are considered our primary backbone of our moderation team. They are both our assistive team as well as the pool from which we draw upon future moderators. HUs previously had the Delete Messages permission. (If someone was liable to abuse it, they probably shouldn't have been an HU.) Discord allows these permissions to be separate now, so this isn't an issue anymore. ::: ### Mods {%hackmd @annaaa/todo %} use old nomination forms + election document as examples picked from HUs maintain the state of chat keep things flowing smoothly pluck out sources of noise garden analogy maybe? 18+ requirement due to dealing with NSFW content ### VC Mods ### Sysops Moderators with more experience. Trusted to make judgment calls and deal with larger-scale issues. Sysops also act as advisors for new staff and help with choosing new moderators. Their only extra permission is the ability to manually issue bans (in case Valkyrja is having downtime). ### Sudoers {%hackmd @annaaa/todo %} - logistics, administration, management - steer the direction of things + direct the moderation team - large-scale system overhauls - small team, mutual trust, rarely added - deal with sensitive issues involving personal data Sudoers have the Administrator permission, which bypasses all Discord permission checks. They can see everything on the server. ### Permission roles #### Operator The Operator role is a mechanism to help staff members maintain a separation between participating in the community and acting in an official role. It's inspired by a similar system used on IRC servers. Use `%op` to distinguish yourself as a moderator. `%op` will give you the Operator role, or take it away if you already have it. When you have the Operator role, your name becomes bright red, and your profile gets hoisted to the top of the member list. **Being opped is required** to mute and ban. #### Announcer Allows posting in [#announcements]. Allows using `@everyone` and `@here`. Do not manually give this to yourself through the Discord UI. Manually granted to people by sudoers or sysops on a case-by-case basis, since those permissions are so easily abused. :::spoiler Historical and technical notes Discord uses a total ordering for role assignment permissions, which means it's impossible to make this role unassignable by mods, without making it so any announcer can make anyone a mod. We've had a couple of high-profile instances of mass ping abuse. The most notable one was by a former moderator named djinzi, who used it to promote a competing server that's now called Command Line Cafe. ::: ## Server Code of Conduct ### 1. Be respectful Be nice. Treat others as you want to be treated. Don't troll or deliberately annoy others. Racism, homophobia, transphobia, and offensive language is not allowed. Follow the [Arch Code of Conduct][archcoc]. This is the most important rule, and the rules below are meant to clarify how rule 1 is applied. #### 1a. NSFW content is not allowed. NSFW content is text or media that contains or references suggestive or sexual themes, bodily harm or death, or themes of self harm or abuse. This includes text or media made "ironically" or "as a joke". #### 1b. Spam is not allowed. Spam is defined as repeatedly sending the same message or gratuitous self-promotion. Memes, text walls, obnoxious or off-topic gifs, and copypastas should be kept to [#urandom]. #### 1c. Do not ask for privileged roles on the server. Helpful Users, moderators, and admins are selected from people with a history of helpful, positive contribution; asking to become a moderator is counterproductive. #### 1d. Follow the support rules. All support must take place in support channels. See [#support-info] for information and access. ### Other information - This server is UNOFFICIAL and not sponsored by or affiliated with Arch Linux or its related projects. - If you have a problem with the server or other members, please bring it up in [#server-meta]. If you do not feel comfortable doing so, feel free to message any online mod. <!-- Moderation resources --> [ayase2017]: http://rhea-ayase.eu/articles/2017-04/Moderation-guidelines [discordmod]: https://discord.com/moderation [discord202]: https://discord.com/moderation/360060483713-202:-Handling-Difficult-Scenarios [discord443]: https://discord.com/moderation/360060487093-443:-Ban-Evasion-and-Advanced-Harassment [tolerance]: https://en.wikipedia.org/wiki/Paradox_of_tolerance [discordnsfw]: https://discord.com/safety/sexual-content-policy-explainer <!-- Other references --> [Valkyrja]: https://valkyrja.app/ [archcoc]: https://coc.archlinux.org/ [YAGPDB]: https://yagpdb.xyz/ <!-- ALC channels --> [#mods]: https://discord.com/channels/399812551963049995/561219694187773965 [#ticket-discussion]: https://discord.com/channels/399812551963049995/1353781170038374480 [#ticket-log]: https://discord.com/channels/399812551963049995/956269591716311110 [#chill-zone]: https://discord.com/channels/399812551963049995/610413272184651786 [#server-meta]: https://discord.com/channels/399812551963049995/1006744879583461418 [#announcements]: https://discord.com/channels/399812551963049995/399812823485513728 [#urandom]: https://discord.com/channels/399812551963049995/667889924233625613 <!-- ALC messages --> [affection2022]: https://discord.com/channels/399812551963049995/399812823485513728/1052689499370565682 [nominatehu2025]: https://discord.com/channels/399812551963049995/399812823485513728/1435694553008177153 [ai2025]: https://discord.com/channels/399812551963049995/399812823485513728/1437821034219966706 <!-- dashes for copy-pasting below U+2012 FIGURE DASH β€’ for ranges in tables U+2013 EN DASH – U+2014 EM DASH β€” U+2015 HORIZONTAL BAR ― for quotes U+2212 MINUS SIGN βˆ’ for subtraction or negative numbers -->