Files
nadekobot/src/NadekoBot/Common/Attributes/OwnerOnlyAttribute.cs
Kwoth ac9f84715b - Recreated cleanup migration with discorduser default values
- Using LinqToDb UpdateOrInsert for .EnsureUserCreated
2021-09-06 21:34:50 +02:00

20 lines
821 B
C#

using System;
using System.Threading.Tasks;
using Discord.Commands;
using Microsoft.Extensions.DependencyInjection;
using NadekoBot.Extensions;
using NadekoBot.Services;
namespace NadekoBot.Common.Attributes
{
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class)]
public sealed class OwnerOnlyAttribute : PreconditionAttribute
{
public override Task<PreconditionResult> CheckPermissionsAsync(ICommandContext context, CommandInfo executingCommand, IServiceProvider services)
{
var creds = services.GetRequiredService<BotCredsProvider>().GetCreds();
return Task.FromResult((creds.IsOwner(context.User) || context.Client.CurrentUser.Id == context.User.Id ? PreconditionResult.FromSuccess() : PreconditionResult.FromError("Not owner")));
}
}
}