Re-mute user on join if they are still muted

This commit is contained in:
Zeva Rose 2021-07-01 15:27:11 -06:00
parent 16a0a591b4
commit d11916e5aa

View file

@ -1,7 +1,7 @@
from pathlib import Path from pathlib import Path
import pymongo import pymongo
from datetime import datetime, timedelta from datetime import datetime, timedelta
from discord import Intents from discord import Intents, Member
from discord.ext import commands from discord.ext import commands
from discord.ext.tasks import loop from discord.ext.tasks import loop
from discord.utils import find, get from discord.utils import find, get
@ -49,6 +49,25 @@ async def on_ready():
restart_ctx = None restart_ctx = None
@jarvis.event
async def on_member_join(user: Member):
guild = user.guild
db = DBManager(get_config().mongo).mongo
mutes = list(
db.jarvis.mutes.find(
{"active": True, "user": user.id, "guild": guild.id}
)
)
if mutes and len(mutes) >= 1:
mute_role = db.jarvis.settings.find_one(
{"guild": guild.id, "setting": "mute"}
)
role = guild.get_role(mute_role["role"])
user.add_roles(
role, reason="User is muted still muted from prior mute"
)
@jarvis.event @jarvis.event
async def on_guild_join(guild): async def on_guild_join(guild):
general = find(lambda x: x.name == "general", guild.channels) general = find(lambda x: x.name == "general", guild.channels)