- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个 hydra 风格的 bot discord,它带有一个嵌入,可以自动获得指定的控制 react ,我可以用它来暂停、继续、停止音乐等......
我有一个问题,如果我尝试启动暂停输入“*psres”的命令,一切正常,但是,如果我尝试通过 react 启动暂停命令,它会给我以下错误:
(node:20172) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'voice' of undefined
at Object.execute (C:\Users\Giuseppe\Desktop\botdiscord\commands\psres.js:9:40)
at Client.<anonymous> (C:\Users\Giuseppe\Desktop\botdiscord\commands\setup.js:41:53)
这是我的 setup.js:
module.exports = {
name: 'setup',
description: "music embed with reaction",
async execute(message, args, Discord, client){
const channel = '831573587579371580';
const playem = '⏯️';
const stopem = '⏹️';
const nextem = '⏭️';
const shuffleem = '🔀';
const casualem = '🔄';
let embed = new Discord.MessageEmbed()
.setColor('#e42643')
.setTitle('Barman')
.setImage('https://images4.alphacoders.com/943/943845.jpg')
.setFooter('il prefisso del bot è: *');
console.log('message: ' + message )
console.log('args: ' + args)
console.log('Discord: ' + Discord)
console.log('client: ' + client)
let messageEmbed = await message.channel.send(embed);
messageEmbed.react(playem);
messageEmbed.react(stopem);
messageEmbed.react(nextem);
messageEmbed.react(shuffleem);
messageEmbed.react(casualem);
client.on('messageReactionAdd', async (reaction, user) =>{
if (reaction.message.partial) await reaction.message.fetch();
if (reaction.partial) await reaction.fetch();
if (user.bot) return;
if (!reaction.message.guild) return;
if (reaction.message.channel.id == channel){
if (reaction.emoji.name === playem){
console.log('pause/resume');
client.commands.get('psres').execute(message, client, args) //line of error
}
}
});
}
}
这是我的暂停/恢复命令:
const { MessageEmbed } = require("discord.js")
const { COLOR } = require("../config.json");
module.exports = {
name: "psres",
description: "pause/resume",
async execute (client, message, args) {
const { channel } = message.member.voice; /line of error
let embed = new MessageEmbed()
.setColor(COLOR);
if (!channel) {
embed.setAuthor("Devi essere in un canale vocale!")
return message.channel.send(embed);
}
const serverQueue = message.client.queue.get(message.guild.id);
//prova
if (!serverQueue) {
embed.setAuthor("Non c'è nulla che possa mettere in pausa")
return message.channel.send(embed);
}
if(serverQueue && serverQueue.playing) {
serverQueue.playing = false;
serverQueue.connection.dispatcher.pause(true)
embed.setDescription("✅ | Canzone messa in pausa")
embed.setThumbnail(client.user.displayAvatarURL())
return message.channel.send(embed)
} else if(serverQueue && !serverQueue.playing) {
serverQueue.playing = true;
serverQueue.connection.dispatcher.resume()
embed.setAuthor("✅ | Riprendi")
embed.setThumbnail(client.user.displayAvatarURL())
return message.channel.send(embed)
}
embed.setDescription("Non c'è nulla che io possa riprendere")
message.channel.send(embed)
}
}
最佳答案
在您的 setup.js 文件中,命令处理程序是 client.commands.get('psres').execute(message, client, args)
,其中 message、client 和 args 作为参数。但是在暂停/恢复命令文件中,您正在执行 execute (client, message, args)
并将 client、message 和 args 作为参数。这些对象不是您认为的那样,因为如果您比较它们,则参数不匹配/顺序错误。因此,根据设置命令参数或您在暂停/恢复命令中执行的方式来匹配参数。
关于javascript - Music Bot discord.js 问题,无法读取未定义的属性 'voice',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67134409/
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我正在努力将 Apple Music 集成到我的网络应用程序中。我使用 Apple 的 MusicKit JS 让用户验证一次。但是,我很好奇结果是否为 Music User Token到期。我将此
Apple 在 StoreKit 框架中提供了一种方法来检测用户是否订阅了 Apple Music,但它根本不起作用。我订阅了 Apple Music,既可以在我的应用程序内收听歌曲,也可以从我的应用
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 9年前关闭。 Improve this q
有人有关于背景音乐程序生成的好书/文章推荐吗? (没有人声,只有乐器)。 我对以下内容不感兴趣: How do I generate the sound of a particular note on
我正在使用[MPMusicPlayerController applicationMusicPlayer]播放Apple Music。 (AVPlayer和AVAudioPlayer不适用于Apple
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 4 年前。 Improve this qu
我正在考虑使用程序生成音乐。我希望找到一个非常简单的 API,我可以在其中调用乐器、音符、持续时间并将歌曲串在一起(我当然会选择任何东西,但这将是我的偏好)。有没有图书馆可以做到这一点? 最佳答案 您
我正在使用eclipse和libgdx开发一个简单的游戏。 目前,我在游戏中使用“音乐”而不是“声音”来产生声音效果。 我制作了一个用于使所有声音fx静音的按钮,但在涉及“声音”而不是音乐时遇到了问题
我正在使用Apple的新Apple Music API制作应用程序。我有一个带有歌曲列表的屏幕,用户可以点击其中的一个来播放。我的代码部分有效。轻击的歌曲将播放,但不会出现在控制中心上。控制中心保持为
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我在本地 iOS 音乐应用程序中获取当前正在播放的歌曲信息(如(标题、艺术家...))时遇到了一些问题。 这是确切的问题,我的应用程序正在使用 MPMusicPlayerController与 iPo
我正在用 swift 制作一个音乐应用程序。该应用程序允许用户通过 Apple Music 应用程序订阅 Apple Music 来播放音乐。我可以通过以下方式检查用户是否订阅了 Apple Musi
问题 我在加载歌曲以进行我尝试创建的小型 Android 游戏练习时遇到困难。所有图形和渲染都完美运行,将其下载到我的 Android 平板电脑上效果很好,显示效果也很好。但是,当我尝试添加一些背景音
我想使用Essentia Library提取本地音频文件的高级音乐功能。 在Windows中使用Essentia的默认方法是使用预编译的二进制文件,例如streaming_extractor_musi
尝试使用以下代码使用 MPMusicPlayerController 播放歌曲 let musicPlayerController = MPMusicPlayerController.systemMu
当您单击此页面底部的“下一步,连接”部分时,我想重新创建动画 http://www.apple.com/music/radio/ 有谁知道如何在 JS 或 CSS3 中重新创建它以获得完美的页面转换?
我创建了一种“格式”来存储音乐片段(前奏部分、重复部分、结尾部分)和这些片段的时间信息(偏移量、乐谱长度),这样我就可以实时混合它们,就像这是一首音乐,同时无限期地重复重复的部分(可选)。这样,片段可
我正在制作一个音乐应用程序,您可以在其中向现有音序器添加新乐器。这些乐器是单独的 AudioUnitSampler,存储在一个数组中,因此当加载新乐器和音轨时,它会加载该音轨将要使用的声音。 这就是我
我正在编写一个节拍器应用程序,当用户在应用程序之外(浏览等)并且没有有意识地按下停止按钮时,我希望通过服务继续运行声音。 看来我应该使用 startForeground() 因为它不是那种你想要在后台
我是一名优秀的程序员,十分优秀!