Channel Set/Get added
This commit is contained in:
@@ -0,0 +1,123 @@
|
|||||||
|
const { SlashCommandBuilder, ChannelType, MessageFlags } = require('discord.js')
|
||||||
|
const { mClient } = require('../..')
|
||||||
|
|
||||||
|
async function setChannel(interaction) {
|
||||||
|
const event = interaction.options.getString('event')
|
||||||
|
const channel = interaction.options.getChannel('channel')
|
||||||
|
const db = mClient.db('guilds')
|
||||||
|
const coll = db.collection(interaction.guild.id)
|
||||||
|
|
||||||
|
try {
|
||||||
|
const res = await coll.findOneAndUpdate({
|
||||||
|
event: event
|
||||||
|
}, {
|
||||||
|
$set: {
|
||||||
|
channel: channel.id
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
upsert: true
|
||||||
|
})
|
||||||
|
|
||||||
|
return interaction.editReply({
|
||||||
|
content: `${channel} now set for Event: ${event}`,
|
||||||
|
flags: MessageFlags.Ephemeral
|
||||||
|
})
|
||||||
|
} catch (error) {
|
||||||
|
return interaction.editReply({
|
||||||
|
content: `**[ERROR]:** There was an error updating the database: ${error}`,
|
||||||
|
flags: MessageFlags.Ephemeral
|
||||||
|
}).then(setTimeout(() => {
|
||||||
|
interaction.deleteReply()
|
||||||
|
}, 5000))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async function getChannel(interaction) {
|
||||||
|
const event = interaction.options.getString('event')
|
||||||
|
const db = mClient.db('guilds')
|
||||||
|
const coll = db.collection(interaction.guild.id)
|
||||||
|
|
||||||
|
try {
|
||||||
|
const res = await coll.findOne({
|
||||||
|
event: event
|
||||||
|
})
|
||||||
|
|
||||||
|
return interaction.editReply({
|
||||||
|
content: `#${res.channel} previously set for Event: ${event}`,
|
||||||
|
flags: MessageFlags.Ephemeral
|
||||||
|
})
|
||||||
|
} catch (error) {
|
||||||
|
return interaction.editReply({
|
||||||
|
content: `**[ERROR]:** There was an error updating the database: ${error}`,
|
||||||
|
flags: MessageFlags.Ephemeral
|
||||||
|
}).then(setTimeout(() => {
|
||||||
|
interaction.deleteReply()
|
||||||
|
}, 5000))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
module.exports = {
|
||||||
|
data: new SlashCommandBuilder()
|
||||||
|
.setName('channel')
|
||||||
|
.setDescription('channel manager')
|
||||||
|
.addSubcommand(s =>
|
||||||
|
s
|
||||||
|
.setName('set')
|
||||||
|
.setDescription('set channel for certain events')
|
||||||
|
.addStringOption(o =>
|
||||||
|
o
|
||||||
|
.setName('event')
|
||||||
|
.setDescription('choose the event')
|
||||||
|
.addChoices([
|
||||||
|
{ "name": "When a user joins this server", "value": "GuildMemberAdd" },
|
||||||
|
{ "name": "When a user left this server", "value": "GuildMemberRemove" },
|
||||||
|
{ "name": "When it's a users birthday", "value": "Discord/Birthday" },
|
||||||
|
{ "name": "When debug logs are sent", "value": "Discord/Logs" },
|
||||||
|
{ "name": "When stream is live", "value": "Twitch/Live" }
|
||||||
|
])
|
||||||
|
.setRequired(true)
|
||||||
|
)
|
||||||
|
.addChannelOption(o =>
|
||||||
|
o
|
||||||
|
.setName('channel')
|
||||||
|
.setDescription('where should it be sent to')
|
||||||
|
.setRequired(true)
|
||||||
|
.addChannelTypes(ChannelType.GuildText)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
.addSubcommand(s =>
|
||||||
|
s
|
||||||
|
.setName('get')
|
||||||
|
.setDescription('get channel for certain events')
|
||||||
|
.addStringOption(o =>
|
||||||
|
o
|
||||||
|
.setName('event')
|
||||||
|
.setDescription('choose the event')
|
||||||
|
.addChoices([
|
||||||
|
{ "name": "When a user joins this server", "value": "GuildMemberAdd" },
|
||||||
|
{ "name": "When a user left this server", "value": "GuildMemberRemove" },
|
||||||
|
{ "name": "When it's a users birthday", "value": "Discord/Birthday" },
|
||||||
|
{ "name": "When debug logs are sent", "value": "Discord/Logs" },
|
||||||
|
{ "name": "When stream is live", "value": "Twitch/Live" }
|
||||||
|
])
|
||||||
|
.setRequired(true)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
async execute(interaction) {
|
||||||
|
if (!interaction.member.permissions.has("ADMINISTRATOR")) {
|
||||||
|
return await interaction.reply({
|
||||||
|
content: "Unprivileged Access!",
|
||||||
|
flags: MessageFlags.Ephemeral
|
||||||
|
})
|
||||||
|
}
|
||||||
|
await interaction.deferReply({ flags: MessageFlags.Ephemeral })
|
||||||
|
switch (interaction.options._subcommand) {
|
||||||
|
case "set":
|
||||||
|
setChannel(interaction)
|
||||||
|
break;
|
||||||
|
case "get":
|
||||||
|
getChannel(interaction)
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
const { SlashCommandBuilder, Events } = require('discord.js')
|
const { SlashCommandBuilder, Events, MessageFlags } = require('discord.js')
|
||||||
module.exports = {
|
module.exports = {
|
||||||
data: new SlashCommandBuilder()
|
data: new SlashCommandBuilder()
|
||||||
.setName('simjoin')
|
.setName('simjoin')
|
||||||
@@ -10,7 +10,7 @@ module.exports = {
|
|||||||
if(!interaction.member.permissions.has("ADMINISTRATOR")){
|
if(!interaction.member.permissions.has("ADMINISTRATOR")){
|
||||||
return await interaction.reply({
|
return await interaction.reply({
|
||||||
content: "Unprivileged Access!",
|
content: "Unprivileged Access!",
|
||||||
ephemeral: true
|
flags: MessageFlags.Ephemeral
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -23,13 +23,13 @@ module.exports = {
|
|||||||
interaction.client.emit(Events.GuildMemberAdd, target)
|
interaction.client.emit(Events.GuildMemberAdd, target)
|
||||||
await interaction.reply({
|
await interaction.reply({
|
||||||
content: "Done!",
|
content: "Done!",
|
||||||
ephemeral: true
|
flags: MessageFlags.Ephemeral
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
await interaction.reply({
|
await interaction.reply({
|
||||||
content: "Invalid Mentionable!",
|
content: "Invalid Mentionable!",
|
||||||
ephemeral: true
|
flags: MessageFlags.Ephemeral
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const { SlashCommandBuilder, Events } = require('discord.js')
|
const { SlashCommandBuilder, Events, MessageFlags } = require('discord.js')
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
data: new SlashCommandBuilder()
|
data: new SlashCommandBuilder()
|
||||||
@@ -8,7 +8,7 @@ module.exports = {
|
|||||||
if(!interaction.member.permissions.has("ADMINISTRATOR")){
|
if(!interaction.member.permissions.has("ADMINISTRATOR")){
|
||||||
return await interaction.reply({
|
return await interaction.reply({
|
||||||
content: "Unprivileged Access!",
|
content: "Unprivileged Access!",
|
||||||
ephemeral: true
|
flags: MessageFlags.Ephemeral
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@ module.exports = {
|
|||||||
interaction.client.emit('TwitchLive', streamer)
|
interaction.client.emit('TwitchLive', streamer)
|
||||||
await interaction.reply({
|
await interaction.reply({
|
||||||
content: "Done!",
|
content: "Done!",
|
||||||
ephemeral: true
|
flags: MessageFlags.Ephemeral
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,42 +0,0 @@
|
|||||||
const { SlashCommandBuilder } = require('discord.js')
|
|
||||||
const { mClient } = require('../..')
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
data: new SlashCommandBuilder()
|
|
||||||
.setName('simshoutout')
|
|
||||||
.setDescription('simulates a shoutout event'),
|
|
||||||
async execute(interaction) {
|
|
||||||
await interaction.deferReply()
|
|
||||||
if (!interaction.member.permissions.has("ADMINISTRATOR")) {
|
|
||||||
return await interaction.editReply({
|
|
||||||
content: "Unprivileged Access!",
|
|
||||||
ephemeral: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
let channel = '#desq_blocki'
|
|
||||||
let username = 'desq_blocki'
|
|
||||||
|
|
||||||
let db = mClient.db("shoutouts")
|
|
||||||
let col = db.collection(channel)
|
|
||||||
|
|
||||||
let query = { user: username }
|
|
||||||
let status = await col.findOne(query)
|
|
||||||
if (!status) {
|
|
||||||
interaction.client.emit("TwitchShoutout", "TEST", channel, username)
|
|
||||||
await col.insertOne({
|
|
||||||
user: username
|
|
||||||
})
|
|
||||||
await interaction.editReply({
|
|
||||||
content: "Done!",
|
|
||||||
ephemeral: true
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
await interaction.editReply({
|
|
||||||
content: "Already in Database",
|
|
||||||
ephemeral: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
const { Events } = require('discord.js')
|
const { Events, MessageFlags } = require('discord.js')
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: Events.InteractionCreate,
|
name: Events.InteractionCreate,
|
||||||
@@ -17,9 +17,9 @@ module.exports = {
|
|||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error);
|
console.error(error);
|
||||||
if (interaction.replied || interaction.deferred) {
|
if (interaction.replied || interaction.deferred) {
|
||||||
await interaction.followUp({ content: 'There was an error while executing this command!', ephemeral: true });
|
await interaction.followUp({ content: 'There was an error while executing this command!', flags: MessageFlags.Ephemeral });
|
||||||
} else {
|
} else {
|
||||||
await interaction.reply({ content: 'There was an error while executing this command!', ephemeral: true });
|
await interaction.reply({ content: 'There was an error while executing this command!', flags: MessageFlags.Ephemeral });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
const fs = require('node:fs')
|
const fs = require('node:fs')
|
||||||
const path = require('node:path');
|
const path = require('node:path');
|
||||||
const { dClient, mClient, tClient } = require('..');
|
var { dClient, mClient, tClient } = require('..');
|
||||||
const { refreshAccessToken } = require('../functions');
|
const { refreshAccessToken } = require('../functions');
|
||||||
const tmi = require('tmi.js')
|
const tmi = require('tmi.js')
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user