public void Post() { String result = Request.Content.ReadAsStringAsync().Result; TelegramInterface _interface = new TelegramInterface(); //HackTelegram core = new HackTelegram(); dynamic messages = new X_Json_WebHook(); _interface.ParseTelegramJson(result, ref messages); if (messages.message != null) { //core.Start(messages, !HAS_CALLBACK); } else { messages = new X_Json_CallBack(); _interface.ParseTelegramJson(result, ref messages); //core.Start(messages, HAS_CALLBACK); } }
public void ParseTelegramJson(String json, ref dynamic output) { if (output is X_Json_Update) { output = new X_Json_Update(); } else if (output is X_Json_Me) { output = new X_Json_Me(); } else if (output is X_Json_Send) { output = new X_Json_Send(); } else if (output is X_Json_WebHook) { output = new X_Json_WebHook(); } else if (output is X_Json_CallBack) { output = new X_Json_CallBack(); } String error = ""; string result = json; try { if (!string.IsNullOrEmpty(result)) { try { dynamic deserializedMessages = null; if (output is X_Json_Update) { deserializedMessages = new X_Json_Update(); deserializedMessages = JsonConvert.DeserializeObject <X_Json_Update>(result); } else if (output is X_Json_Me) { deserializedMessages = new X_Json_Me(); deserializedMessages = JsonConvert.DeserializeObject <X_Json_Me>(result); } else if (output is X_Json_Send) { deserializedMessages = new X_Json_Send(); deserializedMessages = JsonConvert.DeserializeObject <X_Json_Send>(result); } else if (output is X_Json_WebHook) { deserializedMessages = new X_Json_WebHook(); deserializedMessages = JsonConvert.DeserializeObject <X_Json_WebHook>(result); } else if (output is X_Json_CallBack) { deserializedMessages = new X_Json_CallBack(); deserializedMessages = JsonConvert.DeserializeObject <X_Json_CallBack>(result); } if (deserializedMessages == null) { error = "E003: " + "Deserialized Messages are NULL"; output.ERROR = error; } else { if (output is X_Json_WebHook) { output = deserializedMessages; output.ERROR = "NaN"; } else if (output is X_Json_CallBack) { output = deserializedMessages; output.ERROR = "NaN"; } else { if (deserializedMessages.ok) { output = deserializedMessages; output.ERROR = "NaN"; } else { error = "E004: " + "Deserialized Messages are NOT OK!"; output.ERROR = error; } } } } catch (Exception ex) { error = "E005: " + ex.Message; output.ERROR = error; } } } catch (Exception ex) { error = "E006: " + ex.Message; output.ERROR = error; } }