Published by
v14 Destek Sistemi
Discord botlarınız için hatasız basit bir ticket (destek) sistemi.Moderatör rolü ve butonda yazılacak emoji ayarlanabilir.Croxydb kullanılmıştır.
- License MIT
- Publication Date 23/01/2023 - 19:18
- Version Discord.js V14
- Command Type Özel Prefix
- Views 162
- Downloads 6
- Files 3
- Images 1
const { EmbedBuilder } = require("discord.js");
const db = require("croxydb");
const Discord = require("discord.js");
exports.run = async (client, message, args) => {
let mod = db.fetch(`ticketmod_${message.guild.id}`);
if (!mod) return message.reply("Moderatör rolü ayarlanmamış!");
let buton = args[0];
if (!buton) return message.reply("Lütfen butonda yazıcak emojiyi girin!");
const embed = new EmbedBuilder()
.setTitle(client.user.username + " Destek Sistemi")
.setDescription("Aşağıdaki butondan destek oluşturabilirsin!")
.setColor("Red");
const row = new Discord.ActionRowBuilder().addComponents(
new Discord.ButtonBuilder()
.setEmoji(buton)
.setStyle(Discord.ButtonStyle.Danger)
.setCustomId("ticket")
);
message.channel.send({ embeds: [embed], components: [row] });
};
exports.conf = {
aliases: [],
};
exports.help = {
name: "ticket-oluştur",
};
const { EmbedBuilder } = require("discord.js");
const db = require("croxydb");
exports.run = async (client, message, args) => {
let channel = message.mentions.roles.first();
if (!channel) return message.reply("Lütfen bir rol etiketle");
message.reply(
"Başarıyla destek ekibi rolü <@&" + channel + "> Olarak Ayarlandı!"
);
db.set(`ticketmod_${message.guild.id}`, channel.id);
};
exports.conf = {
aliases: [],
};
exports.help = {
name: "destek-yetkilisi",
};
// DESTEK SİSTEMİ \\
client.on("interactionCreate", async (interaction) => {
if (!interaction.isButton()) return;
if (interaction.customId === "ticket") {
const Discord = require("discord.js");
let mod = db.fetch(`ticketmod_${interaction.guild.id}`);
db.add(`sayi_${interaction.guild.id}`, 1);
let sayi = db.fetch(`sayi_${interaction.guild.id}`) || "1";
const row = new Discord.ActionRowBuilder().addComponents(
new Discord.ButtonBuilder()
.setEmoji("🔒")
.setStyle(Discord.ButtonStyle.Success)
.setCustomId("kapat")
);
interaction.guild.channels
.create({
name: `ticket-${sayi}`,
type: Discord.ChannelType.GuildText,
permissionOverwrites: [
{
id: interaction.guild.id,
deny: [Discord.PermissionsBitField.Flags.ViewChannel],
},
{
id: interaction.user.id,
allow: [Discord.PermissionsBitField.Flags.ViewChannel],
},
{
id: mod,
allow: [Discord.PermissionsBitField.Flags.ViewChannel],
},
],
})
.then((c) => {
const i1 = new Discord.EmbedBuilder()
.setTitle(client.user.username + " - Destek Sistemi!")
.setDescription(
`${interaction.user} Destek talebi başarıyla oluşturuldu.`
)
.setColor("Random");
c.send({ embeds: [i1], components: [row] });
interaction.reply({
content: `Biletiniz başarıyla açıldı. <#${c.id}>`,
ephemeral: true,
});
});
}
});
client.on("interactionCreate", async (interaction) => {
if (!interaction.isButton()) return;
if (interaction.customId === "kapat") {
let channel = interaction.channel;
channel.delete();
}
});
// DESTEK SİSTEMİ \\