diff --git a/litecord/blueprints/channels.py b/litecord/blueprints/channels.py index c3cb7dc..dea2411 100644 --- a/litecord/blueprints/channels.py +++ b/litecord/blueprints/channels.py @@ -326,8 +326,7 @@ async def channel_ack(user_id, guild_id, channel_id, message_id: int = None): (user_id, channel_id, last_message_id, mention_count) VALUES ($1, $2, $3, 0) - ON CONFLICT - DO UPDATE user_read_state + ON CONFLICT DO UPDATE SET last_message_id = $3, mention_count = 0 WHERE user_id = $1 AND channel_id = $2 """, user_id, channel_id, message_id) diff --git a/litecord/blueprints/users.py b/litecord/blueprints/users.py index 49d8cb6..32bd8f0 100644 --- a/litecord/blueprints/users.py +++ b/litecord/blueprints/users.py @@ -446,20 +446,17 @@ async def patch_guild_settings(guild_id: int): continue for field in chan_overrides: - res = await app.db.execute(f""" - UPDATE guild_settings_channel_overrides - SET {field} = $1 - WHERE user_id = $2 - AND guild_id = $3 - AND channel_id = $4 - """, chan_overrides[field], user_id, guild_id, chan_id) - - if res == 'UPDATE 0': - await app.db.execute(f""" - INSERT INTO guild_settings_channel_overrides - (user_id, guild_id, channel_id, {field}) - VALUES ($1, $2, $3, $4) - """, user_id, guild_id, chan_id, chan_overrides[field]) + await app.db.execute(f""" + INSERT INTO guild_settings_channel_overrides + (user_id, guild_id, channel_id, {field}) + VALUES + ($1, $2, $3, $4) + ON CONFLICT DO UPDATE + SET {field} = $4 + WHERE user_id = $1 + AND guild_id = $2 + AND channel_id = $3 + """, user_id, guild_id, chan_id, chan_overrides[field]) settings = await app.storage.get_guild_settings_one(user_id, guild_id)