所以我正在尝试为我朋友的不和谐服务器制作一个声音机器人。我们之前从另一位朋友那里得到了一个,但由于某种原因它停止了工作,我无法获得源代码。旧机器人必须播放声音的命令只是前缀“?” 然后是声音前的名称。“?youdied”我正在使用 DSharpPlus 库(v3.2.3)在 C# 中编写这个。这是设置命令的外观:
public class BasicCommands : IModule
{
[Command("alive")]
[Description("Simple command to test if the bot is running"]
public async Task Alive(CommandContext ctx)
{
//trigger the "Typing..." in discord
await ctx.TriggerTypingAsync();
//send the message to the channel the message was received from
await ctx.RespondAsync("Shalom!");
}
}
由于旧机器人没有使用静态命令来播放声音,只是可以添加或删除的声音名称,因此不会真正使用命令。但是,我不能只将名称留空并拥有“公共异步任务”。我可以只使用“播放”命令并将声音名称作为“?play youdied”之类的参数传递,但是因为我知道它可能是可能的(尽管可能不是C#)我想尝试一下,如果有办法.
有关我的设置的更多信息:我有一个 Program.cs 文件,其中包含初始化 DiscordClient、CommandsNextModule 和 InteractivityModule 的所有内容。然后是定义方法的 BasicCommands.Modules.cs 文件,这些方法实际上是由机器人完成的。