using System.Threading.Tasks;
using Discord;
using Discord.WebSocket;
namespace NadekoBot.Common.ModuleBehaviors
{
    /// 
    /// Implemented by modules which can execute something and prevent further commands from being executed.
    /// 
    public interface IEarlyBlockingExecutor
    {
        /// 
        /// Try to execute some logic within some module's service.
        /// 
        /// Whether it should block other command executions after it.
        Task TryExecuteEarly(DiscordSocketClient client, IGuild guild, IUserMessage msg);
    }
}