Finished Nuts/Honor/Quotes

This commit is contained in:
DeSqBlocki
2024-08-03 12:33:15 +02:00
parent 2925fb59dd
commit 9dac81db9b
19 changed files with 984 additions and 343 deletions
+5 -8
View File
@@ -1,4 +1,4 @@
const { EmbedBuilder, ActionRowBuilder, MentionableSelectMenuBuilder, UserSelectMenuBuilder, PermissionFlagsBits } = require("discord.js")
const { EmbedBuilder, ActionRowBuilder, UserSelectMenuBuilder, PermissionFlagsBits } = require("discord.js")
const { mClient } = require("../..")
require('dotenv').config()
@@ -20,17 +20,16 @@ module.exports = {
const member = interaction.message.guild.members.cache.get(target.user.id)
const memberRoles = member.roles.cache
.filter((roles) => roles.id !== interaction.message.guild.id)
.map((role) => role.toString())
// var userHas = member.permissions.toArray() // Scratched Idea for Menu
.filter((roles) => roles.id !== interaction.message.guild.id)
.map((role) => role.toString())
const description = String(`${target} - ${target.user.globalName ?? target.user.username} - ${target.user.id}\r\n\r\n${memberRoles}`).replaceAll(',', ' ')
embed.setTitle(`- User Stats -`)
.setDescription(description)
.addFields({
name: 'Current Honor Level:', value: `${theirHonorLevel?.honors ?? 0}`, inline: true
})
.setFooter({text: 'Honor Level updaten sich nicht automatisch!'})
.setFooter({ text: 'Honor Level updaten sich nicht automatisch!' })
}
const select = new ActionRowBuilder()
.addComponents(
@@ -39,8 +38,6 @@ module.exports = {
.setPlaceholder('Select a User')
)
const row = interaction.message.components[1]
await interaction.update({
embeds: [embed],
@@ -0,0 +1,47 @@
const { EmbedBuilder, ActionRowBuilder, UserSelectMenuBuilder, PermissionFlagsBits, RoleSelectMenuComponent, UserSelectMenuComponent } = require("discord.js")
const { mClient } = require("../..")
require('dotenv').config()
module.exports = {
name: 'quotes_list_mentionable',
description: 'handles quotes list mentionables',
async execute(interaction) {
const embedData = await interaction.message.embeds[0].data
const embed = new EmbedBuilder()
if (!interaction.members) {
embed.setTitle(embedData.title)
.setThumbnail(embedData.thumbnail.url)
.setDescription(embedData.description);
} else {
const target = await interaction.guild.members.fetch(interaction.members.keys().next().value)
const db = mClient.db(process.env.M_DB)
const quotesColl = db.collection('quotes')
const quotes = await quotesColl.find({ by: target.id }).toArray()
const member = interaction.message.guild.members.cache.get(target.user.id)
const memberRoles = member.roles.cache
.filter((roles) => roles.id !== interaction.message.guild.id)
.map((role) => role.toString())
const description = String(`${target}\r\n\r\n${memberRoles}`).replaceAll(',', ' ')
embed.setTitle(`- User Stats -`)
.setDescription(description)
.setThumbnail(target.displayAvatarURL())
.addFields({
name: 'Number of Quotes:', value: `${quotes.length}`, inline: true
})
.setFooter({ text: (`${new Date().toLocaleDateString('en-US', { weekday: 'short' })} ${new Date().toLocaleDateString('en-US', { month: 'short' })} ${new Date().getDate()} ${new Date().getFullYear()} UserID <@${member.id}>`) })
}
const select = new ActionRowBuilder()
.addComponents(
new UserSelectMenuBuilder()
.setCustomId('quotes_list_mentionable')
.setPlaceholder('Filter By User')
)
const row = interaction.message.components[1]
await interaction.update({
embeds: [embed],
components: [select, row]
})
}
}