first commit

This commit is contained in:
2025-06-21 15:13:58 -05:00
commit 07f75bbd93
37 changed files with 3125 additions and 0 deletions

44
embeds/modLogs.js Normal file
View File

@ -0,0 +1,44 @@
const { EmbedBuilder } = require('discord.js')
function modLogEmbed(action, member, reason ) {
let title, description, color;
//console.log(reason);
switch (action) {
case "ban":
title = ":hammer: User Banned";
description = `**User:** **${member.user.username}** has been banned.`;
reason2 = `**Reason:** ${reason}`;
color = "#FF0000";
break;
case "unban":
title = ":tada::party_popper: User Unbanned";
description = `**User:** **${member.user.username}** has been unbanned.`;
reason2 = `**Reason:** ${reason}`;
color = "#00FF00";
break;
case "mute":
return muteEmbed(member);
case "unmute":
return unmuteEmbed(member);
case "warn":
return warnEmbed(member);
default:
return null;
}
return new EmbedBuilder()
.setTitle(title)
.setDescription(`${description}\n${reason2}`)
.setColor(color)
.setTimestamp()
.setFooter({ text: `User ID: ${member.user.id}` })
.setThumbnail(member.user.displayAvatarURL({ dynamic: true }));
}
module.exports = { modLogEmbed };

19
embeds/nowPlaying.js Normal file
View File

@ -0,0 +1,19 @@
const { EmbedBuilder } = require('discord.js')
function nowPlayingEmbed(queue) {
if (!queue || queue.length === 0) {
return new EmbedBuilder()
.setTitle('**🎵 Now Playing:**')
.setDescription('No song is currently playing.')
.setColor('Grey');
}
const currentSong = queue[0]
return new EmbedBuilder()
.setTitle('**🎵 Now Playing:**')
.setDescription(`${currentSong.songName}\n**Requested By:** ${currentSong.getMember || 'Unknown User'}`)
.setColor('Green')
}
module.exports = { nowPlayingEmbed }

15
embeds/queue.js Normal file
View File

@ -0,0 +1,15 @@
const { EmbedBuilder } = require('discord.js')
function musicQueueEmbed(queue) {
const songLines = queue.map((item, index) =>
index === 0 ? `**🎵 Now Playing:** ${item.songName} **Requested By:** ${item.getMember}\n` : `${index + 1}. ${item.songName} - **Requested By:** ${item.getMember}\n`
);
return new EmbedBuilder()
.setTitle('Current Queue')
.setDescription(songLines.join('\n') || 'No Songs in the queue')
.setColor('Blue')
}
module.exports = { musicQueueEmbed }

33
embeds/userStreaming.js Normal file
View File

@ -0,0 +1,33 @@
const { EmbedBuilder, ButtonBuilder, ActionRowBuilder } = require('discord.js');
function userStreamingEmbed(user, status) {
const username = user?.username || 'Unknown User';
const avatarURL = user?.displayAvatarURL({ dynamic: true }) || null;
const streamTitle = status?.details || 'No title available';
const gameName = status?.name || 'No game available';
const streamURL = status?.url || 'No URL available';
const embed = new EmbedBuilder()
.setTitle('📡 Live Stream Alert!')
.setDescription(`**${username}** Just went Live on Twitch!`)
.addFields( { name: 'Stream Title', value: streamTitle, inline: false }, { name: 'Game / Category', value: gameName, inline: true } )
.setColor('Green')
.setTimestamp()
.setFooter({ text: 'User Streaming Status' })
.setThumbnail(avatarURL);
const streamButton = new ButtonBuilder()
.setLabel('🎥 Watch Stream')
.setURL(streamURL)
.setStyle(5);
const row = new ActionRowBuilder()
.addComponents(streamButton);
return { embeds: [embed], components: [row] };
}
module.exports = {
userStreamingEmbed
};

32
embeds/welcomeMember.js Normal file
View File

@ -0,0 +1,32 @@
const { GuildMember, EmbedBuilder } = require("discord.js");
/**
* @param {Client} client
* @param {GuildMember} member
*/
function welcomeEmbed(member) {
let welcomeMessages = [
`Welcome to the server ${member.user.username}. We hope you enjoy your stay.`,
`We hope you brought pizza ${member.user.username}.`,
`Yippe.... Welcome to the server ${member.user.username}.`,
`A wild ${member.user.username} has appeared.`,
];
const randomMessage =
welcomeMessages[Math.floor(Math.random() * welcomeMessages.length)];
return new EmbedBuilder()
.setTitle("**New Member**")
.setDescription(randomMessage)
.addFields(
{ name: "Joined at", value: `${member.joinedAt}`, inline: true },
{
name: "User Created at",
value: `${member.user.createdAt}`,
inline: true,
}
)
.setThumbnail(member.user.avatarURL());
}
module.exports = { welcomeEmbed };