2016-12-13 32 views
0

所以我通常做一个新的bot命令与下面的代码行:如何制作不协调的动态bot命令?

private void SayHi() 
{ 
    commands.CreateCommand("sayhi").Do(async (e) => { 
      await e.Channel.SendMessage("Hi"); 
    }); 
} 

然后在一个通道,用户可以输入"!sayhi",它会打印出"Hi"。我正在尝试使用C#中的discord.net包进行动态命令。以便用户可以输入如下内容:!sayhi x其中x是用户选择使用的任何字符串。我会希望能够输出是这样的:根据相关文档"Hi x"

回答

3

commands.CreateCommand("sayhi" + x).Do(async (e) => { 
     await e.Channel.SendMessage("Hi" + x); 
}); 

与不和谐的输出看起来像。你可以使用参数方法

http://rtd.discord.foxbot.me/en/legacy/features/commands.html#example-simple

commands.CreateCommand("sayhi" + x) 
        .Parameter("Target", ParameterType.Required) 
        .Do(async (e) => 
        { 
         await e.Channel.SendMessage("Hi" + e.GetArg("Target")); 
        });