fix(bot): try fetching messages from database before deleting
This commit is contained in:
parent
8432f00996
commit
b13659817d
@ -44,7 +44,7 @@ public partial class ModelRepository
|
||||
|
||||
public async Task DeleteMessage(ulong id)
|
||||
{
|
||||
_logger.Warning("not deleting message from database because of database issues", id);
|
||||
if ((await GetMessage(id)) == null)
|
||||
return;
|
||||
|
||||
var query = new Query("messages").AsDelete().Where("mid", id);
|
||||
@ -55,12 +55,13 @@ public partial class ModelRepository
|
||||
|
||||
public async Task DeleteMessagesBulk(IReadOnlyCollection<ulong> ids)
|
||||
{
|
||||
_logger.Warning("not bulk deleting {count} messages from database because of database issues", ids.Count, ids);
|
||||
return;
|
||||
var q = new Query("messages").Select("mid").WhereIn("mid", ids.Select(id => (long)id).ToArray());
|
||||
var realIds = await _db.Query<long>(q);
|
||||
if (realIds.Count() == 0) return;
|
||||
|
||||
// Npgsql doesn't support ulongs in general - we hacked around it for plain ulongs but tbh not worth it for collections of ulong
|
||||
// Hence we map them to single longs, which *are* supported (this is ok since they're Technically (tm) stored as signed longs in the db anyway)
|
||||
var query = new Query("messages").AsDelete().WhereIn("mid", ids.Select(id => (long)id).ToArray());
|
||||
var query = new Query("messages").AsDelete().WhereIn("mid", realIds);
|
||||
var rowCount = await _db.ExecuteQuery(query, messages: true);
|
||||
if (rowCount > 0)
|
||||
_logger.Information("Bulk deleted messages ({FoundCount} found) from database: {MessageIds}", rowCount,
|
||||
|
Loading…
Reference in New Issue
Block a user