Discord Sunucuları İçin Ses Sistemi

Asansörcü

80+ Bronze
Katılım
13 Ekim 2020
Mesajlar
715
Reaksiyon skoru
738
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.

Konu hoşunuza gittiyse beğenmeyi ve düşüncelerinizi yorumlardan belirtmeyi unutmayın.
Mesajlar otomatik olarak birleştirildi:

Dostlar böyle güzel bir koda bu kadar az rağbet mi :(
 
Son düzenleme:
Baya güzel bir bot olmuş tebrikler
 
Geri
Top