fixed Birthday Event, Renamed DB Colls
This commit is contained in:
@@ -1,106 +0,0 @@
|
||||
const { SlashCommandBuilder, Events } = require('discord.js')
|
||||
const { mClient } = require('../..')
|
||||
require('dotenv').config()
|
||||
|
||||
async function channelSet(interaction) {
|
||||
const channel = interaction.options.getChannel('channel')
|
||||
const purpose = interaction.options.getString('purpose')
|
||||
const db = mClient.db(process.env.DB)
|
||||
const channelColl = db.collection('channels')
|
||||
|
||||
await channelColl.findOneAndUpdate({
|
||||
$and: [{ guildID: channel.guild.id }, { purpose: purpose }]
|
||||
}, {
|
||||
$set: {
|
||||
guildID: channel.guild.id,
|
||||
purpose: purpose,
|
||||
channelID: channel.id
|
||||
}
|
||||
}, {
|
||||
upsert: true
|
||||
})
|
||||
|
||||
return await interaction.editReply({
|
||||
content: `Set <#${channel.id}> as ${purpose} channel!`, ephemeral: true
|
||||
})
|
||||
}
|
||||
async function channelSimulate(interaction) {
|
||||
const purpose = interaction.options.getString('purpose')
|
||||
switch (purpose) {
|
||||
case 'birthday':
|
||||
await interaction.client.emit('Birthday', interaction.member)
|
||||
break;
|
||||
case 'wge':
|
||||
// For Future WGE Use
|
||||
break;
|
||||
case 'welcome':
|
||||
await interaction.client.emit(Events.GuildMemberAdd, interaction.member)
|
||||
break;
|
||||
case 'logs':
|
||||
// For Future Log Use
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return interaction.reply({ content: 'Done.', ephemeral: true })
|
||||
}
|
||||
module.exports = {
|
||||
data: new SlashCommandBuilder()
|
||||
.setName('channels')
|
||||
.setDescription('rund um den honor')
|
||||
.addSubcommand(s =>
|
||||
s
|
||||
.setName('set')
|
||||
.setDescription('set a channel for a specific purpose')
|
||||
.addStringOption(o =>
|
||||
o.setName('purpose').setDescription('set the purpose').setRequired(true).addChoices({
|
||||
name: 'birthday',
|
||||
value: 'birthday'
|
||||
}, {
|
||||
name: 'welcome',
|
||||
value: 'welcome'
|
||||
}, {
|
||||
name: 'logs',
|
||||
value: 'logs'
|
||||
}, {
|
||||
name: 'wge',
|
||||
value: 'wge'
|
||||
}))
|
||||
.addChannelOption(c =>
|
||||
c.setName('channel').setDescription('choose a channel').setRequired(true)
|
||||
)
|
||||
)
|
||||
.addSubcommand(s =>
|
||||
s
|
||||
.setName('simulate')
|
||||
.setDescription('simulate a specific channel event')
|
||||
.addStringOption(o =>
|
||||
o.setName('purpose').setDescription('set the purpose').setRequired(true).addChoices({
|
||||
name: 'birthday',
|
||||
value: 'birthday'
|
||||
}, {
|
||||
name: 'welcome',
|
||||
value: 'welcome'
|
||||
}, {
|
||||
name: 'logs',
|
||||
value: 'logs'
|
||||
}, {
|
||||
name: 'wge',
|
||||
value: 'wge'
|
||||
}))
|
||||
)
|
||||
,
|
||||
async execute(interaction) {
|
||||
switch (interaction.options._subcommand) {
|
||||
case 'set':
|
||||
await interaction.deferReply()
|
||||
channelSet(interaction)
|
||||
break;
|
||||
case 'simulate':
|
||||
channelSimulate(interaction)
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,169 @@
|
||||
const { SlashCommandBuilder, Events } = require('discord.js')
|
||||
const { mClient } = require('../..')
|
||||
require('dotenv').config()
|
||||
|
||||
async function channelSet(interaction) {
|
||||
const channel = interaction.options.getChannel('channel')
|
||||
const purpose = interaction.options.getString('purpose')
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const channelColl = db.collection('config_channels')
|
||||
|
||||
await channelColl.findOneAndUpdate({
|
||||
$and: [{ guildID: channel.guild.id }, { purpose: purpose }]
|
||||
}, {
|
||||
$set: {
|
||||
guildID: channel.guild.id,
|
||||
purpose: purpose,
|
||||
channelID: channel.id
|
||||
}
|
||||
}, {
|
||||
upsert: true
|
||||
})
|
||||
|
||||
return await interaction.editReply({
|
||||
content: `Set <#${channel.id}> as ${purpose} channel!`, ephemeral: true
|
||||
})
|
||||
}
|
||||
async function channelSimulate(interaction) {
|
||||
const purpose = interaction.options.getString('purpose')
|
||||
switch (purpose) {
|
||||
case 'birthday':
|
||||
await interaction.client.emit('Birthday', interaction.member)
|
||||
break;
|
||||
case 'wge':
|
||||
// For Future WGE Use
|
||||
break;
|
||||
case 'welcome':
|
||||
await interaction.client.emit(Events.GuildMemberAdd, interaction.member)
|
||||
break;
|
||||
case 'logs':
|
||||
// For Future Log Use
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return interaction.reply({ content: 'Done.', ephemeral: true })
|
||||
}
|
||||
async function roleSet(interaction) {
|
||||
const guild = interaction.guild
|
||||
const purpose = interaction.options.getString('purpose')
|
||||
const role = interaction.options.getRole('role')
|
||||
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const roleColl = db.collection('config_roles')
|
||||
|
||||
switch (purpose) {
|
||||
case 'birthday':
|
||||
await roleColl.findOneAndUpdate({
|
||||
$and: [{ guildID: guild.id }, { purpose: purpose }]
|
||||
}, {
|
||||
$set: {
|
||||
guildID: guild.id,
|
||||
purpose: purpose,
|
||||
roleID: role.id
|
||||
}
|
||||
}, {
|
||||
upsert: true
|
||||
})
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return await interaction.editReply({
|
||||
content: `Set ${role} as default role for ${purpose} in ${guild} `
|
||||
})
|
||||
}
|
||||
module.exports = {
|
||||
data: new SlashCommandBuilder()
|
||||
.setName('config')
|
||||
.setDescription('configurations for admins')
|
||||
.addSubcommandGroup(sg =>
|
||||
sg
|
||||
.setName('channels')
|
||||
.setDescription('configure channels for certain events')
|
||||
.addSubcommand(s =>
|
||||
s.setName('set')
|
||||
.setDescription('sets channel')
|
||||
.addStringOption(o =>
|
||||
o.setName('purpose').setDescription('set the purpose').setRequired(true).addChoices({
|
||||
name: 'birthday',
|
||||
value: 'birthday'
|
||||
}, {
|
||||
name: 'welcome',
|
||||
value: 'welcome'
|
||||
}, {
|
||||
name: 'logs',
|
||||
value: 'logs'
|
||||
}, {
|
||||
name: 'wge',
|
||||
value: 'wge'
|
||||
}))
|
||||
.addChannelOption(c =>
|
||||
c.setName('channel').setDescription('choose a channel').setRequired(true)
|
||||
)
|
||||
)
|
||||
.addSubcommand(s =>
|
||||
s
|
||||
.setName('simulate')
|
||||
.setDescription('simulate a specific channel event')
|
||||
.addStringOption(o =>
|
||||
o.setName('purpose').setDescription('set the purpose').setRequired(true).addChoices({
|
||||
name: 'birthday',
|
||||
value: 'birthday'
|
||||
}, {
|
||||
name: 'welcome',
|
||||
value: 'welcome'
|
||||
}, {
|
||||
name: 'logs',
|
||||
value: 'logs'
|
||||
}, {
|
||||
name: 'wge',
|
||||
value: 'wge'
|
||||
}))
|
||||
)
|
||||
)
|
||||
.addSubcommandGroup(sg =>
|
||||
sg.setName('roles')
|
||||
.setDescription('configure roles for certain events')
|
||||
.addSubcommand(s =>
|
||||
s.setName('set')
|
||||
.setDescription('sets roles')
|
||||
.addStringOption(o =>
|
||||
o.setName('purpose').setDescription('set the purpose').setRequired(true).addChoices({
|
||||
name: 'birthday',
|
||||
value: 'birthday'
|
||||
}))
|
||||
.addRoleOption(c =>
|
||||
c.setName('role').setDescription('choose a role').setRequired(true)
|
||||
)
|
||||
)
|
||||
),
|
||||
async execute(interaction) {
|
||||
switch (interaction.options._group) {
|
||||
case 'channels':
|
||||
switch (interaction.options._subcommand) {
|
||||
case 'set':
|
||||
await interaction.deferReply()
|
||||
channelSet(interaction)
|
||||
break;
|
||||
case 'simulate':
|
||||
channelSimulate(interaction)
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
case 'roles':
|
||||
switch (interaction.options._subcommand) {
|
||||
case 'set':
|
||||
await interaction.deferReply()
|
||||
roleSet(interaction)
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@ function delay(ms) { return new Promise(resolve => setTimeout(resolve, ms)); }
|
||||
|
||||
async function honorHoner(interaction) {
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const honorsColl = db.collection('honors')
|
||||
const honorsColl = db.collection('items_honors')
|
||||
|
||||
const target = await interaction.options.getUser('target')
|
||||
const reason = `[+] ${await interaction.options.getString('reason') ?? 'No reason provided'}`
|
||||
@@ -40,7 +40,7 @@ async function honorHoner(interaction) {
|
||||
}
|
||||
async function honerDishonor(interaction) {
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const honorsColl = db.collection('honors')
|
||||
const honorsColl = db.collection('items_honors')
|
||||
|
||||
const target = await interaction.options.getUser('target')
|
||||
const reason = `[-] ${await interaction.options.getString('reason') ?? 'No reason provided'}`
|
||||
@@ -93,7 +93,7 @@ async function honorLeaderboard(interaction) {
|
||||
.setCustomId('honors_leaderboard_right')
|
||||
)
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const honorsColl = db.collection('honors')
|
||||
const honorsColl = db.collection('items_honors')
|
||||
let skip = 0
|
||||
const honorsData = await honorsColl.find({}).sort({ honors: -1 }).skip(skip).limit(5).toArray()
|
||||
let fields
|
||||
@@ -116,7 +116,7 @@ async function honorHistory(interaction) {
|
||||
var target = interaction.options.getUser('target')
|
||||
if (!target) { target = interaction.user }
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const reasonsColl = db.collection('honor-reasons')
|
||||
const reasonsColl = db.collection('history_honors')
|
||||
var history = await reasonsColl.findOne({ userID: target.id })
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
@@ -136,7 +136,7 @@ async function honorCheck(interaction) {
|
||||
var target = interaction.options.getUser('target')
|
||||
if (!target) { target = interaction.user }
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const honorsColl = db.collection('honors')
|
||||
const honorsColl = db.collection('items_honors')
|
||||
var honors = await honorsColl.findOne({ userID: target.id })
|
||||
honors = honors?.honors ?? 0
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ async function nutsGive(interaction) {
|
||||
var amount = await interaction.options.getNumber('amount')
|
||||
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const nutsColl = db.collection('nuts')
|
||||
const nutsColl = db.collection('items_nuts')
|
||||
const yourBalance = await nutsColl.findOne({ userID: from.id })
|
||||
const theirBalance = await nutsColl.findOne({ userID: to.id })
|
||||
if (amount <= 0) {
|
||||
@@ -69,7 +69,7 @@ async function nutsCheck(interaction) {
|
||||
}
|
||||
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const nutsColl = db.collection('nuts')
|
||||
const nutsColl = db.collection('items_nuts')
|
||||
const nutsData = await nutsColl.findOne({ userID: target.id })
|
||||
|
||||
let content
|
||||
@@ -118,7 +118,7 @@ async function nutsLeaderboard(interaction) {
|
||||
.setCustomId('nuts_leaderboard_right')
|
||||
)
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const nutsColl = db.collection('nuts')
|
||||
const nutsColl = db.collection('items_nuts')
|
||||
let skip = 0
|
||||
const nutsData = await nutsColl.find({ nuts: { $gt: 0 } }).sort({ nuts: -1 }).skip(skip).limit(5).toArray()
|
||||
let fields
|
||||
@@ -139,7 +139,7 @@ async function nutsLeaderboard(interaction) {
|
||||
}
|
||||
async function nutsStats(interaction) {
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const nStatsColl = db.collection('nut-stats')
|
||||
const nStatsColl = db.collection('stats_nuts')
|
||||
const stats = await nStatsColl.find({}).sort({ amount: 1 }).toArray()
|
||||
let nutMin = {
|
||||
count: 0,
|
||||
@@ -188,7 +188,7 @@ async function nutsStats(interaction) {
|
||||
}
|
||||
async function nutsCooldown(interaction) {
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const nutsColl = db.collection('cooldown')
|
||||
const nutsColl = db.collection('items_cooldowns')
|
||||
const cooldown = await nutsColl.findOne({ userID: interaction.user.id })
|
||||
|
||||
let content = `Du kannst wieder nussen! :)`
|
||||
@@ -213,8 +213,8 @@ async function nutsCooldown(interaction) {
|
||||
}
|
||||
async function nutsNut(interaction) {
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const nutsColl = db.collection('nuts')
|
||||
const cdColl = db.collection('cooldown')
|
||||
const nutsColl = db.collection('items_nuts')
|
||||
const cdColl = db.collection('items_cooldowns')
|
||||
|
||||
const cdData = await cdColl.findOne({ userID: interaction.user.id })
|
||||
const embed = new EmbedBuilder()
|
||||
|
||||
@@ -48,7 +48,7 @@ async function quotesAdd(interaction) {
|
||||
}
|
||||
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const quotesColl = db.collection('quotes')
|
||||
const quotesColl = db.collection('items_quotes')
|
||||
const found = await quotesColl.findOne({ messageID: messageID })
|
||||
if (found) { return await interaction.editReply({ content: 'Quote Already in Database', ephemeral: true }) }
|
||||
await quotesColl.findOneAndUpdate({ messageID: messageID }, {
|
||||
@@ -87,7 +87,7 @@ async function quotesRemove(interaction) {
|
||||
const id = await interaction.options.getString('id')
|
||||
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const quotesColl = db.collection('quotes')
|
||||
const quotesColl = db.collection('items_quotes')
|
||||
const found = await quotesColl.findOne({ messageID: id })
|
||||
if (!found) { return await interaction.reply({ content: 'ID not found!', ephemeral: true }) }
|
||||
|
||||
@@ -98,7 +98,7 @@ async function quotesRemove(interaction) {
|
||||
async function quotesSearch(interaction) {
|
||||
const id = interaction.options.getString("id")
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const quotesColl = db.collection('quotes')
|
||||
const quotesColl = db.collection('items_quotes')
|
||||
const found = await quotesColl.findOne({ messageID: id })
|
||||
if (!found) { return await interaction.reply({ content: 'ID not found!', ephemeral: true }) }
|
||||
|
||||
@@ -158,7 +158,7 @@ async function quotesSearch(interaction) {
|
||||
async function quotesRandom(interaction) {
|
||||
var user = interaction.options.getUser("by")
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const quotesColl = db.collection('quotes')
|
||||
const quotesColl = db.collection('items_quotes')
|
||||
var rdm
|
||||
if (user) {
|
||||
rdm = await quotesColl.aggregate([
|
||||
@@ -269,7 +269,7 @@ async function quotesList(interaction) {
|
||||
}
|
||||
async function quotesLeaderboard(interaction) {
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const quotesColl = db.collection('quotes')
|
||||
const quotesColl = db.collection('items_quotes')
|
||||
let skip = 0
|
||||
const minValue = 0
|
||||
const maxValue = await quotesColl.countDocuments({ $and: [{ guildID: interaction.guild.id }, { count: { $gt: 0 } }] })
|
||||
|
||||
@@ -44,7 +44,7 @@ async function birthdayAdd(interaction) {
|
||||
}
|
||||
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const bdayColl = db.collection('birthdays')
|
||||
const bdayColl = db.collection('items_birthdays')
|
||||
|
||||
const found = await bdayColl.findOne({ userID: target.id })
|
||||
if (found) {
|
||||
@@ -77,7 +77,7 @@ async function birthdayDelete(interaction) {
|
||||
}
|
||||
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const bdayColl = db.collection('birthdays')
|
||||
const bdayColl = db.collection('items_birthdays')
|
||||
|
||||
const found = await bdayColl.findOne({ userID: target.id })
|
||||
if (!found) {
|
||||
@@ -102,7 +102,7 @@ async function birthdayEdit(interaction) {
|
||||
}
|
||||
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const bdayColl = db.collection('birthdays')
|
||||
const bdayColl = db.collection('items_birthdays')
|
||||
|
||||
const found = await bdayColl.findOne({ userID: target.id })
|
||||
if (!found) {
|
||||
@@ -143,7 +143,7 @@ function isToday(day, month) {
|
||||
async function birthdayGet(interaction) {
|
||||
let target = await interaction.options.getUser('user')
|
||||
const db = mClient.db(process.env.M_DB)
|
||||
const bdayColl = db.collection('birthdays')
|
||||
const bdayColl = db.collection('items_birthdays')
|
||||
|
||||
const found = await bdayColl.findOne({ userID: target.id })
|
||||
if (!found) {
|
||||
|
||||
Reference in New Issue
Block a user