fix(bot): fix a few NPEs

This commit is contained in:
alyssa 2024-10-19 07:27:12 +09:00
parent e88486cb41
commit d997f725e2
4 changed files with 5 additions and 3 deletions

View file

@ -78,7 +78,7 @@ public class ApplicationCommandProxiedMessage
var message = await ctx.Repository.GetFullMessage(messageId);
if (message != null)
{
if (message.System?.Id != ctx.System.Id && message.Message.Sender != ctx.User.Id)
if (message.Message.Sender != ctx.User.Id && (ctx.System != null && message.System?.Id != ctx.System.Id))
throw new PKError("You can only delete your own messages.");
await DeleteMessageInner(ctx, message.Message.Guild ?? 0, message.Message.Channel, message.Message.Mid, false);

View file

@ -400,7 +400,7 @@ public class ProxiedMessage
if (!showContent)
throw new PKError(noShowContentError);
if (message.System?.Id != ctx.System.Id && message.Message.Sender != ctx.Author.Id)
if (message.Message.Sender != ctx.Author.Id && (ctx.System != null && message.System?.Id != ctx.System.Id))
throw new PKError("You can only delete your own messages.");
await ctx.Rest.DeleteMessage(message.Message.Channel, message.Message.Mid);

View file

@ -112,6 +112,8 @@ public class Switch
await using var conn = await ctx.Database.Obtain();
var currentSwitch = await ctx.Repository.GetLatestSwitch(ctx.System.Id);
if (currentSwitch == null)
throw Errors.NoRegisteredSwitches;
var currentSwitchMembers = await ctx.Repository.GetSwitchMembers(conn, currentSwitch.Id).ToListAsync().AsTask();
if (ctx.MatchFlag("first", "f"))