Skip to content

Logger #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Nov 18, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 24 additions & 11 deletions commands/ticket/addUser.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,29 @@ module.exports = {
modOnly: true,
ticketOnly: true,
run: async(interaction) => {
const user = interaction.options.getUser('user');
await interaction.channel.permissionOverwrites.edit(user, {
VIEW_CHANNEL: true,
SEND_MESSAGES: true
});
const embed = new MessageEmbed()
.setDescription(`**👌 Added ${user} to the ticket.**`)
.setColor(settings.embedColor)
interaction.reply({
embeds: [embed]
})
const member = interaction.options.getMember('user');
if (interaction.channel.permissionsFor(member).has('VIEW_CHANNEL')) {
return interaction.reply({
content: `:x: ${member} already in ticket channel.`,
ephemeral: true
});
}
try {
await interaction.channel.permissionOverwrites.edit(member, {
VIEW_CHANNEL: true,
SEND_MESSAGES: true
});
const embed = new MessageEmbed()
.setDescription(`**👌 Added ${member} to the ticket.**`)
.setColor(settings.embedColor)
interaction.reply({
embeds: [embed]
})
} catch (e) {
return interaction.reply({
content: e,
ephemeral: true
})
}
}
}
15 changes: 14 additions & 1 deletion commands/ticket/new.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ module.exports = {
name: "new",
description: "Create a new ticket",
timeout: 10000,
run: async(interaction) => {
run: async(interaction, client) => {
const ticketCatgory = interaction.guild.channels.cache.find(r => r.type === 'GUILD_CATEGORY' && r.name === 'tickets');
if (!ticketCatgory) {
const embed = new MessageEmbed()
Expand Down Expand Up @@ -59,5 +59,18 @@ module.exports = {
interaction.reply({
embeds: [successEmbed]
});
const logChannel = client.channels.cache.get(config.logChannel);
if (!logChannel) return;
const logEmbed = new MessageEmbed()
.setAuthor(interaction.user.tag, interaction.user.displayAvatarURL({ dynamic: true }))
.setThumbnail(interaction.user.displayAvatarURL({ dynamic: true }))
.setDescription(`${interaction.user} Created a new ticket ${ticketChannel}`)
.addField("Ticket ID:", ticketChannel.id, true)
.addField("Ticket Created At:", `<t:${Math.floor(ticketChannel.createdTimestamp / 1000)}:R>`, true)
.setColor(config.embedColor)
.setTimestamp()
logChannel.send({
embeds: [logEmbed]
})
}
}
29 changes: 21 additions & 8 deletions commands/ticket/removeUser.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,26 @@ module.exports = {
ticketOnly: true,
modOnly: true,
run: async(interaction) => {
const user = interaction.options.getUser('user');
await interaction.channel.permissionOverwrites.delete(user, `By: ${interaction.user.tag}, Removed user from ticket`);
const embed = new MessageEmbed()
.setDescription(`**👌 Removed ${user} from the ticket.**`)
.setColor(settings.embedColor)
interaction.reply({
embeds: [embed]
})
const member = interaction.options.getMember('user');
if (!interaction.channel.permissionsFor(member).has('VIEW_CHANNEL')) {
return interaction.reply({
content: `:x: ${member} is not in ticket channel.`,
ephemeral: true
});
}
try {
await interaction.channel.permissionOverwrites.delete(member, `By: ${interaction.user.tag}, Removed user from ticket`);
const embed = new MessageEmbed()
.setDescription(`**👌 Removed ${member} from the ticket.**`)
.setColor(settings.embedColor)
interaction.reply({
embeds: [embed]
})
} catch (e) {
return interaction.reply({
content: e,
ephemeral: true
})
}
}
}
21 changes: 14 additions & 7 deletions commands/ticket/rename.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,19 @@ module.exports = {
ticketOnly: true,
run: async(interaction) => {
const name = interaction.options.getString('new_name');
await interaction.channel.edit({ name: name });
const embed = new Discord.MessageEmbed()
.setDescription(`👌 Renamed ticket channel to **${name}**`)
.setColor(settings.embedColor);
interaction.reply({
embeds: [embed]
});
try {
await interaction.channel.edit({ name: name });
const embed = new Discord.MessageEmbed()
.setDescription(`👌 Renamed ticket channel to **${name}**`)
.setColor(settings.embedColor);
interaction.reply({
embeds: [embed]
});
} catch (e) {
return interaction.reply({
content: e,
ephemeral: true
})
}
}
}
14 changes: 14 additions & 0 deletions events/guild/interactionCreate.js
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,20 @@ module.exports = async(client, interaction) => {
const text = settings.deletTicketMessage.replace('{time}', humanizeDuration(settings.deleteTicketTime, { round: true }));
interaction.reply(text);
await wait(settings.deleteTicketTime);
const logChannel = client.channels.cache.get(settings.logChannel);
if (!logChannel) return;
const embed = new MessageEmbed()
.setAuthor(interaction.user.tag, interaction.user.displayAvatarURL({ dynamic: true }))
.setDescription(`${interaction.user} deleted a **#${interaction.channel.name}** ticket.`)
.addField("Ticket ID:", interaction.channel.id, true)
.addField("Ticket Created At:", `<t:${Math.floor(interaction.channel.createdTimestamp / 1000)}:R>`, true)
.addField("Ticket Deleted At:", `<t:${Math.floor(Date.now() / 1000)}:R>`, true)
.setColor(settings.embedColor)
.setTimestamp()
.setThumbnail(interaction.user.displayAvatarURL({ dynamic: true }))
await logChannel.send({
embeds: [embed]
})
interaction.channel.delete(`By: ${interaction.user.tag}, Delete ticket.`);
}
}
Expand Down
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
"description": "Basic commands handler &amp; slash maker template",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"deploy": "node slash.js",
"start": "node .",
"build": "npm i"
},
"repository": {
"type": "git",
Expand Down
3 changes: 2 additions & 1 deletion settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,6 @@
"deleteTicketTime": 5000,
"closeTicketTime": 5000,
"closeTicketMessage": "**:x: Closing ticket channel in {time}**",
"deletTicketMessage": "**:x: Deleting ticket channel in {time}**"
"deletTicketMessage": "**:x: Deleting ticket channel in {time}**",
"logChannel": "901156978817122354"
}