コード例 #1
0
 public void CommandPDDG(string[] parsResult, ParamResponse e, TGUpl a)
 {
     if (e.replyMessageText != null && e.replyMessageText != "")
     {
         a.SendMessage(ParseDDG(e.replyMessageText), e.chatId);
     }
     else
     {
         a.SendMessage("Нечего парсить", e.chatId);
     }
 }
コード例 #2
0
 public void MainModerCommandMT(string[] parsResult, ParamResponse e, TGUpl a)
 {
     if (parsResult[2] != "")
     {
         a.SendMessage(parsResult[2], parsResult[1]);
     }
     else if (e.replyMessageText != null)
     {
         a.SendMessage(e.replyMessageText, parsResult[1], e.replyMessageType);
     }
     else
     {
         InvalidData(e, a);
     }
 }
コード例 #3
0
        public void MainModerCommandGCS(string[] parsResult, ParamResponse e, TGUpl a)
        {
            string result = "";

            for (int i = 0; i < ChCount; i++)
            {
                result += ChBot[i].chatName + " ```" + ChBot[i].chatId + "```\n";
            }
            a.SendMessage(result, MainModer.UId);
        }
コード例 #4
0
 public void MainModerCommandMTA(string[] parsResult, ParamResponse e, TGUpl a)
 {
     for (int i = 0; i < ChCount; i++)
     {
         if (parsResult[1] + parsResult[2] != "")
         {
             a.SendMessage(parsResult[1] + parsResult[2], ChBot[i].chatId);
         }
         else if (e.replyMessageText != null)
         {
             a.SendMessage(e.replyMessageText, ChBot[i].chatId, e.replyMessageType);
         }
         else
         {
             InvalidData(e, a);
             break;
         }
     }
 }
コード例 #5
0
        //WorkMethods

        public void AutoWrite()
        {
            TGUpl a = new TGUpl();

            while (true)
            {
                FileWorker.WriteData(this);
                a.SendMessage("Автосохранение прошло успешно.", MainModer.UId);
                Thread.Sleep(300000);
            }
        }
コード例 #6
0
        public void TResponse(string TWord, ParamResponse e, TGUpl a)
        {
            int CureChat = GetChat(e.chatId);

            if (CureChat == -1)
            {
                return;
            }
            int TId = ChBot[CureChat].GetTrigger(TWord);

            if (TId != -1)
            {
                Trigger send = ChBot[CureChat].TArray[TId];
                a.SendMessage(send.TResponse, e.chatId, send.TType, true);
                if (Semafor.Semafor.BadTrigger == true)
                {
                    a.SendMessage("Триггер сломан и будет удалён", e.chatId);
                    ChBot[CureChat].DeleteTrigger(TId);
                    Semafor.Semafor.BadTrigger = false;
                }
            }
        }
コード例 #7
0
        public void CommandGTL(string[] parsResult, ParamResponse e, TGUpl a)
        {
            int CureChat = GetChat(e.chatId);

            if (CureChat == -1)
            {
                return;
            }
            string result = "";

            for (int i = 0; i < ChBot[CureChat].TCount; i++)
            {
                result += ChBot[CureChat].TArray[i].TWord + '\n';
            }
            if (result != "")
            {
                a.SendMessage(result, e.chatId);
            }
            else
            {
                a.SendMessage("Триггеры не найдены.", e.chatId);
            }
        }
コード例 #8
0
        public void SayHello(ParamResponse e, TGUpl a)
        {
            int CureChat = GetChat(e.chatId);

            try
            {
                if (this.ChBot[CureChat].CInv.TResponse != "" && this.ChBot[CureChat].CInv.TResponse != null)
                {
                    if (this.ChBot[CureChat].CInv.TType != "Message")
                    {
                        a.SendMessage("@" + e.NewMember, e.chatId);
                        a.SendMessage(this.ChBot[CureChat].CInv.TResponse, e.chatId, this.ChBot[CureChat].CInv.TType);
                    }
                    else
                    {
                        a.SendMessage("@" + e.NewMember + " " + this.ChBot[CureChat].CInv.TResponse, e.chatId, this.ChBot[CureChat].CInv.TType);
                    }
                }
            }
            catch
            {
                return;
            }
        }
コード例 #9
0
        public void CommandI(string[] parsResult, ParamResponse e, TGUpl a)
        {
            string result = "";

            if (e.replyMessageText == null)
            {
                result += "Айди чата: " + ((e.chatId == null)?e.ChannelID:e.chatId) + '\n';
                result += "Время МСК: " + AnotherMethod.UnixTimeStampToDateTime(long.Parse(e.Date));
            }
            else
            {
                result += "Юзернейм: " + e.replyMessageUsername + " id: " + e.replyMessageUID + "\n";
                result += "Время сообщения по МСК: " + AnotherMethod.UnixTimeStampToDateTime(long.Parse(e.ReplyMessageDate));
            }
            a.SendMessage(result, e.chatId);
        }
コード例 #10
0
 public void CommandGetInfo(string[] parsResult, ParamResponse e, TGUpl a)
 {
     if (e.chatId == MainModer.UId)
     {
         string info = "/st - установка триггера\n";
         info += "/dt - удаление триггера\n";
         info += "/sm lvl - установка модератора\n";
         info += "/dm - удаление модератора\n";
         info += "/sa - сохранить всё\n";
         info += "/gtl - получить список триггеров\n";
         info += "/i - информация о чате или сообщении или канале\n";
         info += "/gtl_d - список триггеров для администратора\n";
         info += "/si - установка приветствий\n";
         info += "/gcs - получение списка чатов, где есть бот\n";
         info += "/lc - покинуть чат и удалить триггеры этого чата\n";
         info += "/get_i - показать приветствие\n";
         info += "/p_ddg - парсинг списка отряда из ddg\n";
         info += "/Mta - рассылка сообщения во все чаты, куда бот был добавлен после обновления\n";
         info += "/get_info - получить информацию\n";
         a.SendMessage(info, MainModer.UId);
     }
 }
