using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Net;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Web;
using System.Xml;
....
[DataContract]
public class iiiText
{
[DataMember]
public String value;
[DataMember]
public String delay;
[DataMember]
public String status;
[DataMember]
public String showRate;
}
[DataContract]
public class iiiAnimation
{
[DataMember]
public String type;
[DataMember]
public String duration;
[DataMember]
public String isFaded;
}
[DataContract]
public class iiiResult
{
[DataMember]
public iiiText text;
[DataMember]
public iiiAnimation animation;
[DataMember]
public String navigation;
[DataMember]
public String token;
[DataMember]
public String showExpSys;
[DataMember]
public String rubric;
}
[DataContract]
public class iiiClass
{
[DataMember]
public iiiResult result;
[DataMember]
public String id;
}
public class JSONHelper
{
public static T Deserialise
{
using (var ms = new MemoryStream(Encoding.Unicode.GetBytes(json)))
{
var serialiser = new DataContractJsonSerializer(typeof(T));
return (T)serialiser.ReadObject(ms);
}
}
}
static void Main(string[] args)
{
String ChatBotId = "xxxxxx-xxxx-xxx-xxx";
while (true)
{
String message = Console.ReadLine();
String url =
String.Format(
"https://...{0}...{1}..."
, ChatBotId
, HttpUtility.UrlEncode(message));
HttpWebRequest request = (HttpWebRequest) HttpWebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
StreamReader responseReader = new StreamReader(response.GetResponseStream(),
Encoding.GetEncoding("windows-1251"));
string html = responseReader.ReadToEnd();
Regex r = new Regex(@".+?\((.+?)\)$");
Match m = r.Match(html);
if (m.Success)
html = m.Groups[1].Value;
var answerData = JSONHelper.Deserialise
Console.WriteLine("{0}", answerData.result.text.value);
}
}