Ejemplo n.º 1
0
        public async Task <RuntimeResult> DisableCurrentThread(string duration, [Remainder][Optional] string note)
        {
            if (CommandHandler.FeatureFlagDisabled(FeatureFlag.MODMAIL))
            {
                return(CustomResult.FromIgnored());
            }
            TimeSpan mutedTime = Extensions.GetTimeSpanFromString(duration);
            var      until     = DateTime.Now + mutedTime;
            var      manager   = new ModMailManager();
            await manager.LogForDisablingAction(Context.Channel, note, until, Context.User);

            manager.DisableModMailForUserWithExistingThread(Context.Channel, until);
            return(CustomResult.FromIgnored());
        }
Ejemplo n.º 2
0
        public async Task <RuntimeResult> DisableCurrentThread(params string[] arguments)
        {
            var    durationStr = arguments[0];
            string note;

            if (arguments.Length > 1)
            {
                string[] noteParts = new string[arguments.Length - 1];
                Array.Copy(arguments, 1, noteParts, 0, arguments.Length - 1);
                note = string.Join(" ", noteParts);
            }
            else
            {
                return(CustomResult.FromError("You need to provide a note."));
            }
            TimeSpan mutedTime = Extensions.GetTimeSpanFromString(durationStr);
            var      until     = DateTime.Now + mutedTime;
            var      manager   = new ModMailManager();
            await manager.LogForDisablingAction(Context.Channel, note, until);

            manager.DisableModMailForUserWithExistingThread(Context.Channel, until);

            return(CustomResult.FromIgnored());
        }