【发布时间】:2018-04-12 01:08:19
【问题描述】:
我使用的是 Discord.NET 1.0.2,这个问题是 Discord.NET 特有的。
我正在使用 Discord.Commands 来处理我的命令,并且我将它们初始化
var msg = message as SocketUserMessage;
var context = new SocketCommandContext(_client, msg);
int argPos = 0;
if(msg.HasCharPrefix('>', ref argPos))
{
var result = await _service.ExecuteAsync(context, argPos);
}
然后在我的单独类中为我有一个特定的命令
public class Command : ModuleBase<SocketCommandContext>
{
[Command("test")]
public async Task balanceCommmand(String[] stringArray)
{
// code
}
}
但是,在运行程序时,我收到System.InvalidOperationException“附加信息:没有找到类型String[]的类型读取器,必须指定一个”
之前在async任务下用过参数,但是好像不想有一个String数组作为参数。
如何使用 Discord.Commands 1.0.2 版将字符串数组作为参数传递给命令。
如果没有办法做到这一点,有没有办法通过使用替代方法来模仿?
我在 google 上看了一圈,没有找到和我有类似问题甚至类似问题的人。
【问题讨论】:
-
您可以使用
CommandService的AddTypeReader方法添加自定义TypeReader。
标签: c# arrays discord discord.net