Skip to content

Instantly share code, notes, and snippets.

@lafiosca
Last active February 11, 2024 13:46
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lafiosca/b68492abbf3941376e89e96d140acb2e to your computer and use it in GitHub Desktop.
Save lafiosca/b68492abbf3941376e89e96d140acb2e to your computer and use it in GitHub Desktop.
Discord community Code of Conduct and summary messages template

Welcome to the [COMMUNITY NAME] community!

In order to foster a welcoming and inclusive environment for everyone, we ask all members to read and agree to our Code of Conduct when joining. This Code of Conduct is a living document and will be updated from time to time as necessary. The current version can always be found at [LINK]. All changes will be announced in the [#META] channel of our Discord server as they are made. Agreeing to the Code of Conduct implies that you will monitor these changes and revoke your agreement if and when you no longer agree.

Our Pledge

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

Our Standards

Examples of behavior that contributes to a positive environment for our community include:

❤️ Demonstrating empathy and kindness toward other people

🧡 Being respectful of differing opinions, viewpoints, and experiences

💛 Giving and gracefully accepting constructive feedback, charitably interpreting others' words

💚 Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience

💙 Focusing on what is best not just for us as individuals, but for the overall community

💜 Respecting everyone's consent and boundaries

Examples of unacceptable behavior include:

⚠️ The use of sexualized language or imagery, and sexual attention or advances of any kind

⚠️ Trolling, insulting or derogatory comments, and personal or political attacks

⚠️ Public or private harassment, including excessive tagging or messaging

⚠️ Publishing others' private information without their explicit permission

⚠️ Other conduct which could reasonably be considered inappropriate in a professional setting

⚠️ Attempting to justify negative behavior by arguing the details of this Code of Conduct

Enforcement Responsibilities

Community leaders (moderators and administrators) are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

Community leaders have the right and responsibility to remove messages and content that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.

Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement via Discord direct message to anyone with the [@MOD ROLE] role or, when appropriate, by tagging them in public chat. (Consent to directly message these community leaders about such a situation is granted implicitly.) All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the reporter of any incident.

If the person you wish to report is one of the community leaders, please contact the community owner [NAME] directly via Discord message [TAG] or email [EMAIL] with your concerns.

Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct. Note that these are guidelines for reaction, not a strike system. Judging the severity of an incident is left to community leader discretion, and the response may fall anywhere on this spectrum.

1. Correction

Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.

Consequence: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.

2. Warning

Community Impact: A violation through a single incident or series of actions.

Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.

3. Temporary Ban

Community Impact: A serious violation of community standards, including sustained inappropriate behavior.

Consequence: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.

4. Permanent Ban

Community Impact: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.

Consequence: A permanent ban from any sort of public interaction within the community.

Discord Server-Specific Rules

The Code of Conduct presents a general framework for behavior, but our Discord server also has several specific rules to which members are asked to adhere.

[MODIFY THESE FOR YOUR SERVER]

  1. In general, you should try to abide by the topic descriptions for the channels. If you veer far off topic for an extended conversation, a community leader may gently nudge you toward the appropriate place. Please accept such advice graciously.

  2. Don't spam any channel. This includes massive walls of text, links, and images. If you need to share a large document, please consider providing a link to an external service such as GitHub Gist.

  3. Do not directly message (DM) other community members without their prior consent. You may request to DM someone by tagging them in a public channel to ask politely. They are not obligated to accept your request, and please respect if they do not. There is an exception to this rule for messages sent to or from community leaders regarding enforcement actions, as described above. If someone DMs you without permission and makes you uncomfortable, please contact a community leader to discuss it.

  4. Self-promotion and promotion of other content creators is allowed, but please keep direct references such as content links and stream start announcements restricted to the [#PROMOTION] channel. This prevents repetitive links from cluttering the other conversations and allows other community members to mute the channel if they are not interested in those announcements.

  5. If you're not sure if something is ok, please ask. If your question regards the server rules, you can ask in the [#QUESTIONS-AND-FEEDBACK] channel. If it regards an interpersonal interaction with a specific person, ask them. When you don't know, try not to assume.

Social Suggestions

In addition to the rules above, our community has a handful of lightweight social suggestions. You should not be afraid of breaking a social suggestion. These are things that everyone does, and breaking one doesn't make you a bad person. If someone mentions that you've run afoul of one of them, don't worry. Just apologize, reflect for a moment, and move on.

The social suggestions aren't for punishing people. They help make this server a pleasant environment where you are free to be yourself, tackle things outside your comfort zone, and focus on the technology topics you care about.

No well-actually's

Alice: I just installed Linux on my computer!

Bob: It's actually called GNU/Linux.

A well-actually is when you correct someone about something that's not relevant to the conversation or tangential to what they're trying to say. They're bad because they aren't helpful, break the flow of conversation, and focus attention on the person making the well actually.

This rule can be a bit tricky because there isn't a clear line between relevant to the conversation and not. Sometimes your correction might actually be necessary, and it could still come off as annoying when you make it. The best rule of thumb is, if you're not sure whether something needs to be said right now, hold off and see what happens. You can always say it later if it turns out there's no way for the conversation to move forward without your correction.

No feigning surprise

Dan: What's the command line?

Carol: Wait, you've never used the command line?

Feigned surprise is when you act surprised when someone doesn't know something. Responding with surprise in this situation makes people feel bad for not knowing things and less likely to ask questions in the future, which makes it harder for them to learn.

"No feigning surprise" isn't a great name. When someone acts surprised when you don't know something, it doesn't matter whether they're pretending to be surprised or actually surprised. The effect is the same: the next time you have a question, you're more likely to keep your mouth shut. An accurate name for this rule would be "no acting surprised when someone doesn't know something", but it's a mouthful, and at this point, the current name has stuck.

No backseat driving

Bob: What's the name of the string copy function?

Alice: Strncpy.

Eve (uninvolved in conversation): You should use strlcpy. It's safer.

In an offline context, backseat driving is when you lob advice from across the room without joining a conversation. Because you haven't been participating in the conversation, it's easy to miss something important and give advice that's not actually helpful. Even if your advice is correct, it's rude to bust into a conversation without asking. An online analog for this behavior may take the form of someone making hit-and-run interjections into a conversation they are otherwise uninvolved in or have just showed up during. If you arrive mid-discussion and think you might have something helpful to add, try to read the history, give it a moment, and get into the flow of conversation before interjecting.

No subtle -isms

Carol: Windows is hard to use.

Bob: No way. Windows is so easy to use that even my mom can use it.

Subtle -isms are subtle expressions of racism, sexism, ageism, homophobia, transphobia and other kinds of bias and prejudice. They are small things that make others feel unwelcome, things that we all sometimes do by mistake, and also go by the name microaggressions. Subtle -isms make people feel like they don't belong in the community. We want to create an environment where everyone can focus all their energy on the topics we care about. It's hard to do that if you're regularly being made to wonder whether you belong.

Subtle -isms can also be things that you do instead of say. This includes things like sharing content that may be insensitive to a marginalized group or assuming someone isn't a programmer because of their race or gender.

The fourth social suggestion is more complicated than the others. Not everyone agrees on what constitutes a subtle -ism. Subtle -isms are baked into society in ways that can make them hard to recognize. And not everyone experiences subtle -isms in the same way: subtle homophobia won't hurt someone who's straight in the same way it hurts someone who's gay.

There's another part of no subtle -isms: If you see racism, sexism, etc. outside of our community, please don't bring it in. For example, please don't start a discussion about the latest offensive comment from Random Tech Person Y. Everyone who comes to this server should have the same opportunity to focus on technology, and people from oppressed groups often find discussions of racism, sexism, etc. particularly hard to tune out. There are many places to discuss and debate these issues, but there are few where people can avoid them. The exception to this would be any channel with a topic specifically including such content.

Attribution

This Code of Conduct is adapted from the Contributor Covenant, version 2.0, available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.

Community Impact Guidelines were inspired by Mozilla's code of conduct enforcement ladder: https://github.com/mozilla/diversity

The Social Suggestions section is adapted from the Recurse Center's social rules: https://www.recurse.com/social-rules

This document was edited by @lafiosca with input from @cyberbarbie's mod squad and others.

Here is one potential channel category structure:

Chat (public)

  • #introduction: Introduce yourself and give a little bio when you join
  • #lounge: Hanging out and small talk
  • #clips: Sharing clips of [STREAMER]'s stream
  • #code-review: Sharing your code and getting feedback
  • #learning-resources: Sharing links to tutorials and other learning materials
  • #interview-prep: Getting and sharing advice on preparing for interviews
  • #promotion: Promoting yourself or others with links to streams and content
  • #articles: Sharing links to interesting tech articles that we find

Meta (public, but some are read-only to non-moderators)

  • #code-of-conduct: Code of Conduct and server rules (read-only, entry point for server)
  • #announcements: Announcements about server administration, rules updates, etc (read-only)
  • #stream-announcements: Go-live announcements for [STREAMER]'s stream (read-only)
  • #questions-and-feedback: Questions and feedback about this server and the stream
  • #stream-ideas: Ideas and feedback for future streaming content

Internal (private to moderators)

  • #mods: General moderator-only discussion
  • #moderation-log: Accounting log of specific moderation incidents and actions taken (not for discussion)

Role Permissions

  1. Remove all permissions from the @everyone role
  2. Create a role for people who have agreed to the terms with these settings enabled:
    • Display role members separately from online members
    • Change Nickname
    • Read Text Channels & See Voice Channels
    • Send Messages
    • Embed Links
    • Attach Files
    • Read Message History
    • Use External Emojis (optional)
    • Add Reactions
    • Connect (optional)
    • Speak (optional)
    • Video (optional)
  3. Create a role for moderators with these settings enabled:
    • Display role members separately from online members
    • Allow anyone to @mention this role
    • Manage Roles (unfortunately there is no separate "Assign Roles" permission, per this issue
    • Manage Channels (optional, not recommended)
    • Kick Members
    • Ban Members
    • Change Nickname
    • Manage Nicknames (optional)
    • Manage Emojis (optional)
    • Read Text Channels & See Voice Channels
    • Send Messages
    • Send TTS Messages (optional)
    • Manage Messages
    • Embed Links
    • Attach Files
    • Read Message History
    • Mention @everyone, @here, and All Roles (optional)
    • Use External Emojis (optional)
    • Add Reactions
    • Connect
    • Speak
    • Video
    • Mute Members
    • Deafen Members
    • Move Members
    • Use Voice Activity
    • Priority Speaker
  4. Grant ALL permissions to YAGPDB.xyz EXCEPT:
    • Display role members separately from online members (optional)
    • Allow anyone to @mention this role
    • Administrator
    • View Audit Log
    • Manage Server
    • Manage Channels
    • Manage Webhooks
    • [every voice permission]
  5. Set the moderator role above the YAGPDB.xyz role, and set that above the role for people who have agreed. If you also use Twitch Subscriber roles with special privileges, set those between the bot and the people who have agreed. Note however that if you are not very sparing with the permissions granted to the Twitch Subscriber roles, they may be able to bypass the agreement. The integration's default config may need to have permissions removed.

Channel Permissions

  1. For the #code-of-conduct channel...
    1. ...for @everyone, leave everything on the default except:
      • Read Messages: allowed
      • Send Messages: disabled
      • Manage Messages: disabled
      • Read Message History: allowed
    2. ...for YAGPDB.xyz, leave everything on the default except:
      • Send Messages: allowed
      • Manage Messages: allowed
  2. For the #meta channel and any other channel that is publicly read-only for non-mods...
    1. ...for @everyone, set Send Messages: disabled
    2. ...for the moderator role, set Send Messages: allowed
  3. For private mod-only channels, just use Discord's private channel option and pick the moderator role. It automatically sets the permissions for Read Messages.
Welcome to [SERVER NAME]!
In order to foster a welcoming and inclusive environment for everyone, we ask all members to read and agree to our Code of Conduct when joining the server. Below is a summary, and the full version can be found here: [LINK]
Examples of behavior that contributes to a positive environment for our community include:
❤️ Demonstrating empathy and kindness toward other people
🧡 Being respectful of differing opinions, viewpoints, and experiences
💛 Giving and gracefully accepting constructive feedback, charitably interpreting others' words
💚 Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
💙 Focusing on what is best not just for us as individuals, but for the overall community
💜 Respecting everyone's consent and boundaries
Mods are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any incident at their discretion. Incidents may be reported by tagging or DMing [@MOD ROLE] members.
Examples of unacceptable behavior include:
⚠️ The use of sexualized language or imagery, and sexual attention or advances of any kind
⚠️ Trolling, insulting or derogatory comments, and personal or political attacks
⚠️ Public or private harassment, including excessive tagging or messaging
⚠️ Publishing others' private information without their explicit permission
⚠️ Other conduct which could reasonably be considered inappropriate in a professional setting
⚠️ Attempting to justify negative behavior by arguing the details of this Code of Conduct
There are a few server-specific rules:
[MODIFY THESE FOR YOUR SERVER]
1. Don't send off-topic messages. Read and heed the channel topic descriptions.
2. Don't spam any channel. This includes massive walls of text, links, and images.
3. Don't DM members without getting permission first by asking in a public channel. The code of conduct still applies in DM conversations. (You always have permission to DM a mod to report an incident.)
4. Don't promote yourself or others outside of the dedicated [#PROMOTION] channel. This includes stream start announcements and links to content.
5. When you don't know, ask!
These rules may be adjusted over time. Any significant changes will be announced in the [#META] channel.
To agree to the Code of Conduct and enter [SERVER NAME], click the appropriate emoji reaction below.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment