1
Fork 0
mirror of https://github.com/wlinator/luminara.git synced 2024-10-02 22:23:13 +00:00
Lumi/services/moderation/modlog_service.py

31 lines
1 KiB
Python

from db.database import execute_query, select_query_one
from typing import Optional
class ModLogService:
def __init__(self):
pass
def set_modlog_channel(self, guild_id: int, channel_id: int) -> None:
query: str = """
INSERT INTO mod_log (guild_id, channel_id, is_enabled)
VALUES (%s, %s, TRUE)
ON DUPLICATE KEY UPDATE channel_id = VALUES(channel_id), is_enabled = TRUE, updated_at = CURRENT_TIMESTAMP
"""
execute_query(query, (guild_id, channel_id))
def disable_modlog_channel(self, guild_id: int) -> None:
query: str = """
UPDATE mod_log
SET is_enabled = FALSE, updated_at = CURRENT_TIMESTAMP
WHERE guild_id = %s
"""
execute_query(query, (guild_id,))
def fetch_modlog_channel_id(self, guild_id: int) -> Optional[int]:
query: str = """
SELECT channel_id FROM mod_log
WHERE guild_id = %s AND is_enabled = TRUE
"""
result = select_query_one(query, (guild_id,))
return result or None