bot
bot copied to clipboard
Shoutout our patreon supporters!
In a recent staff meeting we agreed that we weren't giving enough love to our patreon supporters.
As such, we have agreed that we should have the bot post in #community-meta every time someone new receives one of the patreon roles, along with posting once a month (on the 1st, just after the patreon subscription cycle) with a full list of all of our supporters.
The post when we get a new supporter should include:
- A mention for the user who has started supporting
- What tier they are supporting us
- A link to our patreon page
The monthly post should include:
- A 3 column embed (
embed.add_field()makes this easy), one for each tier - The names of all of our current supporters, under the appropriate tier column
- A link to our patreon page
The role IDs are:
- Tier 1 - 505040943800516611
- Tier 2 - 743399725914390631
- Tier 3 - 743400204367036520
The link to our Patreon is https://www.patreon.com/python_discord
Patreon subscription cycle seems to be the 1st of the month in PST, so posting the monthly embed at ~1700 UTC seems like a good time to do it.
Hi! I would like to implement this! This will be my first contribution, so I will probably have a lot of questions!
For the role added, I would guess the best method would be to listen for on_member_update?
Then for the monthly one, using Role.members?
I guess the #community-meta channel is in config.yml at guilds-channels-meta (meta being in the # Discussion comment)?
Should the monthly one get pinned?
Great! I'll assign you to the issue. For reference what is your name on Discord? Also, feel free to ask questions in #dev-contrib if you need any further help!
For the role added, I would guess the best method would be to listen for on_member_update?
Yes, that would be the way to do it. Keep in mind that we'd only want to send a message for when a new patron subscribes, rather when someone stops being a patron. The modlog cog currently watches for role changes, so if you're looking for implementation reference, that could be a good start. bot/exts/moderation/modlog:457-481
Then for the monthly one, using Role.members
Yup, that sounds like a good plan.
I guess the #community-meta channel is in config.yml at guilds-channels-meta (meta being in the # Discussion comment)?
Yes, that's the channel! I don't think we should pin it, since then we'd need to store each message, so it can be unpinned next month. I think just posting monthly is great :D
Great! I'll assign you to the issue. For reference what is your name on Discord? Also, feel free to ask questions in #dev-contrib if you need any further help!
I am mathstrains19#2057 on discord!
Ok!
For the role added, I would guess the best method would be to listen for on_member_update?
Yes, that would be the way to do it. Keep in mind that we'd only want to send a message for when a new patron subscribes, rather when someone stops being a patron. The modlog cog currently watches for role changes, so if you're looking for implementation reference, that could be a good start.
bot/exts/moderation/modlog:457-481
Will have a look at that section!
Then for the monthly one, using Role.members
Yup, that sounds like a good plan.
I guess the #community-meta channel is in config.yml at guilds-channels-meta (meta being in the # Discussion comment)?
Yes, that's the channel! I don't think we should pin it, since then we'd need to store each message, so it can be unpinned next month. I think just posting monthly is great :D
Ok! I will post on here with some images of what the messages are looking like so you can review and suggest some changes if wanted!
Had an idea - when someone changes their patreon tier to a higher level, the bot will also message.
However, this would only work if the new role was added first, and then the old role was removed.
How reliable would this be?
If it's a case of a computer changing the roles automatically, then we can make sure the requests are done in the right order.
If it's a case of a human manually doing the change, then I could provide a command that does the change, making sure it does in the right order?
Also, a few potential commands that could come with this:
patreon - provides a link to the patreon page, and a short description
supporters - basically the same as the monthly update, just for when the command is run
Yea, Patreon automatically assigns the role and removes the old one, so that should just work without change, since it just looks like a new tier 2 supporter. I don't think we should add extra logic to catch people who upgrade, just treat them as a new tier 2 or 3 supporter.
The commands seem like a good idea.