White Chocolate Mocha
Kilopat
Daha fazla
- Sistem Özellikleri
- Ryzen 5 2600
B450M S2H V2
Apacer 8GB 3000MHz
XFX RX 570 4GB
Corsair Spec Delta RGB
Corsair VS550 (Beyaz etiketli)
- Cinsiyet
- Erkek
- Meslek
- Öğrenci
Gayet güzel bir konuya benziyor. Bot işleriyle ilgilenen bir arkadaşım var ona etiket atayım da baksın. Belki bu konu işine yarar.Dostlar merhaba. Bugün sizlere gerçekten çok gelişmiş bir sistem tanıtacağım.
Sistemimizin adı: Ses Sistemi
Sistem ne işe yarar?
- Sunucusunda kayıt sistemi olan kullanıcılar bu kod ile gelen kullanıcıları güzel bir sesle karşılayabilir. Ardından yetkili bir kişi kanala girince bot kendini susturarak müziği durdurur.
Kodlar;
JavaScript:const Discord = require('discord.js'), client = new Discord.Client({ ws: { intents: Discord.Intents.ALL }}), ytdlDiscord = require("discord-ytdl-core"); client.on('ready', async() => { client.user.setActivity("Ses Botu Yaptırmak İçin: 'furkann#4084"); play() }) const setting = { channelID: "Ses Kanalı ID", modID: "Yetkili Rol ID", videoURL: "Çalacak Müzik Linki", server: "Sunucu ID" } client.on('voiceStateUpdate', async function(oldState, newState){ if((oldState.member && oldState.member.user.bot) || (newState.member && newState.member.user.bot)) return; if(newState.channelID == setting.channelID){ if(client.channels.cache.get(setting.channelID).members.some(member => member.roles.cache.has(setting.modID)) == true) client.guilds.cache.get(setting.server).me.voice.setMute(true) } else if(oldState.channelID == setting.channelID){ if(client.channels.cache.get(setting.channelID).members.some(member => member.roles.cache.has(setting.modID)) == false) play() } }) async function play(){ let url = await ytdlDiscord(setting.videoURL, { filter: "audioonly", opusEncoded: true, encoderArgs: ['-af', 'bass=g=10,dynaudnorm=f=200'] }); let streamType = setting.videoURL.includes("youtube.com") ? "opus" : "ogg/opus"; client.channels.cache.get(setting.channelID).join().then(async connection => { if(client.channels.cache.get(setting.channelID).members.some(member => member.roles.cache.has(setting.modID)) == false) { client.guilds.cache.get(setting.server).me.voice.setMute(false) connection.play(url, {type: streamType}).on("finish", () => { play(url); }); } else play(url); }); } client.login("BotTokeni")
Buradaki settings kısmında bazı şeyleri tanımladık. Tanımladığımız şeyler;
Birisi gelince çalacak müzik, yetkili rolü, sunucu ve botun gireceği ses kanalı.
JavaScript:client.on('voiceStateUpdate', async function(oldState, newState){ if((oldState.member && oldState.member.user.bot) || (newState.member && newState.member.user.bot)) return; if(newState.channelID == setting.channelID){ if(client.channels.cache.get(setting.channelID).members.some(member => member.roles.cache.has(setting.modID)) == true) client.guilds.cache.get(setting.server).me.voice.setMute(true) } else if(oldState.channelID == setting.channelID){ if(client.channels.cache.get(setting.channelID).members.some(member => member.roles.cache.has(setting.modID)) == false) play() } })
Burada öncelikle botun sese girmesini, ardından yetkili kanala girince botun kendini susturmasını ve müziği durdurmasını ayarladık.
JavaScript:async function play(){ let url = await ytdlDiscord(setting.videoURL, { filter: "audioonly", opusEncoded: true, encoderArgs: ['-af', 'bass=g=10,dynaudnorm=f=200'] }); let streamType = setting.videoURL.includes("youtube.com") ? "opus" : "ogg/opus"; client.channels.cache.get(setting.channelID).join().then(async connection => { if(client.channels.cache.get(setting.channelID).members.some(member => member.roles.cache.has(setting.modID)) == false) { client.guilds.cache.get(setting.server).me.voice.setMute(false) connection.play(url, {type: streamType}).on("finish", () => { play(url); }); } else play(url); }); }
Burada ise çalacak müziği ve nasıl çalacağını ayarladık. Müziği settings kısmına girdiğimiz videoURL yerindeki linki çalmasını söyledik. Ardından yetkili ayrıldıktan sonra müziğe devam etmesini sağladık.
JavaScript:client.login("BotTokeni")
Buraya ise botun açılacağı tokeni girdik ve botumu açmayı başardık.
Düşüncelerinizi yorumlar kısmından belirtmeyi unutmayın.
@Çileklisüt
Şimdi Forumda birisi bir ürün incelese ona da mı "Zaten inceleyen var, benzer şeyler yazmışsınız aynısı şu sitede var." diyeceksiniz? Çok saçma bir görüş bu. Kodlar paylaşıldıkça güzeldir. Bu Forumda İngilizce makaleleri Türkçeye çevirip biraz düzenleyip önümüze sunanlar da mevcut. Ancak kimse onlara "Zaten bu makale şu sitede var" demiyor. Sizin amacınız galiba konuyu saptırmak?Hatırladığım sunucuları attım phytonicte vardı kaldırılmış galiba Vortex codede var.