Discord 机器人:如何在语音通道中播放 mp3 文件

2024-01-11

我为粉丝服务器制作了一个自定义的 Discord 机器人,该服务器由 Heroku 托管,因此当我不在时它可以保持在线状态。我想做的是,当有人为其发出特定命令时,让机器人播放其文件夹中的 mp3 文件,但我希望音乐在特定语音通道中播放。

首先,我尝试将其视为图像文件。例如:

if (message.content == "Play the Funky Tune.")
{ 
    message.reply("Of course, I hope you enjoy!", { files: ["./Music/FunkyTune.mp3"] });
}

然而,这会导致机器人将音乐文件放在那里,虽然您可以单击它并播放它,但当您单击另一个频道时,音乐就会暂停。我希望它在特定的语音通道中播放歌曲,以便当用户单击另一个通道时它会继续播放。

在为此进行研究时,每个主题总是要求提供 YouTube 视频链接,将其转换为音频,但这不是我想要的,因为 YouTube 视频可能会发生任何事情。

P.S. 我对使用已经制作的机器人不感兴趣,我想将这个音乐功能集成到我自己的机器人中。


if (message.content == "Play the Funky Tune.") {
    // Checking if the message author is in a voice channel.
    if (!message.member.voice.channel) return message.reply("You must be in a voice channel.");
    // Checking if the bot is in a voice channel.
    if (message.guild.me.voice.channel) return message.reply("I'm already playing.");

    // Joining the channel and creating a VoiceConnection.
    message.member.voice.channel.join().then(VoiceConnection => {
        // Playing the music, and, on finish, disconnecting the bot.
        VoiceConnection.play("./Music/FunkyTune.mp3").on("finish", () => VoiceConnection.disconnect());
        message.reply("Playing...");
    }).catch(e => console.log(e))
};

