Discord botundaki komut nasıl düzenlenir?

Faik_Kygsz

Centipat
Katılım
18 Ocak 2024
Mesajlar
571
Çözümler
3
Daha fazla  
Cinsiyet
Erkek
const Discord = require('discord.js'); const data = require('quick.db') exports.run = async (client, message, args) => { const prefix = await data.fetch(`prefix.${message.guild.id}`) || client.ayarlar.prefix; if(args[0] === 'gönder') { const annen = await data.fetch(`kanal.${message.guild.id}`) if(!annen) return message.channel.send(`Mesajı göndereceğim kanalı ayarlamamışsın: ${prefix}ticket-kanal ayarla #channel`) client.channels.get(annen).send(new Discord.RichEmbed() .setTitle(`Ticket Tool`) .setFooter(`Wlurzy Store - Bilet Botu`, client.user.avatarURL) .setColor('GOLD') .setDescription(`📩 tepkisine tıklayıp bir bilet oluşturup satın alımları gerçekleştirebilirsiniz.`)).then(m => { m.react('📩') let açç = (reaction, user) => reaction.emoji.name === "📩" && user.id !== client.user.id let aç = m.createReactionCollector(açç, { time: 0 }); aç.on('collect', async reaction => { const author = reaction.users.last() reaction.remove(author.id) const sd = await data.fetch(`ass.${message.guild.id}.${author.id}`) const dnn = await data.fetch(`asd.${message.guild.id}.${sd}.${author.id}`) if(dnn) return author.send(new Discord.RichEmbed() .setColor('RED') .setDescription(`Bilet limitine ulaştınız: 1/1`)) data.add(`numara.${message.guild.id}`, 5) const as = await data.fetch(`numara.${message.guild.id}`) message.guild.createChannel(`ticket-alıcı-${as}`).then(async s => { data.add(`numara.${s.id}`, as) data.set(`ass.${message.guild.id}.${author.id}`, s.id) data.set(`asd.${message.guild.id}.${s.id}.${author.id}`, 'annen') let role = message.guild.roles.find(r => r.name === '@everyone') s.overwritePermissions(role, { 'VIEW_CHANNEL': false }); message.guild.members.forEach(u => { if(u.hasPermission('MANAGE_GUILD')) { s.overwritePermissions(u, { 'VIEW_CHANNEL':true, 'SEND_MESSAGES':true, 'MANAGE_MESSAGES':true, 'MANAGE_CHANNELS':true }); }}) s.overwritePermissions(author, { 'VIEW_CHANNEL':true, 'SEND_MESSAGES':true }); s.send(`${author}, Hoşgeldin!\nÖdeme yöntemleri:\n**Papara: ** 1340367743`, new Discord.RichEmbed() .setColor('GOLD') .setDescription(`Çok yakın zaman da seninle ilgileneceğiz. Bileti kapatmak istersen: 🔒`) .setFooter(`Wlurzy Store - Bilet Botu `, client.user.avatarURL)).then(m => { m.react(`🔒`) let si = (reaction, user) => reaction.emoji.name === "🔒" && user.id !== client.user.id let s23 = m.createReactionCollector(si, { time: 0 }); s23.on('collect', async reaction => { const author = reaction.users.last() reaction.remove(author.id) m.react(`✅`) m.react(`❌`) let sil = (reaction, user) => reaction.emoji.name === "✅" && user.id !== client.user.id let sill = m.createReactionCollector(sil, { time: 0 }); let ss = (reaction, user) => reaction.emoji.name === "❌" && user.id !== client.user.id let s2 = m.createReactionCollector(ss, { time: 0 }); s2.on('collect', async reaction => { s.fetchMessages({limit:10}).then(async messages => { messages.get(m.id).reactions.get('✅').removeAll() reaction.removeAll() })}) sill.on('collect', async reaction => { let us = reaction.users.last() reaction.remove(us.id) s.send(new Discord.RichEmbed() .setColor('#ffff00') .setDescription(`Bilet ${us} tarafından kapatıldı.`)) s.setName(`closed-${as}`) s.send(new Discord.RichEmbed() .setColor('RED') .setDescription(`:unlock:: Ticketi tekrar açar. :no_entry:: Ticketi siler.`)).then(m2 => { m2.react('🔓') m2.react('⛔') let sil = (reaction, user) => reaction.emoji.name === "⛔" && user.id !== client.user.id let sill = m2.createReactionCollector(sil, { time: 0 }); let geri = (reaction, user) => reaction.emoji.name === "🔓" && user.id !== client.user.id let geriaç = m2.createReactionCollector(geri, { time: 0 }); geriaç.on('collect', async reaction => { const author = reaction.users.last() m2.delete('500') reaction.remove(author.id) s.send(new Discord.RichEmbed() .setColor('GREEN') .setDescription(`Bilet ${author} tarafından tekrar açıldı.`)) s.setName(`ticket-alıcı-${as}`) }) sill.on('collect', async reaction => { const author = reaction.users.last() reaction.remove(author.id) s.send(new Discord.RichEmbed() .setColor('RED') .setDescription(`Bilet 5 saniye sonra ebediyen silinecek.`)) setTimeout(async () => { s.delete() const sd = await data.fetch(`ass.${message.guild.id}.${author.id}`) data.delete(`asd.${message.guild.id}.${author.id}`) data.delete(`asd.${message.guild.id}.${s.id}.${author.id}`) }, 5000) }) }) }) }) }) }) }) }) } }; exports.conf = { enabled: true, guildOnly: true, aliases: ['bilet'], permLevel: 0 } exports.help = { name: 'ticket' };

