一个参数的多变量/空间支持(Skype bot)

时间:2015-11-20 18:20:10

标签: c# bots params skype

我已经在Skype机器人上工作了很长时间。 请注意,我对“C”编码语言非常基本。 我使用API​​的Fir基本的东西,如Resolve或Website up ..我可以使用它们没有问题,因为它们只需要一个参数来工作所以我可以使用“Params [1]”。但对于像译者这样的更困难的事情我需要不同数量的变量。我可能需要翻译“Hello world”或“将其翻译成英文”

我需要随机数量的参数支持,因为我用1个单词可以正常工作。如果我说“!翻译Uno,Dos,Tres”它会以“One”返回,因为它不会将第二个和第三个单词识别为参数。 (我可以添加更多Params [2] Params [3]等。但是为了使命令工作,每个参数都必须被填充。)它需要是多随机变量支持,因为它将是随机量的每次有人试图使用它时的话 它可能是一个段落或只是几个字......就像我说...需要随机变量支持..或者允许空格而不需要新的Param。

这是我目前的代码:

public static void Execute(string[] Params, int chat, string username)
{
    Skyper.SendMessage(chat, new WebClient().DownloadString("http://api.c99.nl/translate.php?key=NOT_A_REAL_KEY&text=" + Params[1] + "&tolanguage=EN"));
}

这适用于第一个单词,但不适用于此之后的任何内容。如此处显示https://gyazo.com/942fa608bcbd8fc225759fce5da5ae6f 我需要一个随机的变量支持OR,以便它将Spaces计为连续参数。

我想提前感谢你帮助我。 我是那种从他的错误中吸取教训的人,我通过观察某人做到然后自己重​​复来学习。

我的SkypeBot是公开的。我一定会把这个网站&帮助我学分的用户!感谢

1 个答案:

答案 0 :(得分:0)

从网站上我看到API可以像这样使用:
http://api.c99.nl/translate.php?key=<key>&text=Hello World&tolanguage=EN 这意味着它允许空间。那么为什么不将Params参数设为字符串呢?然后你可以简单地使用“Hello world”作为参数。如果你必须使用一个单词数组,只需将它们与空格连接在一起作为分隔符:

"http://api.c99.nl/translate.php?key=NOT_A_REAL_KEY&text=" + string.Join(" ", Params) + "&tolanguage=EN" 顺便说一句,用“+”替换空格,因为查询字符串不接受空格。