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.

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.


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.


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. It's unethical and will not be tolerated here.

2. Be nice

Remember the human

Treat everyone with respect regardless of their skill level or differences in thoughts.

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

Discord ToS prohibits facilitating discussions that violate ToS of any service. Therefore, discussions regarding web scraping are forbidden here unless proven otherwise.

You can do so by citing a passage from ToS of a service you're trying to scrape via modmail. Until then, the conversation is prohibited.

4. Don't obstruct moderation

These rules try to cover as much as possible but unforseenable 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 Emergency Staff Ping role.