コード例 #1
0
    public X_Json_Update GetUpdates(string toekn, string api_url)
    {
        String  telegram_url = api_url + toekn + GET_UPDATES;
        dynamic ret          = new X_Json_Update();

        WebService(telegram_url, ref ret);
        return(ret);
    }
コード例 #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;
        }
    }
コード例 #3
0
    ///////////////////////////////////////////////////////////////////////////////////

    private void WebService(String telegram_url, 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();
        }

        byte[] byteReceiveData = null;
        String error           = "";

        using (var wc = new System.Net.WebClient())
        {
            try
            {
                byteReceiveData = wc.DownloadData(telegram_url);
            }
            catch (Exception ex)
            {
                error        = "E001: " + ex.Message;
                output.ERROR = error;
            }
        }
        if (byteReceiveData != null)
        {
            Stream streamMemory = null;
            try
            {
                streamMemory = new MemoryStream(byteReceiveData);
            }
            catch (Exception ex)
            {
                error        = "E002: " + ex.Message;
                output.ERROR = error;
            }

            if (streamMemory != null)
            {
                byte[] byteCopyData = new byte[byteReceiveData.Length];
                for (int i = 0; i < byteReceiveData.Length; i++)
                {
                    byteCopyData[i] = byteReceiveData[i];
                }

                string result = System.Text.Encoding.UTF8.GetString(byteCopyData);

                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);
                            }
                            if (deserializedMessages == null)
                            {
                                error        = "E003: " + "Deserialized Messages are NULL";
                                output.ERROR = error;
                            }
                            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;
                }
            }
        }
        else
        {
            error        = "E007: " + "Received Data(byte) is NULL";
            output.ERROR = error;
        }
    }