Fix system lookup errors where user ID doesn't exist

This commit is contained in:
Ske 2020-05-02 15:33:05 +02:00
parent 720755844f
commit cad5b71f14

View File

@ -2,6 +2,7 @@ using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using DSharpPlus; using DSharpPlus;
using DSharpPlus.Exceptions;
using PluralKit.Core; using PluralKit.Core;
@ -346,12 +347,16 @@ namespace PluralKit.Bot
{ {
// Try to resolve the user ID to find the associated account, // Try to resolve the user ID to find the associated account,
// so we can print their username. // so we can print their username.
var user = await ctx.Rest.GetUserAsync(id); try
{
// Print descriptive errors based on whether we found the user or not. var user = await ctx.Rest.GetUserAsync(id);
if (user == null) return $"Account **{user.Username}#{user.Discriminator}** does not have a system registered.";
}
catch (NotFoundException)
{
// User not found, just return ID
return $"Account with ID `{id}` not found."; return $"Account with ID `{id}` not found.";
return $"Account **{user.Username}#{user.Discriminator}** does not have a system registered."; }
} }
return $"System with ID `{input}` not found."; return $"System with ID `{input}` not found.";