示例#1
0
        public async Task DisableRaidRecovery()
        {
            if (!RaidRecoveryTracker.Exists(Context.Channel.Id))
            {
                await BetterReplyAsync($"The raid recovery system is not enabled. Use `@{Context.Guild.CurrentUser.Username} rr enable` to enable.");

                return;
            }

            int previousSlowModeInterval = RaidRecoveryTracker.PreviousSlowModeInterval(Context.Channel.Id);

            if (Context.Channel is SocketTextChannel channel)
            {
                await channel.ModifyAsync(x => { x.SlowModeInterval = previousSlowModeInterval; });
            }

            RaidRecoveryTracker.Untrack(Context.Channel.Id);

            EmbedBuilder builder = new EmbedBuilder()
            {
                Color       = new Color(Constants.GeneralColor.R, Constants.GeneralColor.G, Constants.GeneralColor.B),
                Title       = "Raid Recovery System Disabled",
                Description = "This channel has returned to normal."
            };

            LoggingManager.Log.Warn($"Raid recovery system disabled. {BetterLogFormat()}");
            await BetterReplyAsync(builder.Build());
            await LogMessageEmbedAsync("Raid recovery system disabled");
        }