javascript - 不和谐音乐机器人跳跃功能
问题描述
我正在为我的音乐机器人设计一个跳转功能。queue.connection.dispatcher.end('skipped')
仅调用一次时,它会跳过一首歌曲,但是当我将其放入循环时,它会返回有关UnhandledPromiseRejectionWarning
. 任何人都可以帮忙吗?
下面是跳转命令的代码:
const { MessageEmbed } = require('discord.js');
module.exports = {
name: 'jump',
aliases: [''],
cooldown: 0,
description: '',
async execute(client, message, args, Discord) {
const channel = message.member.voice.channel;
if (!channel)
return message.channel.send("You must be connected to a voice channel"
);
if (!args[0])
return message.channel.send(
new MessageEmbed()
.setDescription(":x: No song number provided")
.setColor("RED")
);
if (isNaN(args[0]))
return message.channel.send(
new MessageEmbed()
.setDescription(":x: **Args must be number [Example: -remove 2]**")
.setColor("RED")
);
let queue = message.client.queue.get(message.guild.id);
if (queue.queue.length == 1)
return message.channel.send(
new MessageEmbed()
.setDescription(
":x: **Can't remove when only one song is playing, Use command stop**"
)
.setColor("RED")
);
if (args[0] > queue.queue.length)
return message.channel.send(
new MessageEmbed()
.setDescription(":x: **The queue doesn't have that much songs**")
.setColor("RED")
);
if (!queue)
return message.channel.send(
new MessageEmbed()
.setDescription(":x: **There are no songs playing in this server**")
.setColor("RED")
);
// var name = queue.queue[args[0] - 1].name;
// queue.queue.splice(args[0] - 1);
for (let i = 0; i < args[0]-1; i++) {
queue.connection.dispatcher.end('skipped');
}
return message.channel.send(new MessageEmbed().setDescription("**Jumped**").setColor("PURPLE"))
}}
解决方案
推荐阅读
- node.js - 赛普拉斯:使用标签过滤测试
- python - 如何从管理命令访问每个新帐户的 date_joined 列?
- radio-button - 如何在 Angular 上为 Ionic 5 检查单选按钮?
- python - PathLib 是如何工作的
- java - API调用后如何与Firebase用户交互?
- java - 为什么 Log4j2 不将日志写入文件?
- python - 在 Keras 中构建自定义卷积层
- .net - 当应用程序池遇到崩溃时未创建转储文件的致命通信错误时,如何调试?
- amazon-web-services - aws transfer update-server 抛出错误
- python - python selenium 处理多个类似的异常