2 KOD:

const Discord = require('discord.js'); const data = require('quick.db') exports.run = async (client, message, args) => { const prefix = await data.fetch(`prefix.${message.guild.id}`) || client.ayarlar.prefix; const ad = await data.fetch(`numara.${message.channel.id}`) if(message.channel.name === `ticket-alıcı-${ad}` || message.channel.name === `closed-${ad}`) { const ann = await data.fetch(`asd.${message.guild.id}.${message.channel.id}.${message.author.id}`) if(!ann) return message.channel.send(`Bu bilet senin değil.`) message.delete() message.channel.send(new Discord.RichEmbed() .setColor('#ffff00') .setDescription(`Ticket ${message.author} tarafından açıldı.`)) message.channel.setName(`ticket-alıcı-${ad}`) } else { return message.channel.send(`Bu komutu bir bilet kanalında kullanın.`) } }; exports.conf = { enabled: true, guildOnly: true, aliases: [], permLevel: 0 } exports.help = { name: 'aç' };// //RABEL CODE

Arkadaşlar w!ticket gönder diyip ticket açıyoruz sonra kapatıyoruz ve kanalı siliyoruz daha sonrasında yine açınca diyorki dm den limit 1/1 Nasıl düzeltirim birde mesala w!ticket gönder diyince bir kanala atıyor ve bir defa açınca başka açılmıyor yani o kanalda istenilen kadar açılsın istiyorum yani hep w!ticket gönder demek yerine 1 defa diyelim hep açılsın 1 defa açılmasın.
 
