Skip to content

Commit

Permalink
Use gender neutral language to refer to users whenever possible (#203)
Browse files Browse the repository at this point in the history
* Replace usage of he/him/his with they/them/theirs

* Refer to bot as it rather than he

* Fix typos noticed in process
  • Loading branch information
leetfin committed Oct 23, 2022
1 parent 689ce77 commit 23746ac
Show file tree
Hide file tree
Showing 17 changed files with 72 additions and 72 deletions.
2 changes: 1 addition & 1 deletion docs/instantcommands.rst
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ from Discord. You just need basic Python and discord.py knowledge.

You can also edit the Dev's environment added with Red 3.4.6.

Here's an example of his it works:
Here's an example of how it works:

.. image:: .ressources/EXAMPLES/InstantCommands-example.png

Expand Down
16 changes: 8 additions & 8 deletions docs/roleinvite.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,19 +39,19 @@ Before giving the commands list, I'd like to show you how the cog is working.

The cog works with what I call invite links. Each invite
link is linked to one or more roles. This mean that,
every time a new user join the server, if he used the invite A to
join the server, he will get the list of roles linked to the invite A.
every time a new user join the server, if they used the invite A to
join the server, they will get the list of roles linked to the invite A.

You can link many roles to multiple invites, so you can imagine something
You can link many roles to multiple invites, so you can imagine something
like "click **here** if you are an engineer, else click **here** if you're
an architect", and make roleinvite give the engineer or architect roles.

You can also link roles to default or main autorole.
If you link roles to the main autorole,
the new member will get these roles if he
the new member will get these roles if they
joined with an unlinked invite. If you link roles
to the default autorole, new users will always get
these roles, whatever invite he used.
these roles, whatever invite they used.

Here's a schema for a better understanding:

Expand Down Expand Up @@ -221,7 +221,7 @@ This may be available in a future release.
The bot suddenly stopped adding roles to the new members
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The bot will automatically turn off the autorole system if he lose the ``Manage
The bot will automatically turn off the autorole system if it loses the ``Manage
sever`` or the ``Add roles`` permissions, which are absolutely necessary for the cog.

If you added the permissions back, enable the autorole again with the command
Expand All @@ -232,10 +232,10 @@ Some roles are not added to the new members
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This can happens if the role hierarchy is modified after the roles got linked.
Remember that a bot/member can only add roles that are below him in the role
Remember that a bot/member can only add roles that are below them in the role
hierarchy.

Modify the role hirearchy and make sure all necessary roles are **below**
Modify the role hierarchy and make sure all necessary roles are **below**
the bot's highest role. If it still doesn't work, try to link the role again.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down
18 changes: 9 additions & 9 deletions docs/tournaments.rst
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ manage everything:
the stage list, banning stages/characters...

* The bot checks activity in the channels. If one player doesn't talk within
the first minutes, he will be disqualified.
the first minutes, they will be disqualified.

* Once the players have done their match, they can set their score with a
command.
Expand Down Expand Up @@ -96,10 +96,10 @@ Add to all of this tools for streamers too!
* If a match is launched but attached to a streamer, it will be paused until
it is their turn. They will then receive the informations set above.

* The streamer has access to the channels, so that he can also communicate
* The streamer has access to the channels, so that they can also communicate
with the players.

This was tested with tournaments up to 256 players, and I can personnaly
This was tested with tournaments up to 256 players, and I can personally
confirm this makes the organizers' job way easier.

^^^^^^^^^^^^^^^^^^
Expand Down Expand Up @@ -171,8 +171,8 @@ Next step, the roles with ``[p]tset roles``:
Some additional settings you can set:

* ``[p]tset delay`` defines when a player is considered AFK and must be
disqualified. This only listens for his first message in his channel, once
someone spoke, he's safe. Defaults to 10 minutes.
disqualified. This only listens for their first message in their channel, once
someone spoke, they're safe. Defaults to 10 minutes.

* ``[p]tset start_bo5`` defines at what point you want to move from BO3
format to BO5.
Expand Down Expand Up @@ -362,8 +362,8 @@ categories.

----

First thing to note: if a player does not talk in his channel within the 10
first minutes after the channel creation, he will be disqualified (you can
First thing to note: if a player does not talk in their channel within the 10
first minutes after the channel creation, they will be disqualified (you can
customize or disable this delay with ``[p]tset delay``). You are warned of this
in the T.O. channel.

Expand All @@ -383,7 +383,7 @@ being terminated (score set), relaunched (score reset) or even cancelled
(score reset with child matches ongoing). This will also be announced in the
T.O. channel.

The winner of a match will set his score with the ``[p]win`` command, inside
The winner of a match will set their score with the ``[p]win`` command, inside
the scores channel if set.

Players can use at any time ``[p]ff`` for forfeiting a match (they can still
Expand Down Expand Up @@ -571,7 +571,7 @@ task. This is a task launched when you start your tournament that runs every
* Launch pending matches

* Check for AFK players (someone didn't talk within the first 10 minutes in
his channel, configurable with ``[p]tset delay``), and delete inactive
their channel, configurable with ``[p]tset delay``), and delete inactive
channels (score reported and no message sent for 5 minutes)

* Call streams
Expand Down
22 changes: 11 additions & 11 deletions docs/warnsystem.rst
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ the rewrite of the BetterMod cog for Red V3. Here is a quick start guide.
1. Simple warning
2. Server mute (can be temporary)
3. Kick
4. Softban (ban then quickly unban the member, to clean his messages)
4. Softban (ban then quickly unban the member, to clean their messages)
5. Ban (can be temporary, and also ban members not on the server)

Each warn will send a DM to the warned member, a log in the modlog channel,
Expand All @@ -90,7 +90,7 @@ for your bot:

* **Role removal:** Discord permissions can be a pain in the ass, and mute
with role can be a problem. The most common situation is where a member
has a role that grants him write access in a channel and the mute role
has a role that grants them write access in a channel and the mute role
cannot overwrite that. This is why this option exists, enable it with
``[p]warnset removeroles`` and all roles will be removed and reassigned
once the mute ends or if the warning is deleted.
Expand All @@ -106,7 +106,7 @@ for your bot:

* **Hierarchy:** To make sure your moderators doesn't abuse with their
permissions, you can enable hierarchy protection. This means that the bot
will block a moderator trying to warn a member higher than him in the role
will block a moderator trying to warn a member higher than them in the role
hierarchy, like with the manual Discord actions.

* **Multiple modlogs:** If you want to send all warnings, mutes, kicks and
Expand Down Expand Up @@ -236,8 +236,8 @@ Mutes the member with a role on the server.
command to create/assign the role.

The member will get the mute role for the specified time. You can edit this
role as you like to allow him some channels for example. Removing his role
manually will cancel his mute without problem, but the warn will still exist.
role as you like to allow them some channels for example. Removing their role
manually will cancel the mute without problems, but the warn will still exist.
Removing the warn with the ``[p]warnings`` command will also remove the role
if needed.

Expand Down Expand Up @@ -320,7 +320,7 @@ warn 4
**Description**

Bans the member from the server, then unbans him, to mass delete his messages.
Bans the member from the server, then unbans them, to mass delete their messages.
This can be considered as a kick with a massive cleanup of messages.

The bot will delete 7 days of messages by default, this can be changed with the
Expand Down Expand Up @@ -797,7 +797,7 @@ Configures the automod based on member's modlog. This allows automatic actions
based on previous given warnings.

For example, you can make it so if someone receives 3 level 1 warnings within a
week, he will automatically get a level 3 (kick) warning with the reason you
week, they will automatically get a level 3 (kick) warning with the reason you
defined. A lot of options are possible.

Use ``[p]automod warn add`` to add a new rule. This will open an interactive
Expand Down Expand Up @@ -1212,7 +1212,7 @@ warnset mute
**Description**

Creates a role used for muting the members, or set an existing one as the mute
role. If you don't provide any role, the bot will create one below his top
role. If you don't provide any role, the bot will create one below its top
role, then deny the "Send messages" and "Add reactions" on all text channels.
**Editing all channels takes a long time, depending on the number of text
channels you have on the server,** so don't worry if nothing happens for about
Expand Down Expand Up @@ -1295,10 +1295,10 @@ warnset removeroles
**Description**

Defines if the bot should remove all roles from a member when he gets muted
Defines if the bot should remove all roles from a member when they get muted
(warn 2). This can be useful because, in some cases, some channels can still
be accessible to a muted member (for example, when he has a role that grants
him access in a private channel).
be accessible to a muted member (for example, when they have a role that grants
them access to a private channel).

This behaviour is due to Discord's permissions system ; the mute role is denied
from sending messages and adding reactions in all text channels, but if another
Expand Down
2 changes: 1 addition & 1 deletion roleinvite/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This is the RoleInvite cog for Red. This is a quite different autorole cog, which works depending on the invite the member used to join!

You can set the autorole system so when a member joins with the invite x, he gets the role y. You can also set it so when someone joins with an unlinked invite, he gets another role. There's even a setting to always give a role to new members regardless of the invite used.
You can set the autorole system so when a member joins with the invite x, they get the role y. You can also set it so when someone joins with an unlinked invite, they get another role. There's even a setting to always give a role to new members regardless of the invite used.

There is a detailed documentation, covering all commands in details, please read this if you want to know how commands works in details: https://laggron.red/roleinvite.html

Expand Down
2 changes: 1 addition & 1 deletion roleinvite/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
0,
0
],
"description": "Autorole based on the invite the user used.\nIf the user joined using invite x, he will get a list of roles linked to invite x.",
"description": "Autorole based on the invite the user used.\nIf the user joined using invite x, they will get a list of roles linked to invite x.",
"hidden": false,
"install_msg": "Thanks for installing roleinvite. Please check the wiki for all informations about the cog.\nhttps://laggrons-dumb-cogs.readthedocs.io/roleinvite.html\nEverything you need to know about setting up the cog is here.\nFor a quick guide, type `[p]help RoleInvite`, just keep in mind that the bot needs the `Manage server` and the `Add roles` permissions.",
"required_cogs": {},
Expand Down
2 changes: 1 addition & 1 deletion roleinvite/roleinvite.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ async def roles_iteration(invite: str):
await ctx.send(
_(
"The role `{}` is now linked to the default autorole system. "
"(new members will always get this role, whatever invite he used.)"
"(new members will always get this role, whatever invite they used.)"
).format(role.name)
)
return
Expand Down
2 changes: 1 addition & 1 deletion say/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Say

This is the Say cog for Red, which allows you to make your bot send text or event upload images. It can also be used as a bridge in DM so you can see what the bot sees, and give him messages to send.
This is the Say cog for Red, which allows you to make your bot send text or event upload images. It can also be used as a bridge in DM so you can see what the bot sees, and give it messages to send.

There is a detailed documentation, covering all commands in details, please read this if you want to know how commands works in details: https://laggron.red/say.html

Expand Down
10 changes: 5 additions & 5 deletions tournaments/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ The cog supports the registration and check-in of the tournament, including seed
Then, once the game starts, just sit down and watch ~~the magic~~ the bot manage everything:
- For each match, a channel will be created with the two players of this match.
- They have their own place for discussing about the tournament, checking the stage list, banning stages/characters...
- The bot checks activity in the channels. If one player doesn't talk within the first minutes, he will be disqualified.
- The bot checks activity in the channels. If one player doesn't talk within the first minutes, they will be disqualified.
- Once the players have done their match, they can set their score with a command.
- Players can also forfeit a match, or disqualify themselves.
- As the tournament goes on, outdated channels will be deleted, and new ones will be created for the upcoming matches, the bot is constantly checking the bracket.
Expand All @@ -24,9 +24,9 @@ Add to all of this tools for streamers too!
- Streamers can add themselves to the tournament (not as a player) and comment some matches
- They will choose the matches they want to cast, and also provide informations to players (for example, the room code and ID for smash bros)
- If a match is launched but attached to a streamer, it will be paused until it is their turn. They will then receive the informations set above.
- The streamer has access to the channels, so that he can also communicate with the players.
- The streamer has access to the channels, so that they can also communicate with the players.

This was tested with tournaments up to 256 players, and I can personnaly confirm this makes the organizers' job way easier.
This was tested with tournaments up to 256 players, and I can personally confirm this makes the organizers' job way easier.

There is a detailed documentation, covering all commands in details, please read this if you want to know how commands works in details: https://laggron.red/tournaments.html

Expand Down Expand Up @@ -115,9 +115,9 @@ Now the interesting part, the `objects` folder:
- `__init__.py` Nothing lol
- `base.py` The core of your tournaments. There are 4 classes :
- `Tournament` The first object created, it contains all the config you set, plus infos from the API. Then there are a lot of various methods, like the loop task ran during a tournament, code for launching the sets, sending messages, checking for timeout, adding a player... Then there are abstract methods, they represent API calls but just do nothing at this point, but we'll define them in the next file. There are also 3 lists for each of the objects described below. If you want to delete an object, remove it from those lists.
- `Participant` Represents a participant in the tournament. It inherits from `discord.Member` and adds some attributes and methods useful for our tournament, such as its player ID on the bracket, his current match, and see if he spoke (AFK check). There are once again abstract methods representing API calls, like DQing.
- `Participant` Represents a participant in the tournament. It inherits from `discord.Member` and adds some attributes and methods useful for our tournament, such as its player ID on the bracket, their current match, and see if they spoke (AFK check). There are once again abstract methods representing API calls, like DQing.
- `Match` Represents a match. It is associated to two participants, and contains the stuff for a match (setting scores, announcing changes, checking for DQ)... It is usually associated with a `discord.TextChannel` (if creating the channel failed, we move the stuff in DM). Still more abstract methods for API calls.
- `Streamer` Very small object that represents a streamer, and doesn't have API calls (we keep that for ourselves for now). It contains a list of the sets he will comment, and additional info.
- `Streamer` Very small object that represents a streamer, and doesn't have API calls (we keep that for ourselves for now). It contains a list of the sets they will comment, and additional info.
- `challonge.py` This file has 3 classes: `ChallongeTournament`, `ChallongeParticipant` and `ChallongeMatch`. You guessed it, they all inherit from the objects in `base.py` and will define those abstract methods with the actual API calls to Challonge. Stuff in here is specific to Challonge, it treats raw data from the Challonge API and adapts it to the structure of the base objects.

You may have guessed it, using this structure, with base classes that are inherited, allows an easy integration for more services. If you have another great website for tournaments and brackets, create a new file, adapt the API data to the classes, and then there will be very few code to change, everything will work as intended!
Expand Down

0 comments on commit 23746ac

Please sign in to comment.