VRFlad's Streamer Bot Pronouns Extension

Sometimes you have an opportunity to really push the boundaries of the bot, but none have been so inspiring as this. I got a message from GoWMan who had the great idea to add in personal gender pronoun support into Streamer Bot.

Knowing there is already excellent support from Twitch Chat Pronouns (https://pronouns.alejo.io/), GoWMan and I quickly found that we could utilise this so people only need to set their Pronouns in one place. A bunch of coding, testing, some valuable help from the awesome Slashie101 later, and this awesome bot extension was created! Since then, I've had a few ideas to improve and HeyKatu suggested fully customisable Pronouns which has made it into V2 released on 14th February 2022!

Implementing support into Streamer Bot

Adding the pronoun support into Streamer Bot is easy and usually best followed by going through the Streamer Bot Bites video for this:
Use the import code as with most of the examples.
To learn how to import code, you can use this video.


To upgrade your own actions (also covered in the bot above), you simply add in one three two commands below:
- Pronouns - Add-In - (redeemer/firstwords)
- Pronouns - Add in - (target)
- Pronouns - Add in - (pronounUser variable)

You can then use a variable listed in the table below. With the import code there is an example action that uses the example sentences

How to pick which add in function to pick?
Look at which user you want to refer to.
If it's whoever triggered the command (even if it's an event like first message), then it's the redeemer option
For an action that is called with a viewer name and you want to use their pronouns, then it is target
If you want to manually specify a username in your actions and to pull pronouns data about them , then it's the pronounUser variable. Note: for this, you need to create an argument of pronounUser with the name that you want to check.

Reference

The variable names to use are in the table below.
Type Variable name Variable name (all lower case)
A Subject pronounSubject pronounSubjectLower
B Object pronounObject pronounObjectLower
C Possessive pronounPossessive pronounPossessiveLower
D Possessive Pronoun pronounPronoun pronounPronounLower
E Reflexive pronounReflexive pronounReflexiveLower
F Past tense pronounPastTense pronounPastTenseLower
G Current Tense pronounCurrentTense pronounCurrentTenseLower
H Plural N/A pronounPluralLower
The regular variables start with a capital letter, the lower ones are all lower case.
Note: pronounPluralLower is intended to be used on the end of words, for example he feels or they feel

Pronouns list below. Please note that there are many implementations and we've tried to be correct as possible and mean no disrespect with the below:
Pronoun A B C D E F G H
(He/Him) He Him His His Himself Was Is S
(Ae/Aer) Ae Aer Aer Aers Aerself Was Is S
(Any) They Them Their Theirs Themselves Were Are
(E/Em) E Em Eir Eirs Eirself Was Is S
(Fae/Faer) Fae Faer Faer Faers Faerself Were Are
(He/She) They Them Their Theirs Themselves Were Are
(He/Them) They Them Their Theirs Themselves Were Are
(It/Its) It It Its Its Itself Was Is S
(Other) They Them Their Theirs Themselves Were Are
(Per/Per) Per Per Per Pers Perself Was Is S
(She/Her) She Her Her Hers Herself Was Is S
(She/They) They Them Their Theirs Themselves Were Are
(They/Them) They Them Their Theirs Themselves Were Are
(Ve/Ver) Ve Ver Vis Vis Verself Was Is S
(Xe/Xem) Xe Xem Xyr Xyrs Xemself Was Is S
(Zie/Hir) Zie Hir Hir Hirs Hirself Was Is S
Not Set They Them Their Theirs Themselves Were Are
Fully custom pronouns!
With V2 (so if installed or upgraded on / after 14th February), there is a full custom pronoun support. This is put into a chat command (!pronounsoverride) which needs 7 variables, one for each in the table above.

For example, If you wanted to have a gender pronoun of (He/Them), but want the pronouns of (He/Him) otherwise, you would use the command:

!pronounsoverride (He/Them) He Him His His Himself Was Is S

There is a command for mods to set this for a viewer too, !modpronounsoverride and commands to reset the pronouns for users (!pronounsreset and !modpronounsreset)

Example sentences to know when to use which variable

- %pronounSubject% feel%pronounPlural% great that there is personal gender pronoun (PGP) support.
- We don't need to convince %pronounObjectLower% that the idea GoWMan came up with for PGP support was great.
- %pronounPossessive% favorite videos are VRFlad's Streamer Bot bites!
- If %pronounSubjectLower% %pronounPastTenseLower% able to help with this like Slashie101 did, then %pronounSubjectlower% would be proud of %pronounReflexiveLower%.
- %PronounCurrentTense% %pronounSubjectLower% pleased to be more inclusive like HeyKatu is with the idea of fully custom pronouns support? When %pronounSubjectLower% looked back on it, %pronounSubjectLower% %pronounPastTenseLower%!