Add auto kick functionality #502

Merged
Vylpes merged 10 commits from feature/485-auto-kick into hotfix/3.2.4 2025-01-03 17:47:16 +00:00
Showing only changes of commit 2b4ae91584 - Show all commits

View file

@ -0,0 +1,25 @@
import AutoKickConfig from "../database/entities/AutoKickConfig";
export default class AutoKickHelper {
public static async SetSetting(serverId: string, roleId: string, kickTime: number, noticeTime?: number, noticeChannelId?: string) {
const config = await AutoKickConfig.FetchOneByServerIdAndRoleId(serverId, roleId);
if (!config) {
const newConfig = new AutoKickConfig(serverId, roleId, kickTime, noticeTime, noticeChannelId);
await newConfig.Save(AutoKickConfig, newConfig);
return;
}
config.UpdateBasicDetails(roleId, kickTime, noticeTime, noticeChannelId);
await config.Save(AutoKickConfig, config);
}
public static async ResetSetting(serverId: string, roleId: string) {
const config = await AutoKickConfig.FetchOneByServerIdAndRoleId(serverId, roleId);
if (!config) return;
await AutoKickConfig.Remove(AutoKickConfig, config);
}
}