const Discord = require('discord.js'); const data = require('quick.db') exports.run = async (client, message, args) => { const prefix = await data.fetch(`prefix.${message.guild.id}`) || client.ayarlar.prefix; if(args[0] === 'gönder') { const annen = await data.fetch(`kanal.${message.guild.id}`) if(!annen) return message.channel.send(`Mesajı göndereceğim kanalı ayarlamamışsın: ${prefix}ticket-kanal ayarla #channel`) client.channels.get(annen).send(new Discord.RichEmbed() .setTitle(`Ticket Tool`) .setFooter(`Wlurzy Store - Bilet Botu`, client.user.avatarURL) .setColor('GOLD') .setDescription(`📩 tepkisine tıklayıp bir bilet oluşturup satın alımları gerçekleştirebilirsiniz.`)).then(m => { m.react('📩') let açç = (reaction, user) => reaction.emoji.name === "📩" && user.id !== client.user.id let aç = m.createReactionCollector(açç, { time: 0 }); aç.on('collect', async reaction => { const author = reaction.users.last() reaction.remove(author.id) const sd = await data.fetch(`ass.${message.guild.id}.${author.id}`) const dnn = await data.fetch(`asd.${message.guild.id}.${sd}.${author.id}`) if(dnn) return author.send(new Discord.RichEmbed() .setColor('RED') .setDescription(`Bilet limitine ulaştınız: 1/1`)) data.add(`numara.${message.guild.id}`, 5) const as = await data.fetch(`numara.${message.guild.id}`) message.guild.createChannel(`ticket-alıcı-${as}`).then(async s => { data.add(`numara.${s.id}`, as) data.set(`ass.${message.guild.id}.${author.id}`, s.id) data.set(`asd.${message.guild.id}.${s.id}.${author.id}`, 'annen') let role = message.guild.roles.find(r => r.name === '@everyone') s.overwritePermissions(role, { 'VIEW_CHANNEL': false }); message.guild.members.forEach(u => { if(u.hasPermission('MANAGE_GUILD')) { s.overwritePermissions(u, { 'VIEW_CHANNEL':true, 'SEND_MESSAGES':true, 'MANAGE_MESSAGES':true, 'MANAGE_CHANNELS':true }); }}) s.overwritePermissions(author, { 'VIEW_CHANNEL':true, 'SEND_MESSAGES':true }); s.send(`${author}, Hoşgeldin!\nÖdeme yöntemleri:\n**Papara: ** 1340367743`, new Discord.RichEmbed() .setColor('GOLD') .setDescription(`Çok yakın zaman da seninle ilgileneceğiz. Bileti kapatmak istersen: 🔒`) .setFooter(`Wlurzy Store - Bilet Botu `, client.user.avatarURL)).then(m => { m.react(`🔒`) let si = (reaction, user) => reaction.emoji.name === "🔒" && user.id !== client.user.id let s23 = m.createReactionCollector(si, { time: 0 }); s23.on('collect', async reaction => { const author = reaction.users.last() reaction.remove(author.id) m.react(`✅`) m.react(`❌`) let sil = (reaction, user) => reaction.emoji.name === "✅" && user.id !== client.user.id let sill = m.createReactionCollector(sil, { time: 0 }); let ss = (reaction, user) => reaction.emoji.name === "❌" && user.id !== client.user.id let s2 = m.createReactionCollector(ss, { time: 0 }); s2.on('collect', async reaction => { s.fetchMessages({limit:10}).then(async messages => { messages.get(m.id).reactions.get('✅').removeAll() reaction.removeAll() })}) sill.on('collect', async reaction => { let us = reaction.users.last() reaction.remove(us.id) s.send(new Discord.RichEmbed() .setColor('#ffff00') .setDescription(`Bilet ${us} tarafından kapatıldı.`)) s.setName(`closed-${as}`) s.send(new Discord.RichEmbed() .setColor('RED') .setDescription(`:unlock:: Ticketi tekrar açar. :no_entry:: Ticketi siler.`)).then(m2 => { m2.react('🔓') m2.react('⛔') let sil = (reaction, user) => reaction.emoji.name === "⛔" && user.id !== client.user.id let sill = m2.createReactionCollector(sil, { time: 0 }); let geri = (reaction, user) => reaction.emoji.name === "🔓" && user.id !== client.user.id let geriaç = m2.createReactionCollector(geri, { time: 0 }); geriaç.on('collect', async reaction => { const author = reaction.users.last() m2.delete('500') reaction.remove(author.id) s.send(new Discord.RichEmbed() .setColor('GREEN') .setDescription(`Bilet ${author} tarafından tekrar açıldı.`)) s.setName(`ticket-alıcı-${as}`) }) sill.on('collect', async reaction => { const author = reaction.users.last() reaction.remove(author.id) s.send(new Discord.RichEmbed() .setColor('RED') .setDescription(`Bilet 5 saniye sonra ebediyen silinecek.`)) setTimeout(async () => { s.delete() const sd = await data.fetch(`ass.${message.guild.id}.${author.id}`) data.delete(`asd.${message.guild.id}.${author.id}`) data.delete(`asd.${message.guild.id}.${s.id}.${author.id}`) }, 5000) }) }) }) }) }) }) }) }) } }; exports.conf = { enabled: true, guildOnly: true, aliases: ['bilet'], permLevel: 0 } exports.help = { name: 'ticket' };

2 KOD:

const Discord = require('discord.js'); const data = require('quick.db') exports.run = async (client, message, args) => { const prefix = await data.fetch(`prefix.${message.guild.id}`) || client.ayarlar.prefix; const ad = await data.fetch(`numara.${message.channel.id}`) if(message.channel.name === `ticket-alıcı-${ad}` || message.channel.name === `closed-${ad}`) { const ann = await data.fetch(`asd.${message.guild.id}.${message.channel.id}.${message.author.id}`) if(!ann) return message.channel.send(`Bu bilet senin değil.`) message.delete() message.channel.send(new Discord.RichEmbed() .setColor('#ffff00') .setDescription(`Ticket ${message.author} tarafından açıldı.`)) message.channel.setName(`ticket-alıcı-${ad}`) } else { return message.channel.send(`Bu komutu bir bilet kanalında kullanın.`) } }; exports.conf = { enabled: true, guildOnly: true, aliases: [], permLevel: 0 } exports.help = { name: 'aç' };// //RABEL CODE

