前提・実現したいこと
DiscordのBotで特定の単語に反応して自分が参加しているボイスチャットに音源を流すというものです。
音源はassetsにアップロードしてあるものを再生したいです。
再生が終わるもしくは特定の単語で退室して欲しいです。
発生している問題
ボイスチャットには入ってきてくれるが音源が流れない。
(Discord上では流れている判定になっているのに聞こえない)
該当のソースコード
javascript
1client.on("message", message=> { 2var sender = message.member, //送信者判別 3ch = sender.voiceChannel; //送信者が接続しているボイスチャンネルの判別 4if(message.content.includes('BGM') && ch) { //送信者が"BGM"と送ったどうかの判別 5 console.log(); 6ch.join().then(connection => { //おそらくボイスチャンネルに接続するコード 7 const mp3 = "音源のURL" 8const dispatcher = connection.playFile(mp3,{ volume: 1 } 9 ) 10 dispatcher.on("end", end => { 11 connection.leave(); 12 }); 13}); 14} 15});
試したこと
特定のコードでも退室できるようにしたかったので
javascript
1if (message.content.includes('dc')) { 2connection.leave(); 3}
を試したところ反応なし。
そのほかにも
javascript
1if (message.content.includes("dc", dc => { 2connection.leave(); 3 }));
なども試したが変わらず反応なし。
補足情報(FW/ツールのバージョンなど)
json
1{ 2 "//1": "describes your app and its dependencies", 3 "//2": "https://docs.npmjs.com/files/package.json", 4 "//3": "updating this file will download and update your packages", 5 "name": "hello-express", 6 "version": "0.0.1", 7 "description": "A simple Node app built on Express, instantly up and running.", 8 "main": "server.js", 9 "scripts": { 10 "start": "node server.js" 11 }, 12 "dependencies": { 13 "@discordjs/opus": "^0.3.3", 14 "discord.js": "^11.6.4", 15 "express": "^4.17.1", 16 "ffmpeg-static": "^4.2.7", 17 "querystring": "^0.2.0", 18 "ytdl-core": "^4.4.3" 19 }, 20 "engines": { 21 "node": "12.x" 22 }, 23 "repository": { 24 "url": "https://glitch.com/edit/#!/hello-express" 25 }, 26 "license": "MIT", 27 "keywords": [ 28 "node", 29 "glitch", 30 "express" 31 ] 32}
あなたの回答
tips
プレビュー