create custom channel discord implementation
This commit is contained in:
@@ -7,10 +7,7 @@ import { logger } from "lib/common-logger";
|
||||
|
||||
client.on(Events.GuildMemberAdd, async (member: GuildMember) => {
|
||||
logger.info(`${member.user.username} joined the server}`);
|
||||
if (member.user.bot) {
|
||||
// Don't send a welcome message for bots (sorry tom)
|
||||
return;
|
||||
}
|
||||
if (member.user.bot) return;
|
||||
|
||||
const channel = await client.channels.fetch(
|
||||
process.env.NODE_ENV === "production"
|
||||
|
||||
@@ -3,3 +3,4 @@ import "./stop.listener";
|
||||
import "./messages/messages.listener";
|
||||
import "./reactions/reactions.listener";
|
||||
import "./guild-members/guild-members.listener";
|
||||
import "./voice-state/voice-state.listener";
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
import { Events, type GuildMember, User } from "@fluxerjs/core";
|
||||
import client from "lib/client";
|
||||
import { logger } from "lib/common-logger";
|
||||
|
||||
interface VoiceStateUpdate {
|
||||
guild_id?: string;
|
||||
channel_id: string | null;
|
||||
user_id: string;
|
||||
connection_id: string;
|
||||
session_id?: string;
|
||||
deaf: boolean;
|
||||
mute: boolean;
|
||||
self_deaf: boolean;
|
||||
self_mute: boolean;
|
||||
self_video: boolean;
|
||||
self_stream: boolean;
|
||||
is_mobile: boolean;
|
||||
viewer_stream_keys?: string[];
|
||||
version: number;
|
||||
}
|
||||
|
||||
client.on(Events.VoiceStateUpdate, async (data: VoiceStateUpdate) => {
|
||||
// logger.debug(data);
|
||||
// return;
|
||||
const guildId = data.guild_id;
|
||||
if (!guildId) return;
|
||||
|
||||
const guild = await client.guilds.fetch(guildId);
|
||||
if (!guild) return;
|
||||
|
||||
const userId = data.user_id;
|
||||
if (!userId) return;
|
||||
|
||||
const channelId = data.channel_id;
|
||||
if (!channelId) {
|
||||
logger.debug("!channelId");
|
||||
return;
|
||||
}
|
||||
logger.debug(`channelId: ${channelId}`);
|
||||
|
||||
const member = guild.members.get(userId) ?? (await guild.fetchMember(userId));
|
||||
if (!channelId) {
|
||||
logger.debug("!channelId");
|
||||
return;
|
||||
}
|
||||
logger.debug(`channelId: ${channelId}`);
|
||||
|
||||
const channel =
|
||||
client.channels.get(channelId) ?? (await client.channels.fetch(channelId));
|
||||
if (!channel) {
|
||||
logger.debug("!channel");
|
||||
return;
|
||||
}
|
||||
logger.debug(`channel: ${channel}`);
|
||||
|
||||
if (!member?.user) {
|
||||
logger.debug("!member?.user");
|
||||
return;
|
||||
}
|
||||
logger.debug(`member?.user${member?.user}`);
|
||||
|
||||
logger.debug("user joined vc");
|
||||
if (!member?.user.bot) {
|
||||
logger.debug("!member.user.bot");
|
||||
return;
|
||||
}
|
||||
logger.debug("user joined vc");
|
||||
});
|
||||
Reference in New Issue
Block a user