Arkadaşlar w!ticket gönder diyip ticket açıyoruz sonra kapatıyoruz ve kanalı siliyoruz daha sonrasında yine açınca diyorki dm den limit 1/1 Nasıl düzeltirim birde mesala w!ticket gönder diyince bir kanala atıyor ve bir defa açınca başka açılmıyor yani o kanalda istenilen kadar açılsın istiyorum yani hep w!ticket gönder demek yerine 1 defa diyelim hep açılsın 1 defa açılmasın.
Hangi discord.js sürümünü kullanıyorsun ?
 
Bilmiyorum ama v12 galiba.
Ilk kod:
JavaScript:
const Discord = require('discord.js');
const data = require('quick.db');
exports.run = async (client, message, args) => {
  const prefix = await data.fetch(`prefix.${message.guild.id}`) || client.ayarlar.prefix;
  if (args[0] === 'gönder') {
    const annen = await data.fetch(`kanal.${message.guild.id}`);
    if (!annen) return message.channel.send(`Mesajı göndereceğim kanalı ayarlamamışsın: ${prefix}ticket-kanal ayarla #channel`);


    const existingTicket = await data.fetch(`ass.${message.guild.id}.${message.author.id}`);
    if (existingTicket) {
      return message.channel.send(`Zaten açık bir biletin var. Açık biletini kapatmadan yeni bir bilet açamazsın.`);
    }


    client.channels.cache.get(annen).send(new Discord.MessageEmbed()
      .setTitle(`Ticket Tool`)
      .setFooter(`Wlurzy Store - Bilet Botu`, client.user.avatarURL)
      .setColor('GOLD')
      .setDescription(`📩 tepkisine tıklayıp bir bilet oluşturup satın alımları gerçekleştirebilirsiniz.`))
      .then(m => {
        m.react('📩');
        let açç = (reaction, user) => reaction.emoji.name === "📩" && user.id !== client.user.id;
        let aç = m.createReactionCollector(açç, { time: 0 });
        aç.on('collect', async reaction => {
          const author = reaction.users.cache.last();
          reaction.users.remove(author.id);


          const sd = await data.fetch(`ass.${message.guild.id}.${author.id}`);
          const dnn = await data.fetch(`asd.${message.guild.id}.${sd}.${author.id}`);
          if (dnn) return author.send(new Discord.MessageEmbed()
            .setColor('RED')
            .setDescription(`Bilet limitine ulaştınız: 1/1`));


          data.add(`numara.${message.guild.id}`, 5);
          const as = await data.fetch(`numara.${message.guild.id}`);


          message.guild.channels.create(`ticket-alıcı-${as}`).then(async s => {
            data.add(`numara.${s.id}`, as);
            data.set(`ass.${message.guild.id}.${author.id}`, s.id);
            data.set(`asd.${message.guild.id}.${s.id}.${author.id}`, 'annen');


            let role = message.guild.roles.everyone;
            s.createOverwrite(role, { 'VIEW_CHANNEL': false });


            message.guild.members.cache.forEach(u => {
              if (u.hasPermission('MANAGE_GUILD')) {
                s.createOverwrite(u, { 'VIEW_CHANNEL': true, 'SEND_MESSAGES': true, 'MANAGE_MESSAGES': true, 'MANAGE_CHANNELS': true });
              }
            });


            s.createOverwrite(author, { 'VIEW_CHANNEL': true, 'SEND_MESSAGES': true });


            s.send(`${author}, Hoşgeldin!\nÖdeme yöntemleri:\n**Papara: ** 1340367743`, new Discord.MessageEmbed()
              .setColor('GOLD')
              .setDescription(`Çok yakın zaman da seninle ilgileneceğiz. Bileti kapatmak istersen: 🔒`)
              .setFooter(`Wlurzy Store - Bilet Botu `, client.user.avatarURL)).then(m => {
                m.react(`🔒`);
                let si = (reaction, user) => reaction.emoji.name === "🔒" && user.id !== client.user.id;
                let s23 = m.createReactionCollector(si, { time: 0 });
                s23.on('collect', async reaction => {
                  const author = reaction.users.cache.last();
                  reaction.users.remove(author.id);
                  m.react(`✅`);
                  m.react(`❌`);
                  let sil = (reaction, user) => reaction.emoji.name === "✅" && user.id !== client.user.id;
                  let sill = m.createReactionCollector(sil, { time: 0 });
                  let ss = (reaction, user) => reaction.emoji.name === "❌" && user.id !== client.user.id;
                  let s2 = m.createReactionCollector(ss, { time: 0 });


                  s2.on('collect', async reaction => {
                    s.messages.fetch({ limit: 10 }).then(async messages => {
                      messages.get(m.id).reactions.cache.get('✅').removeAll();
                      reaction.removeAll();
                    });
                  });


                  sill.on('collect', async reaction => {
                    let us = reaction.users.cache.last();
                    reaction.users.remove(us.id);


                    s.send(new Discord.MessageEmbed()
                      .setColor('#ffff00')
                      .setDescription(`Bilet ${us} tarafından kapatıldı.`));


                    s.setName(`closed-${as}`);
                    s.send(new Discord.MessageEmbed()
                      .setColor('RED')
                      .setDescription(`:unlock:: Ticketi tekrar açar.\n:no_entry:: Ticketi siler.`)).then(m2 => {
                        m2.react('🔓');
                        m2.react('⛔');


                        let sil = (reaction, user) => reaction.emoji.name === "⛔" && user.id !== client.user.id;
                        let sill = m2.createReactionCollector(sil, { time: 0 });
                        let geri = (reaction, user) => reaction.emoji.name === "🔓" && user.id !== client.user.id;
                        let geriaç = m2.createReactionCollector(geri, { time: 0 });


                        geriaç.on('collect', async reaction => {
                          const author = reaction.users.cache.last();
                          m2.delete();
                          reaction.users.remove(author.id);


                          s.send(new Discord.MessageEmbed()
                            .setColor('GREEN')
                            .setDescription(`Bilet ${author} tarafından tekrar açıldı.`));


                          s.setName(`ticket-alıcı-${as}`);
                        });


                        sill.on('collect', async reaction => {
                          const author = reaction.users.cache.last();
                          reaction.users.remove(author.id);


                          s.send(new Discord.MessageEmbed()
                            .setColor('RED')
                            .setDescription(`Bilet 5 saniye sonra ebediyen silinecek.`));


                          setTimeout(async () => {
                            s.delete();
                            const sd = await data.fetch(`ass.${message.guild.id}.${author.id}`);
                            data.delete(`asd.${message.guild.id}.${author.id}`);
                            data.delete(`asd.${message.guild.id}.${s.id}.${author.id}`);
                          }, 5000);
                        });
                      });
                  });
                });
              });
          });
        });
      });
  }
};


