public void CommandDM(string[] parsResult, ParamResponse e, TGUpl a) { /* 1) Проверить существования модераторов * 2) Сравнить уровни модераторов * 3) Удалить модератора */ int CureChat = GetChat(e.chatId); Moder CureModer = IsModer(e.UId); if (CureModer.UId == "Null") { NonModder(e, a); return; } Moder DeletModer = IsModer(e.replyMessageUID); if (DeletModer.UId == "Null") { NonModder(e, a); return; } int LVL1 = Int32.Parse(CureModer.MLvl), LVL2 = Int32.Parse(DeletModer.MLvl); if (LVL1 > LVL2) { DelModer(DeletModer); SuccessOp(e, a, " Модератор удалён."); } else { NotEnouthRights(e, a); } }
public void AddModer(Moder arg) { MCount++; MArray = (Moder[])AnotherMethod.ResizeArray(MArray, new int[1] { MCount }); MArray[MCount - 1] = new Moder(); MArray[MCount - 1] = arg; }
public void CommandST(string[] parsResult, ParamResponse e, TGUpl a) { /* 1) Проверяем админ ли тот, кто просит установить триггер * 2) Проверяем существует ли такоей триггер. * 3) Проверяем уровень триггера и уровень модератора, если триггер существует * 4) Изменяем триггер, если все проверки удались иначе добавляем новый, если админ */ int CureChat = GetChat(e.chatId); Moder CureModer = IsModer(e.UId); if (CureModer.UId == "Null") { NonModder(e, a); return; } int CureTrigger = this.ChBot[CureChat].GetTrigger(parsResult[1]); if (parsResult[2] == "" && e.replyMessageText == null || parsResult[1] == "") { InvalidData(e, a); return; } if (CureTrigger == -1) { Trigger AT = TForm(parsResult, e, a, CureModer); this.ChBot[CureChat].AddTrigger(AT); SuccessOp(e, a, "Триггер добавлен."); } else { int Mistake; try { Mistake = Int32.Parse(this.ChBot[CureChat].TArray[CureTrigger].TLvl); } catch { this.ChBot[CureChat].TArray[CureTrigger].TLvl = "0"; } if (Int32.Parse(this.ChBot[CureChat].TArray[CureTrigger].TLvl) <= Int32.Parse(CureModer.MLvl)) { Trigger AT = TForm(parsResult, e, a, CureModer); this.ChBot[CureChat].ResetTrigger(AT); SuccessOp(e, a, "Триггер обновлён."); } else { NotEnouthRights(e, a); return; } } }
public void CommandSM(string[] parsResult, ParamResponse e, TGUpl a) { /* 1) Проверить существуют ли одмены * 2) Если новый одмен существует то посылаем на * 3) Если не существует, то сравниваем уровень модера и уровень создавемого. Создаваемый - обязательно меньше * 4) Добавляем модератора или посылаем на */ int CureChat = GetChat(e.chatId); Moder CureModer = IsModer(e.UId); if (CureModer.UId == "Null") { NonModder(e, a); return; } Moder NewModer = IsModer(e.replyMessageUID); if (NewModer.UId != "Null") { AlreadyExist(e, a); return; } int newLVL; if (Int32.TryParse(parsResult[1], out newLVL) == false) { InvalidData(e, a); return; } if (newLVL < 1) { InvalidData(e, a); return; } if (Int32.Parse(CureModer.MLvl) > newLVL) { Moder OnyModer = new Moder(); OnyModer.MLvl = newLVL.ToString(); OnyModer.UId = e.replyMessageUID; OnyModer.UName = e.replyMessageUsername; AddModer(OnyModer); SuccessOp(e, a, " Модератор добавлен."); } else { InvalidData(e, a); return; } }
public void BotWork() { Thread thr = new Thread(AutoWrite) { IsBackground = true }; thr.Start(); MainModer = new Moder(); MainModer.UId = TGBotSettings.MainModer; MainModer.MLvl = "7"; FileStream file1 = new FileStream("./Data/info.txt", FileMode.Open); //создаем файловый поток StreamReader reader = new StreamReader(file1); // создаем «потоковый читатель» и связываем его с файловым потоком string toRead = ""; toRead = reader.ReadToEnd(); //считываем все данные с потока и вводим в переменнуб, с которой будем работать Info = toRead; reader.Close(); file1.Close(); while (true) { ParamResponse e; try { e = req.GetUpd();//Попытка получить данные } catch { Console.WriteLine("Trouble with Net");//Если дропнулось подключение сообщаем об этом и повторяем попытку req.MakeNewWebBot = true; continue; } if (Semafor.Semafor.StopBot == true)//Действия, завершающие работу бота. { thr.Abort(); return; } if (e.Writed == false) { continue;//Если получили пустое сообщение } CommandCentre(e); } }
public Moder IsModer(string moderId) { if (moderId == MainModer.UId) { return(this.MainModer); } for (int i = 0; i < this.MCount; i++) { if (this.MArray[i].UId == moderId) { return(this.MArray[i]); } } Moder Zero = new Moder(); Zero.UId = "Null"; return(Zero); }
public void DelModer(Moder arg) { int i = 0; for (; i < MCount - 1; i++) { if (MArray[i].UId == arg.UId) { break; } } for (; i < MCount - 1; i++) { MArray[i] = MArray[i + 1]; } MCount--; MArray = (Moder[])AnotherMethod.ResizeArray(MArray, new int[1] { MCount }); }
public void CommandDT(string[] parsResult, ParamResponse e, TGUpl a) { /* 1)Проверить сущ-ние модера * 2)Проверить сущ-ние триггера * 3)Проверить уровни модера и триггера * 4)Удалить триггер */ int CureChat = GetChat(e.chatId); Moder CureModer = IsModer(e.UId); if (CureModer.UId == "Null") { NonModder(e, a); return; } string trigger = (parsResult[1] == "") ? e.replyMessageText : parsResult[1]; int CureTrigger = this.ChBot[CureChat].GetTrigger(trigger); if (CureTrigger == -1) { InvalidData(e, a); return; } int Mistake; try { Mistake = Int32.Parse(this.ChBot[CureChat].TArray[CureTrigger].TLvl); } catch { this.ChBot[CureChat].TArray[CureTrigger].TLvl = "0"; } if (Int32.Parse(this.ChBot[CureChat].TArray[CureTrigger].TLvl) > Int32.Parse(CureModer.MLvl)) { NotEnouthRights(e, a); return; } this.ChBot[CureChat].DeleteTrigger(CureTrigger); SuccessOp(e, a, " Триггер удалён."); }
public void CommandSI(string[] parsResult, ParamResponse e, TGUpl a) { int CureChat = GetChat(e.chatId); Moder CureModer = IsModer(e.UId); if (CureModer.UId == "Null") { NonModder(e, a); return; } if (int.Parse(CureModer.MLvl) < 4) { NotEnouthRights(e, a); return; } ChBot[CureChat].CInv = new Invintation(); ChBot[CureChat].CInv.TResponse = ((parsResult[1] != "")?parsResult[1]:e.replyMessageText); ChBot[CureChat].CInv.TType = ((parsResult[2] != "") ? "Message" : e.replyMessageType); ChBot[CureChat].CInv.TLvl = "4"; SuccessOp(e, a, "Приветствие добавлено."); return; }
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); }