public IHttpActionResult webhook([FromBody] LineWebhookModels data) { if (data == null) { return(BadRequest()); } if (data.events == null) { return(BadRequest()); } foreach (Event e in data.events) { if (e.type == EventType.message) { ReplyBody rb = new ReplyBody() { replyToken = e.replyToken, messages = procMessage(e.message) }; Reply reply = new Reply(rb); reply.send(); } } return(Ok(data)); }
public IHttpActionResult webhook([FromBody] LineWebhookModels data) { if (data == null) { return(BadRequest()); } if (data.events == null) { return(BadRequest()); } string senderID = ""; string replyToken = ""; foreach (Event e in data.events) { if (e.type == EventType.message) { switch (e.source.type) { case SourceType.user: senderID = e.source.userId; break; case SourceType.room: senderID = e.source.roomId; break; case SourceType.group: senderID = e.source.groupId; break; } replyToken = e.replyToken; System.IO.File.WriteAllText(@"D:\List.txt", replyToken); } } var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://api.line.me/v2/bot/message/reply"); httpWebRequest.ContentType = "application/json"; httpWebRequest.Headers.Add("Authorization", "Bearer Token..."); httpWebRequest.Method = "POST"; //將測試訊息預先寫死 var json = Encoding.UTF8.GetBytes("{\"replyToken\":\"" + replyToken + "\",\"messages\":[{\"type\":\"text\",\"text\":\"你有Free Style嗎\"}]}"); Stream stream = httpWebRequest.GetRequestStream(); stream.Write(json, 0, json.Length); stream.Close(); WebResponse response = httpWebRequest.GetResponse(); return(Ok(senderID)); }
public IHttpActionResult webhook([FromBody] LineWebhookModels data) { if (data == null) { return(BadRequest()); } if (data.events == null) { return(BadRequest()); } return(Ok(data)); }
public ActionResult qwe([FromBody] LineWebhookModels x = null) { if (x == null) { return(BadRequest()); } else { try { LineReply(x); return(Ok(x)); } catch (Exception ex) { return(BadRequest(ex)); } } }
public void LineReply(LineWebhookModels x) { string ApiUrl = "https://api.line.me/v2/bot/message/reply"; string AccessToken = "PQ8Lm5Wj/R1dD3KO4crlrEfeKN7axCE51n+1Ww61gT2YxxhmvFCkb3GxxlNU8pAth2vWYdkqg6y3OF6YUJJUerEktH+BGA/1DD0tcEFI5heQWLQx1SjUBDDpaAB2AOI9Yp5RsbptVn9fKFcGOX0OrAdB04t89/1O/w1cDnyilFU="; string replyText = "你媽的".IndexOf(x.events[0].message.text) > -1 ? "別說髒話" : "你說了:" + x.events[0].message.text; string strData = @" { ""replyToken"":""" + x.events[0].replyToken + @""", ""messages"":[ { ""type"":""text"", ""text"":""" + replyText + @""" } ] } "; Encoding encoding = Encoding.UTF8; byte[] data = encoding.GetBytes(strData); try { HttpWebRequest httpWebReq = HttpWebRequest.Create(ApiUrl) as HttpWebRequest; //初始化新的HttpWebRequest物件 httpWebReq.Method = "POST"; httpWebReq.ContentType = "application/json"; //設定Content-type HTTP標頭的值 httpWebReq.Headers.Add(HttpRequestHeader.Authorization, "Bearer " + AccessToken); httpWebReq.Timeout = 120000; //設定GetResponse和GetRequestStream方法的逾時毫秒數(預設約為100秒)秒數(預設約為100秒) //httpWebReq.Headers.Add(HttpRequestHeader.Authorization, "Bearer " + "asdasdasd"); httpWebReq.ContentLength = data.Length; //設定Content-length HTTP標頭 using (Stream reqStream = httpWebReq.GetRequestStream()) //取得用來寫入要求資料的Stream物件 { reqStream.Write(data, 0, data.Length); //將一連串的位元組寫入目前的資料流 } using (WebResponse wr = httpWebReq.GetResponse()) //傳回來自網際網路資源的資料流 { //對接收到的頁面內容進行處理 //using (StreamReader sr = new StreamReader(wr.GetResponseStream(), encoding)) //{ // responseData = sr.ReadToEnd(); // LineLoginToken ToKenObj = JsonConvert.DeserializeObject<LineLoginToken>(responseData); // LineLogin_WebRequest_GetUserProfile(ToKenObj.access_token); //} } } catch (WebException ex) { HttpWebResponse response = (HttpWebResponse)ex.Response; if (response != null && response.ContentLength != 0) { using (StreamReader sr = new StreamReader(response.GetResponseStream())) { string strError = sr.ReadToEnd(); //return strError; } } } }