JavaScript'ten ve Discord' JS den Çok İyi Anlayan Bakabilir mi?

  • Konuyu Başlatan Konuyu Başlatan Poligon
  • Başlangıç tarihi Başlangıç tarihi
  • Görüntüleme 793
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Poligon

mc.poligon.network
Katılım
13 Ekim 2018
Mesajlar
44
Elmaslar
20
Puan
13.370
Elimde böyle bir Destek Talebi Açma kodu var. Fakat üzerinde biraz oynanması gerekiyor.

Mesela herhangi bir kanalda /destek-aç komutunu kullanmak yerine, belirlenen bir kanala herhangi bir mesaj atıldığında talep açılması ve atılan mesajında o kanaldan otomatik silinmesi gerekiyor. Amaç kanaldaki kirliliği önlemek. Bunu yapabilirim diyen varsa özel mesaj atarsa sevinirim.

Kod:
client.on("message", (message) => {
  if (!message.content.startsWith(prefix) || message.author.bot) return;

if (message.content.toLowerCase().startsWith(prefix + 'destek-aç')) {
    message.delete();
    const reason = message.content.split(" ").slice(1).join(" ");
    if (!message.guild.roles.exists("name", "Asistan")) return message.channel.send(`Sunucu  \`Asistan\` rolüne sahip değil, bu yüzden yardım talebiniz oluşturulamıyor.`);
    if (message.guild.channels.exists("name", "destek-" + message.author.id)) return message.reply(`Bir yardım talebine zaten sahipsin.`)
        .then(msg => {
          msg.delete(3000);
           });
  if (!message.guild.channels.filter(c => c.type === 'category').find(c => c.name === 'Talepler')) {
    let knl = message.guild.createChannel('Talepler', 'category').then(ds => {
        message.guild.createChannel(`destek-${message.author.id}`, "text").then(c => {
          let role = message.guild.roles.find("name", "Asistan");
          let role2 = message.guild.roles.find("name", "@everyone");
          c.overwritePermissions(role, {
              SEND_MESSAGES: true,
              READ_MESSAGES: true
          });
          c.overwritePermissions(role2, {
              SEND_MESSAGES: false,
              READ_MESSAGES: false
          });
          c.overwritePermissions(message.author, {
              SEND_MESSAGES: true,
              READ_MESSAGES: true
          });
          message.channel.send(`:white_check_mark: Yardım talebiniz oluşturuldu, #${c.name}.`);
          const embed = new Discord.RichEmbed()
          .setColor(0xCF40FA)
          .addField(`Hey ${message.author.username}!`, `Yardım talebini neden açtığınızı açıkca anlatın. Asistan en kısa zamanda cevap verecektir`)
          .setTimestamp();
          c.send({ embed: embed });
        c.setParent(ds)
      }).catch(console.error);
    })
    }
  let kanal = message.guild.channels.filter(c => c.type === 'category').find(c => c.name === 'Talepler');
  if (kanal) {
    message.guild.createChannel(`destek-${message.author.id}`, "text").then(c => {
        let role = message.guild.roles.find("name", "Asistan");
        let role2 = message.guild.roles.find("name", "@everyone");
        c.overwritePermissions(role, {
            SEND_MESSAGES: true,
            READ_MESSAGES: true
        });
        c.overwritePermissions(role2, {
            SEND_MESSAGES: false,
            READ_MESSAGES: false
        });
        c.overwritePermissions(message.author, {
            SEND_MESSAGES: true,
            READ_MESSAGES: true
        });
        message.reply(`:white_check_mark: Yardım talebiniz oluşturuldu, #${c.name}.`)
        .then(msg => {
          msg.delete(3000)
           });
        const embed = new Discord.RichEmbed()
        .setColor(0xCF40FA)
        .addField(`Hey ${message.author.username}!`, `Yardım talebini neden açtığınızı açıkca anlatın. Asistan en kısa zamanda cevap verecektir`)
        .setTimestamp();
        c.send({ embed: embed });
      c.setParent(kanal)
    }).catch(console.error);
  }
    }

if (message.content.toLowerCase().startsWith(prefix + `destek-kapat`)) {
    if (!message.channel.name.startsWith(`destek-`)) return message.channel.send(`Yardım talebinizi yardım talebi kanalınızın dışındaki kanallarda kapatamazsınız.`);

    message.channel.send(`Destek talebinizi kapatmak istediğinize emin misiniz? Onayladıktan sonra geri alınamaz!\nOnaylamak için,\`/onayla\`. Yazmak için 10 saniyen var yoksa kendiliğinden iptal olur.`)
    .then((m) => {
      message.channel.awaitMessages(response => response.content === '/onayla', {
        max: 1,
        time: 10000,
        errors: ['time'],
      })
      .then((collected) => {
          message.channel.delete();
        })
        .catch(() => {
          m.edit('Kapatma talebinin zamanı geçti yardım talebin kapatılmadı.').then(m2 => {
              m2.delete();
          }, 3000);
        });
    });
}

});
 
Dostum beni arkadaş eklersen discordumdan sana bir grup atayim ordan skriptlerinede herşeyine cevap verirler.
 
ekleyemiyorum seni
 
ege#0210 dostum ekleyebilirsin.yanlış koymuşum dcyi :)
 
sorun çözülmedi arkadaşlar, yardımcı olabilecek varsa ulaşsın lütfen
 
Arkadaşlar sorunum çözüldü. @Aronshire hocam eline sağlık, çok teşekkür ederim.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst