mirror of
https://gitlab.com/chicken-riders/RcGcDw.git
synced 2025-02-24 00:34:10 +00:00
Finished working on #150
This commit is contained in:
parent
b2be691ccc
commit
4bff2d2038
|
@ -85,5 +85,5 @@ class DiscordMessageMetadata:
|
||||||
self.webhook_url = webhook_url
|
self.webhook_url = webhook_url
|
||||||
self.new_data = new_data
|
self.new_data = new_data
|
||||||
|
|
||||||
def dump_ids(self):
|
def dump_ids(self) -> (int, int, int):
|
||||||
return self.page_id, self.rev_id, self.log_id
|
return self.page_id, self.rev_id, self.log_id
|
|
@ -131,7 +131,7 @@ def send_to_discord_webhook(data: Optional[DiscordMessage], metadata: DiscordMes
|
||||||
if AUTO_SUPPRESSION_ENABLED and metadata.method == "POST":
|
if AUTO_SUPPRESSION_ENABLED and metadata.method == "POST":
|
||||||
# TODO Prepare request with all of safety checks
|
# TODO Prepare request with all of safety checks
|
||||||
try:
|
try:
|
||||||
add_message_redaction_entry(*metadata.dump_ids(), result.json())
|
add_message_redaction_entry(*metadata.dump_ids(), repr(data), result.json().get("id"))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
logger.error("Couldn't get json of result of sending Discord message.")
|
logger.error("Couldn't get json of result of sending Discord message.")
|
||||||
except requests.exceptions.Timeout:
|
except requests.exceptions.Timeout:
|
||||||
|
|
|
@ -41,19 +41,19 @@ def redact_messages(ids: list, entry_type: int, to_censor: dict):
|
||||||
to_censor: dict - logparams of message parts to censor"""
|
to_censor: dict - logparams of message parts to censor"""
|
||||||
for event_id in ids:
|
for event_id in ids:
|
||||||
if entry_type == 0: # TODO check if queries are proper
|
if entry_type == 0: # TODO check if queries are proper
|
||||||
message = db_cursor.execute("SELECT content FROM messages INNER JOIN event ON event.msg_id = messages.message_id WHERE event.revid = ?;", (event_id, ))
|
message = db_cursor.execute("SELECT content, message_id FROM messages INNER JOIN event ON event.msg_id = messages.message_id WHERE event.revid = ?;", (event_id, ))
|
||||||
else:
|
else:
|
||||||
message = db_cursor.execute(
|
message = db_cursor.execute(
|
||||||
"SELECT content FROM messages INNER JOIN event ON event.msg_id = messages.message_id WHERE event.logid = ?;",
|
"SELECT content, message_id FROM messages INNER JOIN event ON event.msg_id = messages.message_id WHERE event.logid = ?;",
|
||||||
(event_id,))
|
(event_id,))
|
||||||
if settings["appearance"]["mode"] == "embed":
|
if settings["appearance"]["mode"] == "embed":
|
||||||
if message is not None:
|
if message is not None:
|
||||||
message = message.fetchone()
|
row = message.fetchone()
|
||||||
try:
|
try:
|
||||||
message = json.loads(message[0])
|
message = json.loads(row[0])
|
||||||
new_embed = message["embeds"][0]
|
new_embed = message["embeds"][0]
|
||||||
except ValueError:
|
except ValueError:
|
||||||
logger.error("Couldn't loads JSON for message data. What happened? Data: {}".format(message[0]))
|
logger.error("Couldn't loads JSON for message data. What happened? Data: {}".format(row[0]))
|
||||||
return
|
return
|
||||||
if "user" in to_censor:
|
if "user" in to_censor:
|
||||||
new_embed["author"]["name"] = _("Removed")
|
new_embed["author"]["name"] = _("Removed")
|
||||||
|
@ -66,5 +66,9 @@ def redact_messages(ids: list, entry_type: int, to_censor: dict):
|
||||||
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
|
||||||
|
db_cursor.execute("UPDATE messages SET content = ? WHERE message_id = ?;", (json.dumps(message), row[1],))
|
||||||
|
db_connection.commit()
|
||||||
logger.debug(message)
|
logger.debug(message)
|
||||||
send_to_discord(DiscordMessageRaw(message, settings["webhookURL"]), DiscordMessageMetadata("PATCH"))
|
send_to_discord(DiscordMessageRaw(message, settings["webhookURL"]+"/messages/"+str(row[1])), DiscordMessageMetadata("PATCH"))
|
||||||
|
else:
|
||||||
|
logger.debug("Could not find message in the database.")
|
||||||
|
|
|
@ -43,10 +43,12 @@ def check_tables():
|
||||||
create_schema()
|
create_schema()
|
||||||
|
|
||||||
|
|
||||||
def add_entry(pageid: int, revid: int, logid: int, message):
|
def add_entry(pageid: int, revid: int, logid: int, message, message_id: str):
|
||||||
"""Add an edit or log entry to the DB"""
|
"""Add an edit or log entry to the DB
|
||||||
db_cursor.execute("INSERT INTO messages (message_id, content) VALUES (?, ?)", (message.get("id"), json.dumps(message)))
|
:param message_id:
|
||||||
db_cursor.execute("INSERT INTO event (pageid, revid, logid, msg_id) VALUES (?, ?, ?, ?)", (pageid, revid, logid, message.get("id")))
|
"""
|
||||||
|
db_cursor.execute("INSERT INTO messages (message_id, content) VALUES (?, ?)", (message_id, message))
|
||||||
|
db_cursor.execute("INSERT INTO event (pageid, revid, logid, msg_id) VALUES (?, ?, ?, ?)", (pageid, revid, logid, message_id))
|
||||||
logger.debug("Adding an entry to the database (pageid: {}, revid: {}, logid: {}, message: {})".format(pageid, revid, logid, message))
|
logger.debug("Adding an entry to the database (pageid: {}, revid: {}, logid: {}, message: {})".format(pageid, revid, logid, message))
|
||||||
db_connection.commit()
|
db_connection.commit()
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue