C# .NET Core Discord 音乐机器人

Posted

技术标签:

【中文标题】C# .NET Core Discord 音乐机器人【英文标题】:C# .NET Core Discord Music Bot 【发布时间】:2019-04-30 04:18:56 【问题描述】:

所以我希望为我正在制作的机器人编写一些音乐功能。我已经尝试了一大堆不同的搜索词,但似乎无法想出任何东西。 我正在用 C# .NET Core 编写机器人

我已经掌握了基础知识。连接到语音频道等。但我不知道如何将它与 YouTube/Spotify 接口,以便它可以搜索 url 或歌曲标题。

例如,我希望能够给它一个这样的链接(youtube 或 spotify):

或者可以在 Youtube(或两者)中搜索歌曲名称:

我确信有某种库可供下载,或者我可以集成 NuGet 包或 API,但我似乎无法找到正确的搜索词来查找有关该主题的任何教程或文档。

在这方面的任何帮助将不胜感激

【问题讨论】:

如果您仍然需要帮助,请在 Discord 上查看您的 DM。 【参考方案1】:

好吧,我一直站在你的立场上,最好的解决方案是放弃所有原生 ffmpeg 和所有,只使用Sharplink。它使用lavalink 将音频发送到 discord 而不实际连接到它。

DiscordSocketClient client = new DiscordSocketClient();
LavalinkManager lavalinkManager = new LavalinkManager(client, new LavalinkManagerConfig

    RESTHost = "localhost",
    RESTPort = 2333,
    WebSocketHost = "localhost",
    WebSocketPort = 2333,
    Authorization = "YOUR_SECRET_AUTHORIZATION_KEY",
    TotalShards = 1 
);

这就是您开始的方式。 一旦设置了LavalinkManager,就需要启动它。建议你把它放在 ready 事件中。

client.Ready += async () =>

    await lavalinkManager.StartAsync();

在https://github.com/Devoxin/SharpLink 上查看文档 祝你好运

**编辑:** 我公开了我的音乐机器人,所以https://github.com/rishav394/Dota-Geek/ 在这里。留意音乐部分。

【讨论】:

好的,谢谢 :) 非常感谢并将尝试一下。我有其他几个人建议将lavalink 与维多利亚。所以我肯定会以你的代码为起点。目前我已经转向一些更紧迫的管理实用程序,但我会在测试时回复您 @JackMcCall 当然:)

以上是关于C# .NET Core Discord 音乐机器人的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js 音乐机器人:TypeError:this.inputMedia.pipe 不是函数

多对多 EF Core 已被跟踪 - C# Discord Bot

如何创建音乐机器人

Discord 音乐机器人 - 队列 (discord.py)

C# Discord.Net“上下文”

使用 DiscordJS 的音乐 Discord 机器人无法正常工作