Compare commits

..

3 Commits

Author SHA1 Message Date
admin_rb bb90ca792c removed debug 2026-04-08 11:42:16 +02:00
admin_rb 0c84c85b62 changed order for quickmode 2026-04-08 11:38:39 +02:00
admin_rb 0218583d24 migrated 2026-04-08 11:37:01 +02:00
8 changed files with 50 additions and 37 deletions
+2 -2
View File
@@ -15,7 +15,7 @@ module.exports = {
const db = mClient.db(process.env.M_DB)
const quotesColl = db.collection('items_quotes')
const quotes = await quotesColl.find({ by: target.id }).toArray()
const quotes = await quotesColl.find({ userID: target.id }).toArray()
var index = Number((await interaction.message.embeds[0].data.title).split(' ')[2].slice(1))
if (!index) { index = 0 }
@@ -64,7 +64,7 @@ module.exports = {
.setURL(messageLink)
.setTitle(`- Quote #${index + 1} -`)
.setDescription(description)
.setFooter({ text: (`${footer} #${found.messageID} <@${found.by}>`) })
.setFooter({ text: (`${footer} #${found.messageID} <@${found.userID}>`) })
const select = new ActionRowBuilder()
.addComponents(
new UserSelectMenuBuilder()
+2 -2
View File
@@ -15,7 +15,7 @@ module.exports = {
const db = mClient.db(process.env.M_DB)
const quotesColl = db.collection('items_quotes')
const quotes = await quotesColl.find({ by: target.id }).toArray()
const quotes = await quotesColl.find({ userID: target.id }).toArray()
var index = Number((await interaction.message.embeds[0].data.title).split(' ')[2].slice(1))
if (!index) { index = 0 }
@@ -64,7 +64,7 @@ module.exports = {
.setURL(messageLink)
.setTitle(`- Quote #${index + 1} -`)
.setDescription(description)
.setFooter({ text: (`${footer} #${found.messageID} <@${found.by}>`) })
.setFooter({ text: (`${footer} #${found.messageID} <@${found.userID}>`) })
const select = new ActionRowBuilder()
.addComponents(
new UserSelectMenuBuilder()
+14 -3
View File
@@ -7,11 +7,11 @@ module.exports = {
async execute(message, args) {
const db = mClient.db(process.env.M_DB)
const nutsColl = db.collection('items_nuts')
const nutsStatsColl = db.collection('stats_nuts')
const cdColl = db.collection('items_cooldowns')
const cdData = await cdColl.findOne({ userID: message.author.id })
if (cdData || cdData?.cooldown > (Date.now() / 1000)) {
if (cdData?.cooldown > (Date.now() / 1000)) {
return await message.reply({
content: `Du kannst erst <t:${Math.floor(cdData?.cooldown)}:R> wieder nussen :(`,
})
@@ -24,7 +24,7 @@ module.exports = {
$set: {
cooldown: cd,
application: 'nuts'
}
}
}, {
upsert: true
})
@@ -39,6 +39,17 @@ module.exports = {
upsert: true
})
await nutsStatsColl.findOneAndUpdate(
{ userID: message.author.id },
{ $inc: { [`stat.${amount}`]: 1 } },
{ upsert: true }
)
await nutsStatsColl.findOneAndUpdate(
{ userID: "__global" },
{ $inc: { [`stat.${amount}`]: 1 } },
{ upsert: true }
)
let content = `Du hast ${amount} Nüsse bekommen! :chestnut:`
if (!amount) {
content = `Du hast leider keine Nüsse bekommen :(`
+1 -1
View File
@@ -45,7 +45,7 @@ module.exports = {
messageID: quoteMessage.id,
channelID: quoteChannel.id,
guildID: quoteGuild.id,
by: msgData.author.id,
userID: msgData.author.id,
count: 0
}
}, { upsert: true })
+25 -23
View File
@@ -168,13 +168,12 @@ async function nutsStats(interaction) {
var type = interaction?.options?.getString('type') || 'lookup'
var target = interaction?.options?.getUser('lookup') || {}
if(type == 'global') {
if (type == 'global') {
target.id = '__global'
} else if (!target?.id){
} else if (!target?.id) {
target = interaction.user
}
console.log(target)
const statsDoc = await nStatsColl.findOne({ userID: target.id });
const stat = statsDoc?.stat || {};
@@ -285,7 +284,7 @@ async function nutsNut(interaction, quickMode) {
const formatNut = (amount) => `${amount} ${amount === 1 ? 'Nuss' : 'Nüsse'}`
// check cooldown
if (cdData || cdData?.cooldown > Date.now() / 1000) {
if (cdData?.cooldown > Date.now() / 1000) {
// on cooldown
embed.setTitle('To Nut or Not to Nut...')
embed.setDescription(`<t:${Math.floor(cdData.cooldown)}:R> kannst du wieder nussen! ;)`)
@@ -296,21 +295,6 @@ async function nutsNut(interaction, quickMode) {
files: [`${asset_path}nuts_onCD.avif`]
})
}
embed.setDescription('\u200B')
// pseudo animation
embed.setThumbnail(assets.box)
await interaction.editReply({
embeds: [embed],
files: [`${asset_path}nuts_box.png`]
})
await delay(1337)
embed.setThumbnail(assets.explosion)
await interaction.editReply({
embeds: [embed],
files: [`${asset_path}nuts_explosion.gif`]
})
await delay(1337)
// set 1 hour cooldown
const cd = Math.floor((Date.now() + 3600000) / 1000)
await cdColl.findOneAndUpdate({
@@ -346,6 +330,25 @@ async function nutsNut(interaction, quickMode) {
{ upsert: true }
)
if (quickMode) {
return interaction.editReply({ content: `Du hast ${formatNut(amount)} bekommen! :chestnut:` })
}
// pseudo animation
embed.setImage(assets.box)
await interaction.editReply({
embeds: [embed],
files: [`${asset_path}nuts_box.png`]
})
await delay(1337)
embed.setImage(assets.explosion)
await interaction.editReply({
embeds: [embed],
files: [`${asset_path}nuts_explosion.gif`]
})
await delay(1337)
let assetFile
if (amount === 0) assetFile = assets.none
else if (amount > 8) assetFile = assets.high
@@ -354,15 +357,14 @@ async function nutsNut(interaction, quickMode) {
embed.setTitle(`Du hast ${formatNut(amount)} bekommen!`)
embed.setThumbnail(assetFile)
if (quickMode) {
return interaction.editReply({ content: `Du hast ${formatNut(amount)} bekommen! :chestnut:` })
}
embed.setImage(null)
return interaction.editReply({
embeds: [embed],
files: [`${asset_path}${assetFile.split('://')[1]}`]
})
}
module.exports = {
data: new SlashCommandBuilder()
+1 -1
View File
@@ -310,7 +310,7 @@ async function quotesLeaderboard(interaction, page = 1, limit = 5) {
return {
name: `${skip + index + 1}.`,
value: `[#${data.messageID}](https://discord.com/channels/${data.guildID}/${data.channelID}/${data.messageID})\n**by** <@${data.by}> • ⭐ ${data.count}\n_Posted on **${timestamp}**_\n${message.content}`
value: `[#${data.messageID}](https://discord.com/channels/${data.guildID}/${data.channelID}/${data.messageID})\n**by** <@${data.userID}> • ⭐ ${data.count}\n_Posted on **${timestamp}**_\n${message.content}`
};
} catch {
return {
+2 -2
View File
@@ -35,7 +35,7 @@ module.exports = {
// Fetch birthday role
const bdayRoleColl = db.collection('config_roles');
const bdayRoleEntry = await bdayRoleColl.findOne({ guildID: guild.id });
const birthdayRoleID = bdayRoleEntry.roleID;
const birthdayRoleID = bdayRoleEntry?.roleID;
if (!birthdayRoleID) {
console.warn("No birthday role configured in DB");
@@ -54,7 +54,7 @@ module.exports = {
console.error(`Failed to add birthday role to ${member.user.tag}:`, err)
);
console.log(`Added birthday role to ${member.user.tag}`);
client.emit('Birthday', member);
//client.emit('Birthday', member);
} else {
// Default fallback: remove birthday role if present
if (member.roles.cache.has(birthdayRoleID)) {
@@ -16,7 +16,7 @@ module.exports = {
const target = await interaction.guild.members.fetch(interaction.members.keys().next().value)
const db = mClient.db(process.env.M_DB)
const quotesColl = db.collection('items_quotes')
const quotes = await quotesColl.find({ by: target.id }).toArray()
const quotes = await quotesColl.find({ userID: 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)