feat: async cache

this breaks logging bot permissions to Sentry.

we haven't had a need to check those recently (permissions issues were because of broken cache), so this is fine for now
this should be re-added in the future though
This commit is contained in:
spiral
2021-11-17 20:41:02 -05:00
parent 45258d519e
commit e7f36eb31f
24 changed files with 134 additions and 126 deletions

View File

@@ -152,19 +152,19 @@ namespace PluralKit.Bot
}
}
public static Task<Channel> MatchChannel(this Context ctx)
public static async Task<Channel> MatchChannel(this Context ctx)
{
if (!MentionUtils.TryParseChannel(ctx.PeekArgument(), out var id))
return Task.FromResult<Channel>(null);
return null;
if (!ctx.Cache.TryGetChannel(id, out var channel))
return Task.FromResult<Channel>(null);
if (!await ctx.Cache.TryGetChannel(id, out var channel))
return null;
if (!DiscordUtils.IsValidGuildChannel(channel))
return Task.FromResult<Channel>(null);
return null;
ctx.PopArgument();
return Task.FromResult(channel);
return channel;
}
public static Guild MatchGuild(this Context ctx)