コード例 #11
0
        public Trigger TForm(string[] parsResult, ParamResponse e, TGUpl a, Moder CureModer)
        {
            Trigger AT = new Trigger();

            AT.TLvl  = CureModer.MLvl;
            AT.TWord = parsResult[1];
            if (parsResult[2] == "" && e.replyMessageText != null)
            {
                AT.TType     = e.replyMessageType;
                AT.TResponse = e.replyMessageText;
            }
            else if (e.replyMessageText == null && parsResult[2] != "")
            {
                AT.TType     = "Message";
                AT.TResponse = parsResult[2];
            }
            else
            {
                a.SendMessage("Невозможно добавить пустой триггер", e.chatId);
                AT.TType     = null;
                AT.TResponse = null;
            }
            return(AT);
        }
コード例 #12
0
        public void CommandCentre(ParamResponse e)
        {
            TGUpl a = new TGUpl();

            if (e.callback == true)
            {
                PollHandler.Handler(e, a);
            }
            else
            {
                int CureChat = GetChat(e.chatId);
                if (CureChat == -1)
                {
                    if (e.UId == MainModer.UId)
                    {
                        this.AddChat(MakeChat(e, a));
                    }
                    else if (e.UId == e.chatId)
                    {
                        this.AddChat(MakeChat(e, a));
                    }
                    else
                    {
                        a.LeaveTheGroup(e.chatId);
                    }
                }
                string[] parsResult = ParsMessage(e.message);
                switch (parsResult[0])
                {
                case "/st": CommandST(parsResult, e, a); break;

                case "/dt": CommandDT(parsResult, e, a); break;

                case "/sm": CommandSM(parsResult, e, a); break;

                case "/dm": CommandDM(parsResult, e, a); break;

                case "/gtl": CommandGTL(parsResult, e, a); break;

                case "/i": CommandI(parsResult, e, a); break;

                case "/si": CommandSI(parsResult, e, a); break;

                case "/p_ddg": CommandPDDG(parsResult, e, a); break;

                case "/info": CommandInfo(parsResult, e, a); break;

                case "/get_info": CommandGetInfo(parsResult, e, a); break;

                case "/reg_me": CommandRegMe(parsResult, e, a); break;

                case "/mp": a.SendPoll(e.message, e.chatId, e.replyMessageText); break;

                default: break;
                }
                if (e.NewMember != null && e.NewMemberID == TGReq.TGUpl.BotUID)
                {
                    if (e.UId == MainModer.UId)
                    {
                        this.AddChat(MakeChat(e, a));
                    }
                    else
                    {
                        a.LeaveTheGroup(e.chatId);
                    }
                }
                if (e.NewMember != "" && e.NewMember != null && e.NewMemberID != TGReq.TGUpl.BotUID)
                {
                    SayHello(e, a);
                }
                if (e.MemberQuit != "" && e.MemberQuit != null && e.MemberQuitID == TGReq.TGUpl.BotUID)
                {
                    a.SendMessage("Бот был исключен из чата " + e.chatId, MainModer.UId);
                }
                if (e.UId == MainModer.UId)
                {
                    switch (parsResult[0])
                    {
                    case "/gcs": MainModerCommandGCS(parsResult, e, a); break;

                    case "/mt": MainModerCommandMT(parsResult, e, a); break;

                    case "/mta": MainModerCommandMTA(parsResult, e, a); break;

                    case "/rchd": RepairChatData(); break;

                    case "/sa": WriteData(a); break;

                    case "/rdftxt": MainModerCommandRDFTXT(parsResult, e, a); break;

                    default: break;
                    }
                }
                TResponse(e.message, e, a);
            }
        }
コード例 #13
0
 public void SuccessOp(ParamResponse e, TGUpl a, string arg = "")
 {
     a.SendMessage("Успешно!\n" + arg, e.chatId);
 }
コード例 #14
0
 public void AlreadyExist(ParamResponse e, TGUpl a, string that = "Модер")
 {
     a.SendMessage(that + " уже существует", e.chatId);
 }
コード例 #15
0
 public void InvalidData(ParamResponse e, TGUpl a)
 {
     a.SendMessage("Не правильные параметры команды. Используйте /info для получания справки. ", e.chatId);
 }
コード例 #16
0
 public void NotEnouthRights(ParamResponse e, TGUpl a)
 {
     a.SendMessage("У вас недостаточно прав", e.chatId);
 }
コード例 #17
0
 public void NonModder(ParamResponse e, TGUpl a)
 {
     a.SendMessage("Вы не являетесь модератором.", e.chatId);
 }
コード例 #18
0
 public void WriteData(TGUpl a)
 {
     FileWorker.WriteData(this);
     a.SendMessage("Успешно сохранено.", MainModer.UId);
 }
コード例 #19
0
 public void CommandInfo(string[] parsResult, ParamResponse e, TGUpl a)
 {
     a.SendMessage(Info, e.chatId);
 }
コード例 #20
0
 public void MainModerCommandRDFTXT(string[] parsResult, ParamResponse e, TGUpl a)
 {
     LastDataVersion.ReadFromFileTrigger();
     ParseOldTriggersToNew();
     a.SendMessage("Успешно", MainModer.UId);
 }