- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我用 node.js 编写了一个机器人。我将 Crawl 的示例用于他的音乐机器人。我所做的一切都与他相似。在我完成构建后,一切正常。所有其他命令和 play
命令。但现在 2 周后机器人加入语音 channel ,亮绿色但没有声音。我更新了ffmpeg
, @discordjs/opus
, ffmpeg-static
并从 ffmpeg 下载了完整的版本,但机器人仍然没有音频。 queue
, volume
, nowplaying
, skip
, shuffle
, loop
一切正常。但是在我使用播放命令获得视频或播放列表后,机器人只加入亮绿色但没有音频。所以机器人肯定会得到网址,得到视频,得到他需要玩的一切。但加入后他并没有使用这些信息玩。歌曲结束后他也不会离开语音 channel 。
function play(guild, song) {
try {
const ServerMusicQueue = queue.get(guild.id);
if (!song) {
ServerMusicQueue.textchannel.send(`🎶 Queue ended and left the Voicechannel!`).then(message => message.delete(6000));
ServerMusicQueue.voiceChannel.leave()
queue.delete(guild.id)
return;
}
const dispatcher = ServerMusicQueue.connection.playStream(ytdl(song.url, { filter: 'audioonly', quality: 'highestaudio', highWaterMark: 1 << 25 }))
.on('end', () => {
var loopset = JSON.parse(fs.readFileSync("./rqs/loopset.json", "utf8"))
if (!loopset[message.guild.id]) {
loopset[message.guild.id] = {
loopset: config.loopset
}
}
var loop2 = loopset[message.guild.id].loopset;
if (loop2 === "true") {
play(guild, ServerMusicQueue.songs[0])
return;
}
ServerMusicQueue.songs.shift()
play(guild, ServerMusicQueue.songs[0])
})
.on('error', error => {
console.error(error)
});
dispatcher.setVolumeLogarithmic(ServerMusicQueue.volume / 5);
ServerMusicQueue.textchannel.send(`🎶 Start playing: **${song.title}**`).then(message => message.delete(8000));
} catch (error2) {
console.log(error2)
}
}
async function handleVideo(video, message, voiceChannel, playlist = false) {
const ServerMusicQueue = queue.get(message.guild.id)
const song = {
id: video.id,
title: Util.escapeMarkdown(video.title),
url: `https://www.youtube.com/watch?v=${video.id}`,
duration: video.duration,
requested: message.author.username
};
if(!ServerMusicQueue) {
const queueConstruct = {
textchannel: message.channel,
voiceChannel: voiceChannel,
connection: null,
songs: [],
volume: 5,
playing: true,
};
queue.set(message.guild.id, queueConstruct);
queueConstruct.songs.push(song)
try {
var connection = await voiceChannel.join()
queueConstruct.connection = connection;
play(message.guild, queueConstruct.songs[0])
var loopset = JSON.parse(fs.readFileSync("./rqs/loopset.json", "utf8"))
if(!loopset[message.guild.id]){
loopset[message.guild.id] = {
loopset: config.loopset
}
}
var loop2 = loopset[message.guild.id].loopset;
if(loop2 === "true") {
loopset[message.guild.id] = {
loopset: "false"
}
fs.writeFile("./rqs/loopset.json", JSON.stringify(loopset), (err) => {
if (err) console.log(err)
});
}
} catch (error) {
console.error(`Voicechannel join: ${error}`)
queue.delete(message.guild.id);
message.channel.send("Error with joining the Voicechannel!").then(message => message.delete(5000));
message.delete(4000).catch(console.error);
return;
}
} else {
ServerMusicQueue.songs.push(song);
if(playlist) return undefined;
else return message.channel.send(`🎶 **${song.title}** has been added to the queue!`).then(message => message.delete(5000));
}
return;
}
"dependencies": {
"@discordjs/opus": "^0.3.2",
"bufferutil": "^4.0.1",
"colors": "^1.4.0",
"discord.js": "^11.6.4",
"discord.js-commando": "^0.10.0",
"discord.js-musicbot-addon": "^13.9.1",
"discordjs-prompter": "^1.3.1",
"ffmpeg-static": "^4.2.2",
"file-system": "^2.2.2",
"html-entities": "^1.3.1",
"m3u8stream": "^0.7.0",
"miniget": "^1.7.0",
"ms": "^2.1.2",
"node-opus": "^0.3.3",
"npm": "^6.14.5",
"simple-youtube-api": "^5.2.1",
"sqlite": "^3.0.3",
"sqlite3": "^4.1.0",
"superagent": "^5.2.2",
"yt-search": "^1.1.2",
"ytdl-core": "^2.1.3"
}
最佳答案
尝试获取 ytdl-core,它可能会解决问题。
npm i ytdl-core
如果这不能解决问题,请尝试获取 Discord-YTDL-Core(确保保持安装 ytdl-core)
npm i discord-ytdl-core
关于ffmpeg - Discord Music Bot 加入语音 channel ,亮绿色但没有任何音频。 2周前效果很好。控制台没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62092474/
moment.js 库很棒,我几乎一直都在使用它,但我最近遇到了一些有趣的事情。我正在尝试按一年中的一周绘制数据,其中一个数据点是 2013 年 12 月 31 日,moment.js 告诉我这是第
有没有办法可以找到给定一年的最后一周的数字。 例如,对于年份 2018 , 2018 的最后一周数是 52。 年份 2015 , 上周数字是 53。 最佳答案 如果您指的是 ISO 周,那么您可以使用
我正在尝试创建一个 if 语句,该语句根据当前日期检查日期,如果日期少于 2 周,则抛出 错误。 我当前的代码 const moment = require('moment') const today
转换 Spark 数据帧 +----+---------+------+ |name|date |amount| +----+---------+------+ |Jhon|4/6/2018
我有这段代码,我想在从日期选择器获取的日期中添加 40 周,并在将 40 周(280 天)添加到从日期选择器获取的日期后获取新日期。 代码: public class MainActivity ext
我的 table 上有一个 timestamp字段,这是一个标准的 RethinkDB 日期字段。 我可以使用此时间戳字段按天/周/月对行进行分组吗?在 group() 文档中找不到任何示例。 最佳答
当用户单击日/周/月按钮时,我需要运行一些 Javascript 代码来重新加载日历。是否有类似 dayButtonClicked() 之类的回调? 发生BUG: 当我第一次加载日历时。最初的 Vie
当我收到年份、周数和星期几时,如何在 C# 中计算日期。例如:年份 = 2011周 = 27天 = 6 结果应该是 2011-7-10 感谢大家。我根据维基百科算法解决了它。 最佳答案 此处没有 C#
如何使用 c#.net 每天、每周和每月发送电子邮件? 我正在考虑创建一个 Windows 服务应用程序,但我不知道该怎么做,也不知道该怎么做。 非常感谢您的想法。 最佳答案 Windows 服务可能
最近我在处理全日历。我想更改周 View 中日期的格式。我发现很多人使用 columnFormat: { month: 'ddd', week: 'ddd d/M', day: 'dddd d/M'
我正在使用一个完整的日历插件来显示各种事件。 我的问题是,当我更改正在查看的月份/周,然后刷新时,我会回到当前的月份/周,而我想留在之前查看的同一个月/周。即如果现在是八月,我回到七月,然后刷新,我希
我有一个按周计算所有工单的查询,但我需要将其转换为动态两行报告,将周开始日期移动到列中? 这就是我试图让它做的事情.. 这是我的查询: SELECT td_type, FROM_DAYS(TO_DAY
我想获取某件事的统计数据。 我正在尝试统计今天、本周、本月的情况。 我的查询: "SELECT COUNT(id) FROM images i WHERE i.user_id = 3 GROUP BY
我正在开发一个有 200.000 个页面的网站。还有一个浏览部分,显示最受欢迎、评价最高等文档。然而,在发布几周后,此部分将变得几乎静态。所以我还想实现一个过滤系统,它将显示今天、本周、本月最受欢迎的
如何从字段日期早于现在 + 2 周的 MySQL 数据库中获取行? 我试过了 WHERE date_ready < DATE_SUB(CURDATE(), INTERVAL 2 WEEK) 但这不是我
我有下表: create table my_table ( SubjectID int, Date Date, Test_Value int ); insert into my_table(Su
好吧,这几天我一直在努力解决这个问题。我是一个 super 初学者,我有一个标签。在该标签中,我显示了日期 1/20/21。我能够做到这一点。然后我有一个按钮。我希望每次单击该按钮都会将日期增加 14
我有一个数据集,其中包含工厂 worker 三年产出的数据。现在我想获得基于日期、周、月的平均输出。问题是日期格式类似于 %d.%m.%Y(日-月-年)。我的问题是如何在保持日期格式不变的同时获得预期
我有这样的东西 DateTime.Now.ToString("dd.MM.yy"); 在我的代码中,我需要添加 1 周,比如 5.4.2012 变成12.4.2012 我试过转成int再累加,但是到3
我已经阅读了几篇关于在 mysql 查询中估计移动平均值的文章,但是我的情况似乎稍微困难一些,因为该表不包含我想要计算平均值的列。我需要计算每组的行数,并显示该组的移动平均值。 表中基本上只有一列相关
我是一名优秀的程序员,十分优秀!