Kod Menü sistemi ile rol alma

!Edip#0170
Katılım
1 Eyl 2021
Mesajlar
170
Tepkime puanı
106
Şehir
İzmir
JavaScript:
const { MessageEmbed } = require('discord.js')
const { MessageMenuOption, MessageMenu, MessageActionRow } = require('discord-buttons')
const db = require('quick.db')

module.exports = (client) => {
    client.on('message', async message => {
        if(message.content.toLowerCase() === `!seçim-menüsü` || message.content.toLowerCase() === `!seçim-menü-rolleri`) {
          
            // Menüdeki İlk Seçenek
            const Role1 = new MessageMenuOption()
            .setEtiket('WikiPedia') // Etiket
            .setDescription('Get WikiPedia Role') // Açıklama, Limit 50
            .setEmoji('811297151069323274') // Emoji ID
            .setValue('wiki') // Kullanırken İşlevini Yapmak İçin Tıklayın

            // Menüdeki ikinci Seçenek
            const Role2 = new MessageMenuOption()
            .setEtiket('YouTube') // Etiket
            .setDescription('Get YouTube Role') // Açıklama, Limit 50
            .setEmoji('806408246733832232') // Emoji ID
            .setValue('yt') // Kullanırken İşlevini Yapmak İçin Tıklayın

            // Menüdeki Üçüncü Seçenek
            const Role3 = new MessageMenuOption()
            .setEtiket('Visual Studio Code') // Etiket
            .setDescription('Get Visual Studio Code Role') // Açıklama, Limit 50
            .setEmoji('811297141669888040') // Emoji ID
            .setValue('vscode') // Kullanırken İşlevini Yapmak İçin Tıklayın

            // Menüdeki Dördüncü Seçenek
            const Role4 = new MessageMenuOption()
            .setEtiket('GitHub') // Etiket
            .setDescription('Get GitHub Role') // Açıklama, Limit 50
            .setEmoji('811297109953347595') // Emoji ID
            .setValue('git') // Kullanırken İşlevini Yapmak İçin Tıklayın

            const Menu = new MessageMenu()
            .setID('menu') // Kullanırken İşlevini Yapmak İçin Tıklayın
            .setPlaceholder('Choose Roles')
            .addOption(Role1)
            .addOption(Role2)
            .addOption(Role3)
            .addOption(Role4)
            // .setMaxValues(4) // Kaç Rol Seçebilirler // Kaç Seçim Yapabilirler // Maksimum
            // .setMinValues(1) // Kaç Rol Seçebilirler // Kaç Seçim Yapabilirler // Maksimum

            const RoleMenu = new MessageActionRow()
            .addComponent(Menu)

            message.channel.send(`Menüden Aşağıdaki Seçenekleri Seçerek Rolleri Seçin`, {
                component: RoleMenu
            })

            // İşlevini Yap
            client.on('clickMenu', async m => {
                if(m.values[0] === 'wiki') { // wikipedia'ya tıklarsa
                    m.reply.defer()
                    m.clicker.member.roles.add('811328887120199720') // wikipedia Rolü Ekle
                    m.channel.send(`<@${m.clicker.id}> WikiPedia Rolü Eklendi`).then(msg => { // O Kanala Mesaj Gönder
                        msg.delete({ timeout: 4000 }) // 4 Saniye Sonra Sil
                    })
                    // m.clicker.member.send(`WikiPedia Rolü Eklendi`) // Ayrıca DM'den göndermek için
                } else if(m.values[0] === 'yt') { // youtube tıklarsa
                    m.reply.defer()
                    m.clicker.member.roles.add('811328860414541884') // youtube rolü ekle
                    m.channel.send(`<@${m.clicker.id}> YouTube Rolü Eklendi`).then(msg => { // O Kanala Mesaj Gönder
                        msg.delete({ timeout: 4000 }) // 4 Saniye Sonra Sil
                    })
                    // m.clicker.member.send(`YouTube Rolü Eklendi`) // Ayrıca DM'den göndermek için
                } else if(m.values[0] === 'vscode') { // VS Koduna Tıklarsa
                    m.reply.defer()
                    m.clicker.member.roles.add('811328908468420628') // VS Kod rolü ekle
                    m.channel.send(`<@${m.clicker.id}> VS Code Rolü Eklendi`).then(msg => { // O Kanala Mesaj Gönder
                        msg.delete({ timeout: 4000 }) // 4 Saniye Sonra Sil
                    }) //slm naber? Bu bir istir399 Fiona:hmmlokinggood
                    // m.clicker.member.send(`VS Code Rolü Eklendi`) // Ayrıca DM'den göndermek için
                } else if(m.values[0] === 'git') { // GitHub'ı Tıklarsa
                    m.reply.defer()
                    m.clicker.member.roles.add('811328963049553931') // GitHub rolü ekle
                    m.channel.send(`<@${m.clicker.id}> GitHub Rolü Eklendi`).then(msg => { // O Kanala Mesaj Gönder
                        msg.delete({ timeout: 4000 }) // 4 Saniye Sonra Sil
                    })
                    // m.clicker.member.send(`GitHub Rolü Eklendi`) // Ayrıca DM'den göndermek için
                }
            })
        }
    })
}
 

Ekli dosyalar

  • uo3q4HQ.png
    uo3q4HQ.png
    32.5 KB · Görüntüleme: 527
  • Beğen
Tepkiler: sametello
cagatay#1000
Katılım
14 Ağu 2021
Mesajlar
102
Tepkime puanı
79
Alınan rolu kaldırma için olan halinide atabilir misiniz
 
Konu Sahibi
Edip
!Edip#0170
Katılım
1 Eyl 2021
Mesajlar
170
Tepkime puanı
106
Şehir
İzmir
Alınan rolu kaldırma için olan halinide atabilir misiniz
İşlevini Yap kısmında
JavaScript:
/*
Emoji gibi geri çekme reaksyonu olmadığından aynı sistem üzerinde bunu gerçekleştirmek mümkün olmuyor.
Farklı bir sistem daha kurarak bu işlemi yapabilirsiniz.
Örneğin:
*/
//İşlevini Yap kısmında
m.clicker.member.roles.add('rol id') // yerine,
m.clicker.member.roles.remove('rol id') // yazarsanız menüyü seçtiklerinde rol alınır.
 
  • Kalp
Tepkiler: Çağatay
sanasm#9197
Katılım
20 Ağu 2022
Mesajlar
52
Tepkime puanı
3
Şehir
Yurtdışı
hocam glicht link atarmısınız
 
yufus#6988
Katılım
3 May 2023
Mesajlar
9
Tepkime puanı
0
Şehir
İstanbul
bnde böyle bi hata alıyorum
1683070280622.png
 

Konuyu 0 kişi okuyor. (0 kayıtlı üye ve 0 ziyaretçi)

  • Bilgi