feat: Basic message logger.
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
from cachetools import TTLCache
|
||||
|
||||
from data import Registry, RowModel, Table, WeakCache
|
||||
from data.columns import String, Timestamp, Integer, Bool
|
||||
|
||||
|
||||
class LoggingGuild(RowModel):
|
||||
"""
|
||||
Schema
|
||||
------
|
||||
"""
|
||||
_tablename_ = 'logging_guilds'
|
||||
_cache_ = {}
|
||||
|
||||
guildid = Integer(primary=True)
|
||||
webhook_url = String()
|
||||
created_at = Timestamp()
|
||||
_timestamp = Timestamp()
|
||||
|
||||
|
||||
class LoggedMessage(RowModel):
|
||||
"""
|
||||
Schema
|
||||
------
|
||||
"""
|
||||
_tablename_ = 'logged_messages'
|
||||
_cache_ = WeakCache(ref_cache=TTLCache(maxsize=5000, ttl=60*60*24))
|
||||
|
||||
messageid = Integer(primary=True)
|
||||
guildid = Integer()
|
||||
channelid = Integer()
|
||||
userid = Integer()
|
||||
created_at = Timestamp()
|
||||
deleted_at = Timestamp()
|
||||
|
||||
_timestamp = Timestamp()
|
||||
|
||||
|
||||
class MessageState(RowModel):
|
||||
"""
|
||||
Schema
|
||||
------
|
||||
"""
|
||||
_tablename_ = 'message_states'
|
||||
_cache_ = WeakCache(ref_cache=TTLCache(maxsize=5000, ttl=60*60*24))
|
||||
|
||||
stateid = Integer(primary=True)
|
||||
messageid = Integer()
|
||||
content = String()
|
||||
embeds_raw = String()
|
||||
|
||||
created_at = Timestamp()
|
||||
|
||||
|
||||
class LogAttachment(RowModel):
|
||||
"""
|
||||
Schema
|
||||
------
|
||||
"""
|
||||
_tablename_ = 'logged_attachments'
|
||||
_cache_ = WeakCache(ref_cache=TTLCache(maxsize=5000, ttl=60*60*24))
|
||||
|
||||
attachment_id = Integer(primary=True)
|
||||
proxy_url = String()
|
||||
url = String()
|
||||
content_type = String()
|
||||
filesize = Integer()
|
||||
filename = String()
|
||||
permalink = String()
|
||||
created_at = Timestamp()
|
||||
|
||||
|
||||
class LogData(Registry):
|
||||
logging_guilds = LoggingGuild.table
|
||||
logged_messages = LoggedMessage.table
|
||||
message_states = MessageState.table
|
||||
logged_attachments = LogAttachment.table
|
||||
|
||||
logged_messages_attachments = Table('logged_messages_attachments')
|
||||
|
||||
Reference in New Issue
Block a user