NadekoBot/NadekoBot.Core/Common/Attributes/OwnerOnlyAttribute.cs
2017-10-13 06:14:54 +02:00

17 lines
670 B
C#

using System;
using System.Threading.Tasks;
using Discord.Commands;
using NadekoBot.Core.Services;
namespace NadekoBot.Common.Attributes
{
public class OwnerOnlyAttribute : PreconditionAttribute
{
public override Task<PreconditionResult> CheckPermissions(ICommandContext context, CommandInfo executingCommand, IServiceProvider services)
{
var creds = (IBotCredentials)services.GetService(typeof(IBotCredentials));
return Task.FromResult((creds.IsOwner(context.User) || context.Client.CurrentUser.Id == context.User.Id ? PreconditionResult.FromSuccess() : PreconditionResult.FromError("Not owner")));
}
}
}