首先我很抱歉我的英语不好。我正在开发一个不和谐的音乐机器人,我想添加一个功能,让机器人在与语音频道断开连接之前停留30秒(当空闲=所有音乐结束时没有播放更多)
async function play(guild, song) {
const serverQueue = queue.get(guild.id);
if (!song) {
setTimeout(function() {serverQueue.voiceChannel.leave();}, 30000);
queue.delete(guild.id);
return;
}
console.log(serverQueue.songs);
const dispatcher = serverQueue.connection.playOpusStream(await ytdl(song.url))
.on('end', reason => {
console.log(reason)
serverQueue.songs.shift()
play(guild, serverQueue.songs[0])
})
.on('error', error => console.error(error));
serverQueue.textChannel.send(`\`\`\`Start playing : ${song.title}\`\`\``);
}
但我想让它立即与语音通道断开,并在使用“停止”命令时结束一切
else if (command === 'play') {
const voiceChannel = message.member.voiceChannel;
...
}
else if (command === 'stop') {
if (!message.member.voiceChannel) return message.channel.send("you are not in a voice channel")
if (!serverQueue) return message.channel.send("nothing to stop!")
serverQueue.songs = []
serverQueue.connection.dispatcher.end();
serverQueue.voiceChannel.leave();
return undefined;
}
else if (command === 'next') {
if (!message.member.voiceChannel) return message.channel.send("you are not in a voice channel")
if (!serverQueue) return message.channel.send("nothing!")
serverQueue.connection.dispatcher.end();
message.channel.send("```Next music!```");
return undefined;
}
当它播放完一段音乐后,等待30秒,然后断开连接,好吗!但问题是:如果有人在等待30秒时使用“播放”命令,它会播放他的音乐曲目,但在30秒后它会剪切所有内容(即使第二首曲目没有结束)
.
您需要将设置超时分配给变量。再次播放时,请使用clearTimeout功能。取消服务器队列。语音频道。leave()。
文档解释了如何在这里使用它
我正在为我朋友组的游戏服务器开发一个discord机器人。我想添加一个命令,使语音频道中的每个人都静音。我想这是可以工作,但它返回时不是一个函数,导致机器人崩溃。这是的工作原理是,它将服务器静音发送消息的成员,但显然不是我想要的整个频道。我对不和谐是全新的。js和文档有点混乱。谢谢你的时间!
我目前正在制作一个音乐不和谐机器人。我的问题是在命令的第一行:即使用户在语音频道中,语音频道也被标记为未定义,并且bot返回“您必须在语音频道中才能使用此命令”
我正在制作一个不和谐机器人来跟踪在语音频道上花费的时间,但我想知道我是如何做到的,它不计算在某个频道上的成员的时间,比如afk频道。 这是我现在正在使用的事件
我搜索了整个Stack Overflow,发现了很多关于如何将一个或所有成员移动到语音频道的问题,但答案不符合我的需要,当我尝试让他们看看我是否可以更改它们以满足我的需要时,他们不起作用。 在我的不和谐服务器上,如果你加入了一个名为加入创建频道的语音频道,我希望我的机器人制作一个这样命名的语音频道: f'{成员}的频道',然后自动将该人移动到该频道。我可以让机器人通过使用等待克隆(名称,原因)来制
我想制造一个播放音频文件的不和谐机器人。现在,它加入语音通道并播放音频文件,但之后拒绝离开。我的代码在下面。谁能建议一些修复,使我的机器人将离开语音频道?
有了一个机器人,我试着用discord在一个音频通道中播放一个音频文件(mp3)。js、ffmpeg和opusscript。 基本上,这就是它的工作原理: 因此,音频播放,但在结束前停止(例如,对于5s音频文件,它在3s后停止)。机器人留在频道中,我可以再次播放,但对于我的所有文件,它在结束前停止。我怎样才能解决这个问题?