37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
import { commandTypeHelpers as ct } from "../../../commandTypes";
|
|
import { slowmodeCmd } from "../types";
|
|
import { TextChannel } from "eris";
|
|
import humanizeDuration from "humanize-duration";
|
|
|
|
export const SlowmodeGetChannelCmd = slowmodeCmd({
|
|
trigger: "slowmode",
|
|
permission: "can_manage",
|
|
source: "guild",
|
|
|
|
signature: {
|
|
channel: ct.textChannel({ option: true }),
|
|
},
|
|
|
|
async run({ message: msg, args, pluginData }) {
|
|
const channel = args.channel || (msg.channel as TextChannel);
|
|
|
|
let currentSlowmode = channel.rateLimitPerUser;
|
|
let isNative = true;
|
|
|
|
if (!currentSlowmode) {
|
|
const botSlowmode = await pluginData.state.slowmodes.getChannelSlowmode(channel.id);
|
|
if (botSlowmode) {
|
|
currentSlowmode = botSlowmode.slowmode_seconds;
|
|
isNative = false;
|
|
}
|
|
}
|
|
|
|
if (currentSlowmode) {
|
|
const humanized = humanizeDuration(channel.rateLimitPerUser * 1000);
|
|
const slowmodeType = isNative ? "native" : "bot-maintained";
|
|
msg.channel.createMessage(`The current slowmode of <#${channel.id}> is **${humanized}** (${slowmodeType})`);
|
|
} else {
|
|
msg.channel.createMessage("Channel is not on slowmode");
|
|
}
|
|
},
|
|
});
|