mirror of
https://gitlab.com/chicken-riders/RcGcDw.git
synced 2025-02-23 00:24:09 +00:00
Fixes
This commit is contained in:
parent
0cdc0cef32
commit
5032716226
|
@ -71,6 +71,11 @@ class DiscordMessage:
|
||||||
self.webhook_object["username"] = name
|
self.webhook_object["username"] = name
|
||||||
|
|
||||||
|
|
||||||
|
class DiscordMessageRaw(DiscordMessage):
|
||||||
|
def __init__(self, content: dict):
|
||||||
|
self.webhook_object = content
|
||||||
|
|
||||||
|
|
||||||
class DiscordMessageMetadata:
|
class DiscordMessageMetadata:
|
||||||
def __init__(self, method, log_id = None, page_id = None, rev_id = None, webhook_url = None, new_data = None):
|
def __init__(self, method, log_id = None, page_id = None, rev_id = None, webhook_url = None, new_data = None):
|
||||||
self.method = method
|
self.method = method
|
||||||
|
|
|
@ -121,7 +121,7 @@ def send_to_discord_webhook(data: Optional[DiscordMessage], metadata: DiscordMes
|
||||||
elif metadata.method == "DELETE":
|
elif metadata.method == "DELETE":
|
||||||
req = requests.Request("DELETE", metadata.webhook_url, **standard_args)
|
req = requests.Request("DELETE", metadata.webhook_url, **standard_args)
|
||||||
elif metadata.method == "PATCH":
|
elif metadata.method == "PATCH":
|
||||||
req = requests.Request("PATCH", metadata.webhook_url, data=metadata.new_data, **standard_args)
|
req = requests.Request("PATCH", metadata.webhook_url, data=data, **standard_args)
|
||||||
try:
|
try:
|
||||||
time.sleep(rate_limit)
|
time.sleep(rate_limit)
|
||||||
rate_limit = 0
|
rate_limit = 0
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from src.configloader import settings
|
from src.configloader import settings
|
||||||
from src.discord.message import DiscordMessageMetadata, DiscordMessage
|
from src.discord.message import DiscordMessageMetadata, DiscordMessage, DiscordMessageRaw
|
||||||
from src.discord.queue import send_to_discord, messagequeue
|
from src.discord.queue import send_to_discord, messagequeue
|
||||||
from src.fileio.database import db_cursor, db_connection
|
from src.fileio.database import db_cursor, db_connection
|
||||||
|
|
||||||
|
@ -11,13 +11,11 @@ logger = logging.getLogger("rcgcdw.discord.redaction")
|
||||||
def delete_messages(matching_data: dict):
|
def delete_messages(matching_data: dict):
|
||||||
"""Delete messages that match given data"""
|
"""Delete messages that match given data"""
|
||||||
sql_conditions = ""
|
sql_conditions = ""
|
||||||
args = []
|
for key, value in matching_data.items():
|
||||||
for data in matching_data.items():
|
sql_conditions += "{} = ? AND".format(key)
|
||||||
sql_conditions += "? = ? AND"
|
|
||||||
args.extend(data)
|
|
||||||
else:
|
else:
|
||||||
sql_conditions = sql_conditions[0:-4] # remove last AND statement
|
sql_conditions = sql_conditions[0:-4] # remove last AND statement
|
||||||
to_delete = db_cursor.execute("SELECT msg_id FROM event WHERE {CON}".format(CON=sql_conditions), args)
|
to_delete = db_cursor.execute("SELECT msg_id FROM event WHERE {CON}".format(CON=sql_conditions), list(matching_data.values()))
|
||||||
if len(messagequeue) > 0:
|
if len(messagequeue) > 0:
|
||||||
messagequeue.delete_all_with_matching_metadata(**matching_data)
|
messagequeue.delete_all_with_matching_metadata(**matching_data)
|
||||||
msg_to_remove = []
|
msg_to_remove = []
|
||||||
|
@ -27,7 +25,8 @@ def delete_messages(matching_data: dict):
|
||||||
msg_to_remove.append(message[0])
|
msg_to_remove.append(message[0])
|
||||||
logger.debug("Removing following message: {}".format(message[0]))
|
logger.debug("Removing following message: {}".format(message[0]))
|
||||||
send_to_discord(None, DiscordMessageMetadata("DELETE", webhook_url=webhook_url))
|
send_to_discord(None, DiscordMessageMetadata("DELETE", webhook_url=webhook_url))
|
||||||
db_cursor.execute("DELETE FROM messages WHERE message_id = ?", (message[0],))
|
for msg in msg_to_remove:
|
||||||
|
db_cursor.execute("DELETE FROM messages WHERE message_id = ?", (msg,))
|
||||||
db_connection.commit()
|
db_connection.commit()
|
||||||
|
|
||||||
|
|
||||||
|
@ -50,14 +49,13 @@ def redact_messages(ids: list, entry_type: int, to_censor: dict):
|
||||||
new_embed = message["embeds"][0]
|
new_embed = message["embeds"][0]
|
||||||
if "user" in to_censor:
|
if "user" in to_censor:
|
||||||
new_embed["author"]["name"] = _("Removed")
|
new_embed["author"]["name"] = _("Removed")
|
||||||
del new_embed["author"]["url"]
|
new_embed["author"].pop("url")
|
||||||
if "action" in to_censor:
|
if "action" in to_censor:
|
||||||
new_embed["title"] = _("Removed")
|
new_embed["title"] = _("Removed")
|
||||||
del new_embed["url"]
|
new_embed.pop("url")
|
||||||
if "comment" in to_censor:
|
if "comment" in to_censor:
|
||||||
new_embed["description"] = _("Removed")
|
new_embed["description"] = _("Removed")
|
||||||
message["embeds"][0] = new_embed
|
message["embeds"][0] = new_embed
|
||||||
# TODO somehow send nly important data as PATCH?
|
send_to_discord(DiscordMessageRaw(message), DiscordMessageMetadata("PATCH"))
|
||||||
send_to_discord()
|
|
||||||
|
|
||||||
raise NotImplemented
|
raise NotImplemented
|
||||||
|
|
Loading…
Reference in a new issue