Beispiel #1
0
        static void MsgUpd()
        {
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            while (TaskManager.doOtherThreads)
            {
                try
                {
                    string offset = Settings.LastUMid == -1 ? "" : "offset=" + (Settings.LastUMid + 1);
                    string ret    = Utilites.Post("https://api.telegram.org/bot"
                                                  + Settings.GetApiToken + "/getUpdates", offset);

                    var obj = serializer.Deserialize <jsonFormats.GetUpdResRoot>(ret);

                    if (obj != null && obj.ok && obj.result.Length > 0)
                    {
                        for (int i = 0; i < obj.result.Length; i++)
                        {
                            ProcessMessage(obj.result[i]);
                        }

                        Settings.LastUMid = obj.result[obj.result.Length - 1].message.message_id;
                    }
                    Thread.Sleep(1500);
                }
                catch (Exception e)
                {
                    Debug.LogException(e);
                }
            }
        }
Beispiel #2
0
        public static bool EditMessage(string text, int targetID, int msgID)
        {
            string resultText = Utilites.Post("https://api.telegram.org/bot" + Params.TelegToken + "/editMessageText",
                                              "chat_id=" + targetID +
                                              "&message_id=" + msgID +
                                              "&text=" + HttpUtility.UrlEncode(text, Encoding.UTF8));

            return(resultText.Length > 10);
        }
Beispiel #3
0
        public static int SendMessage(string text, int targetID)
        {
            string resultText = Utilites.Post("https://api.telegram.org/bot"
                                              + Params.TelegToken + "/sendMessage",
                                              "chat_id=" + targetID +
                                              "&text=" + HttpUtility.UrlEncode(text, Encoding.UTF8));

            if (resultText.Length < 10)
            {
                return(-1);
            }

            JavaScriptSerializer serializer = new JavaScriptSerializer();
            var obj = serializer.Deserialize <jsonFormats.SendMsgResRoot>(resultText);

            return(obj?.result.message_id ?? -1);
        }
Beispiel #4
0
        static void MsgUpd()
        {
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            while (TasksMgr.doOtherThreads)
            {
                try
                {
                    string offset = Params.LastUMid == -1 ? "" : "offset=" + (Params.LastUMid + 1);
                    string ret    = Utilites.Post("https://api.telegram.org/bot"
                                                  + Params.TelegToken + "/getUpdates", offset);

                    var obj = serializer.Deserialize <jsonFormats.GetUpdResRoot>(ret);

                    if (obj != null && obj.ok && obj.result.Length > 0)
                    {
                        for (int i = 0; i < obj.result.Length; i++)
                        {
                            jsonFormats.Result result = obj.result[i];
                            int id = result.message.from.id;

                            if (result.message.message_id > Params.LastUMid)
                            {
                                switch (result.message.text)
                                {
                                case "Старт":
                                case "cтарт":
                                case "/start":
                                    if (Params.Users.Contains(id))
                                    {
                                        SendMessage("Для вас уже включена рассылка", id);
                                    }
                                    else
                                    {
                                        Params.Users.Add(id);
                                        SendMessage("Теперь вы будете получать рассылку", id);
                                        Debug.Log(result.message.from.first_name + " добавлен в список пользователей");
                                    }
                                    break;

                                case "Стоп":
                                case "cтоп":
                                case "/stop":
                                    if (Params.Users.Contains(id))
                                    {
                                        Params.Users.Remove(id);
                                        SendMessage("Теперь вы не будете получать рассылку", id);
                                        Debug.Log(result.message.from.first_name + " удалён из списка пользователей");
                                    }
                                    else
                                    {
                                        SendMessage("Вы и так не получали рассылку...", id);
                                    }
                                    break;

                                default:
                                    SendMessage("Извините, но я вас не понимаю...", id);
                                    Debug.LogWarning(result.message.from.first_name + " пишет: " + result.message.text);
                                    break;
                                }
                            }
                        }
                        Params.LastUMid = obj.result[obj.result.Length - 1].message.message_id;
                    }
                    Thread.Sleep(1500);
                }
                catch (Exception e)
                {
                    Debug.LogException(e);
                }
            }
        }