Add Bypass object, new filters

This commit is contained in:
Zeva Rose 2022-03-18 17:48:14 -06:00
parent 8e3276a815
commit c2a728e82a
2 changed files with 11 additions and 3 deletions

View file

@ -2,7 +2,7 @@
from datetime import datetime from datetime import datetime
import marshmallow as ma import marshmallow as ma
from umongo import Document, fields from umongo import Document, EmbeddedDocument, fields
from jarvis_core.db import JARVIS_INST from jarvis_core.db import JARVIS_INST
from jarvis_core.db.models.actions import Ban, Kick, Mute, Unban, Warning from jarvis_core.db.models.actions import Ban, Kick, Mute, Unban, Warning
@ -95,6 +95,14 @@ class Rolegiver(Document):
roles = fields.ListField(fields.IntegerField()) roles = fields.ListField(fields.IntegerField())
@JARVIS_INST.register
class Bypass(EmbeddedDocument):
"""Roleping bypass embedded object."""
users = fields.ListField(fields.IntegerField())
roles = fields.ListField(fields.IntegerField())
@JARVIS_INST.register @JARVIS_INST.register
class Roleping(Document): class Roleping(Document):
"""Roleping database object.""" """Roleping database object."""
@ -103,7 +111,7 @@ class Roleping(Document):
role = fields.IntegerField(required=True) role = fields.IntegerField(required=True)
guild = fields.IntegerField(required=True) guild = fields.IntegerField(required=True)
admin = fields.IntegerField(required=True) admin = fields.IntegerField(required=True)
bypass = fields.DictField() bypass = fields.EmbeddedField(Bypass)
created_at = fields.DateTimeField(default=datetime.utcnow) created_at = fields.DateTimeField(default=datetime.utcnow)

View file

@ -11,7 +11,7 @@ custom_emote = re.compile(r"<:\w+:(\d+)>$", flags=re.IGNORECASE)
valid_text = re.compile(r"[\w\s\-\\/.!@#$%^*()+=<>,\u0080-\U000E0FFF]*", flags=re.IGNORECASE) valid_text = re.compile(r"[\w\s\-\\/.!@#$%^*()+=<>,\u0080-\U000E0FFF]*", flags=re.IGNORECASE)
url = re.compile( url = re.compile(
r"https?:\/\/(www\.)?[-a-z0-9@:%._\+~#=]{1,256}\.[a-z0-9()]{1,6}\b([-a-z0-9()@:%_\+.~#?&//=]*)", r"(?:https?:\/\/(?:www\.)?)?(?P<domain>[-a-z0-9@:%._\+~#=]{1,256}\.[a-z0-9()]{1,6})\b(?:[-a-z0-9()@:%_\+.~#?&//=]*)",
flags=re.IGNORECASE, flags=re.IGNORECASE,
) )