- Dark Creative#8386
- Katılım
- 1 Eki 2021
- Mesajlar
- 9
- Tepkime puanı
- 3
Aşşağıdaki Kodu Maine Atmanız Lazım Yoksa Çalışmaz
JavaScript:
const disbut = require("discord-buttons")
client.on("message", message => {
// main klasörüne atılacaktır.
if(message.content.toLowerCase().startsWith("deneme")){ //Çalışmazsa Discorddan Bana Bildirin
let firstOption = new disbut.MessageMenuOption()
.setValue("first")
.setDescription("First Option Description")
.setLabel("First Option")
let secondOption = new disbut.MessageMenuOption()
.setValue("second")
.setDescription("Second Option Description")
.setLabel("Second Option")
let thirdOption = new disbut.MessageMenuOption()
.setValue("third")
.setDescription("Third Option Description")
.setLabel("Third Option")
// Bütün menü seçenekleri aşağıdaki örnekten yola çıkarak yapılabilir ama örnekleri çoğalttığınızda veya eksilttiğinizde veya id değişimi yaptığınızda lütfen ClickMenu eventinde de gereken ayarlamaları yapın
let fourthOption = new disbut.MessageMenuOption()
.setValue("fourth") // id ellemeyin. Elleyecekseniz de eğer clickMenu eventini de ona göre düzenleyin.
.setDescription("Fourth Option Description") // bütün menüler için Description kısmı 2 satırdan oluşan seçeneğin alttaki yazısıdır. Açıklamadır.
.setLabel("Fourth Option") // Üstte bahsettiğim iki kısımdan üstte olanıdır. Başlıktır. Seçeneğin başlığı olarak gözükür.
let menu = new disbut.MessageMenu()
.setPlaceholder("Choose options which you want") // stringi değişebilirsiniz seçim yapılmamışken gözüken yazıdır.
.setID("menu")
.addOptions(firstOption, secondOption, thirdOption, fourthOption)
.setMinValues(0)
.setMaxValues(4)
// bu embeddir boş mesaj göndermemek için yaptım ama siz buraya embed yazmayıp yazı da yazabilirsiniz.
let embed = new Discord.MessageEmbed()
.setDescription("İşte menü")
// embedi silecekseniz yazı ile gönderecekseniz message.channel.send(`mesajınız`, {component: menu}) yapmanız lazım.
message.channel.send({
embed: embed,
component: menu
})
// event kısmıdır
client.on("clickMenu", async menu => {
if(menu.clicker.id !== message.author.id) return;
await menu.clicker.fetch();
await menu.reply.think(true)
if(menu.values[0] === "first"){
if(menu.clicker.member.roles.cache.has("rolid")){ // rol var mı diye kontrol ediyor
menu.clicker.member.roles.remove("rolid"); //varsa rolü geri alıyor
} else {
menu.clicker.member.roles.add("rolid") // yoksa rolü veriyor
}
menu.reply.edit("Rollerin düzenlendi.") // seçim bittikten sonra atılan mesaj bütün mesajların aynı olmasına özen gösterin karışıklık olmasın.
}
if(menu.values[0] === "second"){
if(menu.clicker.member.roles.cache.has("rolid")){ // rol var mı diye kontrol ediyor
menu.clicker.member.roles.remove("rolid"); //varsa rolü geri alıyor
} else {
menu.clicker.member.roles.add("rolid") // yoksa rolü veriyor
}
menu.reply.edit("Rollerin düzenlendi.")
}
if(menu.values[0] === "third"){
if(menu.clicker.member.roles.cache.has("rolid")){ // rol var mı diye kontrol ediyor
menu.clicker.member.roles.remove("rolid"); //varsa rolü geri alıyor
} else {
menu.clicker.member.roles.add("rolid") // yoksa rolü veriyor
}
menu.reply.edit("Rollerin düzenlendi.")
}
if(menu.values[0] === "fourth"){
if(menu.clicker.member.roles.cache.has("rolid")){ // rol var mı diye kontrol ediyor
menu.clicker.member.roles.remove("rolid"); //varsa rolü geri alıyor
} else {
menu.clicker.member.roles.add("rolid") // yoksa rolü veriyor
}
menu.reply.edit("Rollerin düzenlendi.")
}
})
}
})