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);
            }
        }
예제 #2
0
    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;
        }
    }