38 lines
1.2 KiB
TypeScript
38 lines
1.2 KiB
TypeScript
import { locateUserEvt } from "../types";
|
|
import { sendAlerts } from "../utils/sendAlerts";
|
|
|
|
export const ChannelJoinAlertsEvt = locateUserEvt({
|
|
event: "voiceChannelJoin",
|
|
|
|
async listener(meta) {
|
|
if (meta.pluginData.state.usersWithAlerts.includes(meta.args.member.id)) {
|
|
sendAlerts(meta.pluginData, meta.args.member.id);
|
|
}
|
|
},
|
|
});
|
|
|
|
export const ChannelSwitchAlertsEvt = locateUserEvt({
|
|
event: "voiceChannelSwitch",
|
|
|
|
async listener(meta) {
|
|
if (meta.pluginData.state.usersWithAlerts.includes(meta.args.member.id)) {
|
|
sendAlerts(meta.pluginData, meta.args.member.id);
|
|
}
|
|
},
|
|
});
|
|
|
|
export const ChannelLeaveAlertsEvt = locateUserEvt({
|
|
event: "voiceChannelLeave",
|
|
|
|
async listener(meta) {
|
|
const triggeredAlerts = await meta.pluginData.state.alerts.getAlertsByUserId(meta.args.member.id);
|
|
const voiceChannel = meta.args.oldChannel as VoiceChannel;
|
|
|
|
triggeredAlerts.forEach(alert => {
|
|
const txtChannel = meta.pluginData.client.getChannel(alert.channel_id) as TextableChannel;
|
|
txtChannel.createMessage(
|
|
`🔴 <@!${alert.requestor_id}> the user <@!${alert.user_id}> disconnected out of \`${voiceChannel.name}\``,
|
|
);
|
|
});
|
|
},
|
|
});
|