exports.conf = {
  enabled: true,
  guildOnly: true,
  aliases: ['bilet'],
  permLevel: 0
};


exports.help = {
  name: 'ticket'
};
Ikinci Kod:
JavaScript:
const Discord = require('discord.js');
const data = require('quick.db');
exports.run = async (client, message, args) => {
  const prefix = await data.fetch(`prefix.${message.guild.id}`) || client.ayarlar.prefix;
  const ad = await data.fetch(`numara.${message.channel.id}`);
  if (message.channel.name.startsWith(`ticket-alıcı-`) || message.channel.name.startsWith(`closed-`)) {
    const ann = await data.fetch(`asd.${message.guild.id}.${message.channel.id}.${message.author.id}`);
    if (!ann) return message.channel.send(`Bu bilet senin değil.`);
    message.delete();


    message.channel.send(new Discord.MessageEmbed()
      .setColor('#ffff00')
      .setDescription(`Ticket ${message.author} tarafından açıldı.`));


    message.channel.setName(`ticket-alıcı-${ad}`);
  } else {
    return message.channel.send(`Bu komutu bir bilet kanalında kullanın.`);
  }
};


exports.conf = {
  enabled: true,
  guildOnly: true,
  aliases: [],
  permLevel: 0
};


exports.help = {
  name: 'aç'
};
Çalışması gerekli.
 

Technopat Haberler

Geri
Yukarı