Skip to content

Community guidelines

Social Conduct

  • No harassment
  • Be inclusive (no racism, sexism, etc)
  • Keep everything safe-for-work


Most communication happens on our discord

Code of conduct for mods

  • Protect people from harassment and spam using the minimum required force.
  • De-escalate conflicts, and don't engage in tense arguments.
  • Employ yes-and whenever possible.
  • No power-tripping, no undue influence over people's projects. Be a servant.


Discord users can be assigned roles, which is useful for granting privileges to different groups of people, contacting them all at once, etc.

Language Roles

We have roles for users of various supported languages.

  • When somebody asks for help, people can see at a glance what language they are probably asking about.
  • If there's a major new feature or a breaking change for a language, users of that language can be pinged.
  • Getting the role is a nice rite of passage.

To gain an existing role, post video evidence of your bot in the #bot-clips channel, then a moderator will give you the role.

If you have used a new language and want a role to be created for it, you need to satisfy ONE of these criteria:

  • Document and support your language so well that we can comfortably advertise it to new users on
  • OR, win one of our big official tournaments.
  • OR, complete the ancient and mysterious induction ritual:
  • Gather three people who have made bots in the language.
  • Arrange an event where the bots will perform.
  • The event must be streamed (and the bots run) by somebody who has never made a bot in that language.
  • By the time you're done, your language is somewhat user-friendly and popular, in theory.


We regularly run tournaments and other events where bots get ranked and programmers get kudos. The specific rules of each event are generally up to the organizer, but here are a few guidelines to promote fairness:

Record the matches

When playing for rank, you should have some kind of stream or recording that people can view and see that the match was played fairly.

Make sure your opponent is healthy

It's nice to make sure an opponent is working as designed and you have the latest version before playing against it for rank

  • If possible, ask the author before the match.
  • If you don't get pre-approval, and they ask you afterward to make the match not count for rank because their bot was broken by something outside their control, the community is likely to respect those wishes.
  • As a bonus, it's nice to press the [home] key at some point to show bot performance stats. This helps to show that your computer is running the bots at full strength.

Make it known when you borrow code

Using code from other people with permission is good, as long as you make it publicly known. Many people give more praise to bots that they believe are made from scratch.

  • If there's reasonable suspicion that you secretly copied lots of another bot, you may be asked to show your source code to some moderators before entering ranked events.
  • If they find that there is copied code, there must be a public disclosure before entering the event.

The Fork Rule

If you forked your bot from a publicly recognized bot utility package, the fork rule doesn't apply to you.

If you fork a bot (except for a tutorial bot), your bot is in fork mode, which means:

  • You can't enter league play or official tournaments or ranked games on
  • You must give your bot a name that makes it clear you're a fork (small events might choose to allow fork-mode competitors). The name should be formatted as “YourBot [OriginalBot]”.
  • Your bot must remain open source.

This gives proper attribution, and helps the community keep track. You can escape from fork mode by demonstrating to the community (judged by the discord moderator team) that your bot is unique enough to compete under its own name.