C# C Discord Bot,尝试为命令包含API
我是一个新手程序员,我正在尝试为服务器组装一个小型Discord机器人。在花了一两个小时试图弄清楚如何使用API之后,我放弃了,来寻求帮助 目前我正在使用C# C Discord Bot,尝试为命令包含API,c#,json,api,discord,C#,Json,Api,Discord,我是一个新手程序员,我正在尝试为服务器组装一个小型Discord机器人。在花了一两个小时试图弄清楚如何使用API之后,我放弃了,来寻求帮助 目前我正在使用 public static async Task<string> GetRequest(string url) { using (HttpClient client = new HttpClient()) { using (HttpResponseMessage r
public static async Task<string> GetRequest(string url)
{
using (HttpClient client = new HttpClient())
{
using (HttpResponseMessage response = await client.GetAsync(url))
{
using (HttpContent content = response.Content)
{
string myContent = await content.ReadAsStringAsync();
var obj = JObject.Parse(myContent);
var ret = (string)obj["joke"];
Console.WriteLine("joke: {0}", ret);
return ret;
}
}
}
}
当笑话API使用笑话时,代码正在寻找带有标签事实的内容;您不能只在不同的API之间使用相同的代码,特别是当它们具有类似JSON的结构化内容时 试着改变 var ret=stringobj[事实] 致: var ret=stringobject[笑话] 我建议你阅读:在W3 请务必始终注意API文档: 获取一个随机笑话作为JSON:
您可以看到JSON结构和笑话字段。我在复制/粘贴代码时就是这么做的@CasinoBoyale很明显,控制台输出显示的代码比您共享的代码多,请共享@CasinoBoyale,另外,请指出哪些代码不起作用;纯粹基于您共享的代码,字段访问是个问题。使用3不会将输出输出到控制台。
$ curl -H "Accept: application/json" https://icanhazdadjoke.com/
{
"id": "R7UfaahVfFd",
"joke": "My dog used to chase people on a bike a lot. It got so bad I had to take his bike away.",
"status": 200
}