请注意,您必须运行以下命令才能使其正常工作:

  • npm install ffmpeg-static
  • npm install @discordjs/opus
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Discord 机器人:如何在语音通道中播放 mp3 文件 的相关文章

  • Discord.js 获取具有特定角色的所有成员

    我正在尝试让所有具有特定角色的成员加入 每当我运行该命令时 我只得到我自己和机器人 如果机器人具有该角色 但服务器中还有其他 4 个人具有相同的角色 但他们都没有出现 如果我获取所有成员 他们就会表现得很好 有谁知道为什么会发生这种情况 C
  • 使用 typescript 将消息发送到特定通道

    每当新用户加入服务器 公会 时 我想向 欢迎 文本通道发送一条问候消息 我面临的问题是 当我找到想要的频道时 我将收到类型为GuildChannel Since GuildChannel has no send 功能 我无法发送消息 但我找
  • 使用UADetector检测机器人

    我正在测试 Java 用户代理检测器 APIhttp uaDetector sourceforge net http uadetector sourceforge net 根据项目主页 该 API 可以检测机器人 但是查看文档并使用 API
  • Discord.js 计时器,定期更新倒计时

    我目前正在制作一个计时器命令 用户可以输入类似 prefix timer 10m 的内容 机器人将启动一个 10 分钟的计时器 并且每 20 30 秒它会自我更新一次 但我不确定我该怎么做它 提前致谢 一种可能的方法是使用setInterv
  • 如何编辑嵌入不和谐中的图像?

    是否可以更改嵌入内的图像 我正在尝试重新创建一个我在 Reddit 上看到的 蚀刻草图 机器人 并且想知道它是如何完成的 到目前为止 这是我尝试过的 这是在制作图像的函数内部 code that draws the etch a sketc
  • 无法读取未定义的属性“执行”

    我有一个脚本 如果命令正确 它将运行另一个脚本 但它会返回that https i stack imgur com TO4xH png 这是代码 获取文件的代码 const fs require fs const settings requ
  • 恢复发送至自部署合约的BNB

    我正在尝试创建 BOT 因此在 BSC 中从 eatamask 创建并部署了一个合约 我向该合约发送了一些 BNB 来检查 但没有成功 我怎样才能拿回BNB 感谢帮助 因为我对此很陌生 除非您在合约中具有允许您提取资金的自定义功能 否则它们
  • 微软机器人框架自行崩溃[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我收到这个令牌请求 error invalid request error description AADSTS90002 No
  • Facebook Messenger 机器人评论

    我今天提交了我的机器人以供审核 不幸的是 Facebook 似乎无法访问该机器人 因为它不回复测试消息 但是 当我在开发者应用程序中将朋友提升为 测试员 时 机器人工作得很好 你们知道为什么机器人不响应 Facebook 测试吗 Thank
  • 如何将自定义表情符号上传到我的 Discord 机器人

    我已经制作了一个不和谐的机器人 现在我想开始添加自定义表情符号 我看过很多关于如何使用 client cache 或其他东西来输入表情符号的教程 但如何上传它们并获取它们的 ID 以在我的不和谐机器人中使用 我希望得到快速而简单的答案 lt
  • 保存 JSON 文件以便稍后从中获取其他数据

    我希望能够使用新数据保存我的 json 文件 然后调用该数据 以便我可以再次保存新数据 现在它所做的就是 当我调用 JSON 文件数据的任何部分时 保持与我上次手动保存它时相同 我确实编辑了一些代码并更好地描述了我的问题 提前谢谢您 这是我
  • Discord JS - DiscordAPIError:缺少访问权限

    所以我按照磨损钥匙教程来不和谐机器人 我不知道问题是什么 这是错误 home container node modules discord js src rest RequestHandler js 349 throw new Discor
  • 错误:找不到模块“@discordjs/opus”

    每次我运行不和谐的语音识别代码时 它都会上线 但一旦加入频道 我的代码就会显示错误 找不到模块 discordjs opus Require stack C Users SURYASH Desktop DiscordSpeechBot no
  • bet365 网站上 Selenium 的 Chrome 驱动程序陷入灰屏

    当我尝试使用 Chrome 驱动程序和 Selenium 打开 bet365 网站时出现灰屏 var driver new ChromeDriver driver Navigate GoToUrl https www bet365 it 我
  • Facebook Messenger Bot:视频附件的大小?能有多大?

    至少在此处的文档中没有说明通过 Facebook Messenger 发送视频附件时所需的大小和格式 https developers facebook com docs messenger platform send api refere
  • 检查消息是否是 DM。 (Discord.js 和 Discord.js-commando)

    如何在 Discord js 中检查消息是否为私信 我尝试了几种方法来测试这一点 我尝试过以下方法 if msg channel isDM Produced undefined if msg isDM Produced undefined
  • Slack 机器人发送图像

    我正在开发一个 slack 机器人 我正在实现一个通知功能 它将每隔一小时发送一次通知 目前 我在通知中发送普通文本 但我需要随文本一起发送图像 可以发送图片吗 您可以将图像作为消息附件的一部分发送 这可以是完整图像或缩略图 只需添加ima
  • 从 json 文件加入时添加角色 (autorole)

    我对 JS 相当陌生 为了学习 我决定为 Discord 制作一个机器人 我学到了很多并且正在继续学习 我有一个 autorole 的想法 我知道传统的做法 bot on guildMemberAdd member gt var role
  • Heroku 上重启后 Better-SQLite3 数据库重置

    我有一个 Discord 机器人better sqlite3 https github com JoshuaWise better sqlite3硬币和 XP 数据库 直到两周前它一直工作得很好 现在 每次重新启动后 它只会恢复 XP 和硬
  • TypeError [ERR_INVALID_ARG_TYPE]:“listener”参数必须是 Function 类型

    我这里有一个小问题 events js 200抛出新错误 ERR INVALID ARG TYPE listener Function listener 类型错误 ERR INVALID ARG TYPE 侦听器 参数必须是类型 功能 收到

随机推荐

  • 如何通过每种颜色的分数贡献在 n 种颜色之间进行插值?

    我怎样才能在n种颜色之间进行插值 2种颜色的简单情况 首先考虑一个更简单的情况 我们想要找到两种颜色的中点 Color1 is RGB 255 0 0 Red Color2 is RGB 128 128 128 Grey 解决方案是单独考虑
  • 如何向用户实施有限的功能推出(与语言无关)?

    我想知道向选定的用户群推出新网站功能的一些常见或最佳实践 例如 用户可以仅基于总体用户群的百分比 10 部署应该是可定制的 可配置的 并支持任意数量的功能 将部署与特定用户角色或权限 ACL 相关联也很有用 那么 从本质上讲 什么是能够很好
  • @font-face 不起作用

    我下载了一个字体inlove light wf ttf 为了使用该规则 font face 我的文件夹中有 home html and inlove light wf ttf 在我的 CSS 中我有 font face font famil
  • 如何测试“Mosquitto”服务器?

    我是新来的Mosquitto and MQTT 我下载了Mosquitto服务器库 但我不知道如何测试它 有什么办法可以测试一下Mosquitto server 在单独的终端窗口中执行以下操作 启动代理 mosquitto 启动命令行订阅者
  • 我可以将实体字段名称映射到 TypeORM 中的别名列名称吗?

    我正在使用 TypeORM 从 Rails 迁移到 NestJs 由于历史原因 Rails 中的表名和列名是snaked cased 我不想将这种麻烦复制到我们的 NestJs React 端 我可以在 NestJS typeorm 中创建
  • 使用新范围更新 Google 工作表“过滤器视图”

    我有一个电子表格 其中设置了各种过滤器视图 通常这很有效 但偶尔会添加新行 我必须手动更新每个过滤器视图中的范围 我尝试在线搜索解决方案 并提出了以下可能更新范围的代码 function UpdateFilterView var dataS
  • xcode4 工作区中的两个项目(#import 失败)

    我真的很难让它在 xcode 4 中工作 我有一个项目将在许多应用程序 网络 中重用 因此我创建一个工作区并添加我的两个项目 到目前为止 一切都很好 这就是失败的地方 import JSONRequest h 没有明显的原因 它自动完成头文
  • 在单个表列中存储多个位值

    我需要在数据库中存储某种一周中的日程安排 我可以在其中安排一周中的一天或多天的记录 假设它代表一个任务 我需要将其存储在一列中 以便于保存和检索 然后每天我都会选择时间表与本周的当前日期相匹配的记录 例如 获取时间表与第 7 周的日期相匹配
  • 内部矩阵尺寸必须一致

    我有一个矩阵A和一个向量x A是一个 50x30 矩阵 x是一个 1x30 向量 我想要倍增A by x 但每当我尝试z A x我收到错误Inner matrix dimensions must agree 然而 在列数相同的情况下 矩阵维
  • Elasticsearch Painless 计算嵌套元素的分数

    Note 我最初发布这个问题的方式有点不同 不值得更新 因为阅读后我学到了更多 要求 搜索文档并根据文档中的嵌套元素计算自定义分数 结构 mappings book properties title type string index no
  • 使用 gdb 中的函数调用堆栈进行导航

    在 Visual Studio 中 如果单击调用堆栈中的某个条目 则会打开编辑器并显示该函数的源代码 gdb 中可能有类似的东西吗 我在 gdb 中使用 tui 文本用户界面 是否可以让 tui 显示回溯中给定条目的源代码 如果没有 那么如
  • 如何在较新版本的 VS 中通过 UI 更改单元测试属性?

    几个月前 当我在使用 MSTest 进行单元测试时阅读有关数据源的内容时 我偶然发现了一些旧帖子 声称这只是进入属性并在 gui 上设置数据源的问题 这导致该属性与所需的参数一起自动添加到测试方法中 不过 我始终无法在属性网格上选择单元测试
  • 如何检查是否已为 VIRTUALENVWRAPPER_PYTHON=/usr/bin/python 等安装 virtualenvwrapper

    我正在遵循有关 Python 的 virtualenv 的指南 但遇到了一个小问题 Sahands MBP empty sahandzarrinkoub source usr local bin virtualenvwrapper sh u
  • 删除结构 C++ 向量中的重复项

    我有以下结构 我想将结构存储在向量中 其次我想删除 context 我究竟做错了什么 include
  • 编译器使用了错误的函数原型?

    我遇到了一个我不明白的编译问题 我将其简化了一些 以便在下面进行解释 基本上 它涉及到有 2 个不同的 getter 一个 const 和一个非常量 getter 它们返回一个带有 const 和非常量 value type 的容器 本例中
  • 通过命令行的Windows照片查看器 - 特殊功能[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想通过命令行执行在 Windows 7 和 Windows XP 下使用 Windows 照片查看器查
  • 使用 VBA 从工作簿中检索 OLEObjects 信息

    设想 我正在尝试使用 VBA 最初是 Python 但我找不到方法来执行此操作 读取所有信息或工作表 由于我必须读取的工作表具有不同的格式并且通常很混乱 因此我循环遍历工作表中的所有对象 获取它们的名称和值 检查或不检查 作为二进制文件 I
  • 为嵌套循环声明虚拟变量的更好方法是什么?

    方法 1 的优点是由于源代码中的文本字符较少 因此文件大小稍小 int i j for i 0 i lt numRows i for j 0 j lt numCols j
  • NSImage vs. CIImage vs. CGImage?

    我应该什么时候使用它们 NSImage 是一种抽象数据类型 可以表示许多不同类型的图像 以及图像的多种表示形式 当图像的实际类型对于您想要执行的操作并不重要时 它通常很有用 它也是 AppKit 在其 API NSImageView 等 中
  • Discord 机器人:如何在语音通道中播放 mp3 文件

    我为粉丝服务器制作了一个自定义的 Discord 机器人 该服务器由 Heroku 托管 因此当我不在时它可以保持在线状态 我想做的是 当有人为其发出特定命令时 让机器人播放其文件夹中的 mp3 文件 但我希望音乐在特定语音通道中播放 首先