first commit
This commit is contained in:
47
events/presenceUpdate/checktwitchPres.js
Normal file
47
events/presenceUpdate/checktwitchPres.js
Normal file
@ -0,0 +1,47 @@
|
||||
const { Guild, GuildMember, Events } = require('discord.js')
|
||||
const db = require('../../db')
|
||||
|
||||
const { userStreamingEmbed } = require('../../embeds/userStreaming')
|
||||
|
||||
|
||||
module.exports = {
|
||||
name: Events.PresenceUpdate,
|
||||
async execute(oldPresence, newPresence) {
|
||||
|
||||
//console.log('Presence Update:', newPresence);
|
||||
|
||||
|
||||
|
||||
// Check if the user is streaming
|
||||
if (!newPresence.activities) return;
|
||||
const streamingActivity = newPresence.activities.find(activity => activity.type === 1);
|
||||
if (!streamingActivity) return;
|
||||
|
||||
const user = newPresence.user;
|
||||
|
||||
if (streamingActivity)
|
||||
{
|
||||
try {
|
||||
for (const [guildId, guild] of newPresence.client.guilds.cache) {
|
||||
const member = await guild.members.fetch(user.id).catch(() => null);
|
||||
if (!member) continue;
|
||||
const result = await db.query("SELECT channel_id FROM bot_channel WHERE guild_id = $1", [guildId]);
|
||||
if (result.rows.length === 0) continue;
|
||||
const channelId = result.rows[0].channel_id;
|
||||
const channel = guild.channels.cache.get(channelId);
|
||||
|
||||
if (channel && channel.isTextBased()) {
|
||||
const { embeds, components } = userStreamingEmbed(user, streamingActivity);
|
||||
await channel.send({
|
||||
embeds,
|
||||
components
|
||||
});
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error fetching user:', error);
|
||||
return;
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user