---
path: /rules
---

import { Role } from "../../components/Role"

Below are the rules of the server. If you are unsure about any or wish to discuss in further detail, contact ModMail.

## 1. Keep the learning environment positive

Everybody is here for the same reason: to learn and talk about programming.

These rules are here to make sure the community stays a place where people of all skill levels and backgrounds can flourish. Mocking members for their lack of ability or knowledge will not be tolerated.

### Spoon Feeding

This is when you give someone the solution without letting them figure it out. It doesn't help them learn and it's generally just a waste of time.

### Language Flaming

Unless constructive, keep any opinions about how much you dislike languages or tools to yourself. It doesn't benefit anyone at all.

### Gatekeeping

This describes when someone takes it upon themselves to set a standard for something (like eg. "good code"), and uses that as an excuse to tell somebody else that they aren't able to learn or do something. Remember we're all here to learn and improve.

### Nitpicking

Keep criticism constructive. Fixating on minor details or deliberately picking holes in someone's work is something that should be avoided.

### Backseat driving

If somebody is already getting help, do not jump in the middle of the conversation. Do not turn a simple question into a "too many cooks in the kitchen" problem. If you think you have something to contribute, ask if you can join into the conversation.

### Opinions for beginner languages

The FAQ and beginner guide represent many hours of discussion to find well-rounded answers to common questions. Please link to them regularly when beginners ask questions those guides answer.

### Academic dishonesty

This means cheating on your school work, paying someone to do your school work or trying to avoid your school work in any way. In addition this encompasses attempting to get help on school tests or interview tests. It's unethical and will not be tolerated here.

## 2. Be nice

### TPH is a community where everyone is welcome

Treat everyone with respect. TPH does not tolerate racism, homophobia, hate-speech, or any other form of hateful and discriminatory conduct. We are committed to upholding the [Discord community guidelines](https://discord.com/guidelines) and making TPH a community where everyone feels welcome.

### Do not bring other server drama to TPH

TPH is not the place to bring up drama that happened outside the server.

### Arguing from authority

Nobody likes a know-it-all, and presenting your opinion as fact isn't the way to participate constructively. If you're sharing an anecdote or example from your experience, that's totally fine, but make that clear, and don't present it as concrete evidence of something being a certain way.

## 3. No illegal or prohibited topics / Security and hacking

### Do not discuss anything prohibited by law or a service's Terms of Service (ToS)

This includes, but is not limited to: piracy, video game cheats/hacks, hacking, web scraping, running automated tools against a website or service against the ToS, and so on. Basically anything that the website or service in question does not allow, we won't either.

If you are unsure if it's a suitable topic to discuss, please contact ModMail.

### Do not talk about hacking, “offensive security”, or similar topics

This includes, but is not limited to: reverse engineering and decompiling

Light talk about preventing and best practices for coding with security in mind are allowed. Everyone should be aware of and make a good effort to write secure code, but discussions around how to bypass a system will not be allowed.

### Do not post NSFW content

Content should be kept to a PG13 level. Always ask yourself "Would my boss be okay with this fullscreen on my monitor as he walked by?". If the answer is no, don't post it.

### Don't post controversial content

If you wish to discuss topics like politics, religion, philosophy and alike, head over to our sister server, Controversy Central.

### Don't discuss web scraping unless approved

Web scraping has many valid uses cases in programming. It also has many unethical/controversial uses cases as such discussions regarding web scraping are forbidden here unless it has been approved at staff's discretion.

You can get an excemption by sending some project information to modmail. Tell us about your project, why you are scraping, send screenshots. Until then, the conversation is prohibited.

### Do not discuss crypto currencies, NFTs, and blockchain development. 
All discussions of crypto currencies, including but not limited to investing advice, market state, environmental impact and technology changes are banned. Similarly all discussions of NFTs and blockchain are banned.

## 4. Don't obstruct moderation

These rules try to cover as much as possible but unforeseeable situations could arise and will be up to the staff's discretion

### Use only English

We're an English server and our staff is primarily English speaking. We cannot moderate what we cannot understand.

### Do not impersonate staff

Don't pretend to be staff; this includes but is not limited to: copying their profile picture, putting a hammer emoji in your name, having the same name as a staff member and pretending to be a member of the staff team.

### Follow the spirit of the rules

This speaks for itself: don't be difficult or generally a pain in the ass by trying to find loop holes in the rules or skirt around them.

### No Minimodding

Minimodding will not be tolerated in the server.

A user is considered minimodding if they try to moderate a conversation without being a staff member. This includes repeatedly pointing out to a user that something is against the rules.

If you suspect a member is breaking a rule, do not engage. Avoid piling on the user with macros or redirects. Alert one of our staff members either through Modmail or reacting to the message using the `:stop_sign:` emoji.

### Do not discuss infractions in public

Use ModMail if you want to discuss an infraction or mute: don't do it anywhere else on the server.

## 5. Stay on topic

### Don't derail constructive conversation

Technical and language channels need to be kept on topic, meaning these channels are not the place to have random conversations or to post things unrelated to that specific channel. If there's an on-going conversation taking place, do not jump in with something completely unrelated.

### No life advice

This includes, but is not limited to: relationship advice, depression or suicidal talk. We are not qualified to offer professional advice; it just does not belong here. Note that career-related advice is fine.

## 6. No solicitation or advertising

### No advertising

Do not advertise anything you stand to benefit from. A few examples of this are: other Discord servers, websites, Youtube channels, and blog posts.

Exceptions to this rule are rarely made; if you'd like to request such an exception, please contact ModMail directly.

### Direct Messaging

If you direct message people instead of posting in the right channel, you're preventing others from learning from the conversation. We have plenty of channels, use one of them. Do not send uninvited DMs.

### No recruitment or asking for free work

TPH is not a recruitment platform for programmers for your project. There are plenty of sites out there specifically designed for this purpose.
If you have an open source project that meets our content policy, then you may post it in a relevant channel, but no other forms of recruitments are allowed.

## 7. Use ModMail to contact staff

ModMail (@ModMail) is a bot that reports every direct message received to staff.
Sending a direct message to @ModMail that opens a channel with the staff

If you notice something that you believe is breaking our rules that requires staff attention you can react to the message with `:stop_sign:`

### Use it when you see a rule break or want further clarifications

A few examples of when using ModMail is good practice

- Wish to dispute an infraction you have received.
- Would like more context about a rule.
- Would like to screen something with the staff before posting.

### Do NOT use ModMail for chitchat or asking for programming help

### In extreme cases that need _immediate_ attention like NSFW content, or an unnoticed raid, ping the <Role color="#babbbe">Emergency Staff Ping</Role> role.
