예제 #1
0
 void CleanAll()
 {
     this.Argument_   = null;
     this.ThisChat_   = null;
     this.ThisUser_   = null;
     this.chatID_     = 0;
     Current_Command_ = null;
 }
예제 #2
0
 public MessageLog(cChat chat, Message m)
 {
     this.chat = chat;
     user      = chat?.users?.Find(t => t.Id_tg == m.From.Id);
     id_tg     = m.From.Id;
     Text      = m.Text;
     FullName  = m.From.FirstName + " " + m.From.LastName + $" (@{m.From.Username ?? null})";
     Date      = m.Date.ToString("G");
 }
예제 #3
0
        public cChat GetChat(long Id)
        {
            cChat cChat = chats.Local.FirstOrDefault(t => t.Id_tg == Id);

            if (cChat == null)
            {
                cChat = chats.Local.FirstOrDefault(t => t.Id_tg == Id);
            }
            return(cChat);
        }
예제 #4
0
 public void AddChat(cChat chat)
 {
     if (GetChat(chat.Id_tg) == null)
     {
         chats.Add(chat);
     }
     else
     {
         new InfoService($"Add chat: чат уже существует {chat.Id_tg}", InfoService.TypeMess.Error);
     }
 }
예제 #5
0
        public void Remove(cChat chat)
        {
            cChat chatLocal = GetChat(chat.Id_tg);

            if (chatLocal == null)
            {
                new InfoService($"Add chat: чат уже не существует {chat.Id_tg}", InfoService.TypeMess.Error);
            }
            else
            {
                chats.Remove(chatLocal);
            }
        }
예제 #6
0
 protected static void FindingDad(long chatID, cChat tmpGroup, string NewDad)
 {
     SendTextMessageAsync(chatID, "Пошук БАТІ в чаті 🔍");
     Thread.Sleep(1000);
     SendTextMessageAsync(chatID, "<i>3 - проведення виборів в Білорусії 🥔</i>", ParseMode.Html);
     Thread.Sleep(1000);
     SendTextMessageAsync(chatID, "<i>2 - гортаєм журнал Forbes 💵</i>", ParseMode.Html);
     Thread.Sleep(1000);
     SendTextMessageAsync(chatID, "<i>1 - чекаєм фотку в паспорті 🗿</i>", ParseMode.Html);
     Thread.Sleep(1500);
     SendTextMessageAsync(chatID, "<code>BU-DUM-TSS 🎲</code>", ParseMode.Html);
     Thread.Sleep(1500);
     SendTextMessageAsync(chatID, $"<b>{NewDad}</b>", ParseMode.Html);
     SendTextMessageAsync(chatID, tmpGroup.FullDad + " ⬅️ Link");
     tmpGroup.LockGroupDad = false;
 }
예제 #7
0
 protected static void FindingPidor(cChat chat, string NewPidor)
 {
     SendTextMessageAsync(chat.Id_tg, "Пошук вахтера по чату 🔍", ParseMode.Html);
     Thread.Sleep(1000);
     SendTextMessageAsync(chat.Id_tg, "<i>3 - опитані учасники гейпараду 🗣</i>", ParseMode.Html);
     Thread.Sleep(1000);
     SendTextMessageAsync(chat.Id_tg, "<i>2 - твоїх друзів пустили по колу 🎡</i>", ParseMode.Html);
     Thread.Sleep(1000);
     SendTextMessageAsync(chat.Id_tg, "<i>1 - 🤵🏿 x 10 нігерів виїхали до тебе додому </i>",
                          ParseMode.Html);
     Thread.Sleep(1500);
     SendTextMessageAsync(chat.Id_tg, "<code>BU-DUM-TSS 🎲</code>", ParseMode.Html);
     Thread.Sleep(1500);
     SendTextMessageAsync(chat.Id_tg, $"<b>{NewPidor}</b>", ParseMode.Html);
     SendTextMessageAsync(chat.Id_tg, chat.FullPidor + " ⬅️ Link", ParseMode.Html);
     chat.LockGroupPidor = false;
 }
예제 #8
0
        protected override void Execution(Message m)
        {
            if (ThisChat == null) //(!ContainsGroupFromDic(e.Message.cChat.Id_tg.ToString()))
            {
                string nameGroup;
                if (m.Chat.Title == null)
                {
                    nameGroup = m.Chat.FirstName + "_" + m.Chat.LastName;
                }
                else
                {
                    nameGroup = m.Chat.Title;
                }
                var newChat = new cChat(new List <cUser>())
                {
                    Id_tg = ChatIDs(m),
                    Name  = nameGroup
                };
                Data.AddChat(newChat);
            }

            if (ContainsUserFromDic(ChatIDs(m), m.From.Id))
            {
                SendTextMessageAsync(m.Chat.Id, "Ти мило вже впустив❤️");
            }
            else
            {
                var username = m.From.Username;
                var sName    = m.From.FirstName + " " + m.From.LastName +
                               (username != null ? $" (@{username})" : "");
                var newUser = new cUser
                {
                    Id_tg      = m.From.Id,
                    FullName   = sName,
                    Name       = m.From.FirstName,
                    CountPidor = 0,
                    CountDad   = 0
                };
                Data.GetChat(m).users.Add(newUser);

                SendTextMessageAsync(chatID,
                                     sName + " кидає мило на підлогу🏋️\n /setfemale - Стати подругой👠" +
                                     "\n /setmale - Стати пациком💪🏻");
            }
        }
예제 #9
0
        protected static string setBatya(cChat tmpGroup, cUser User)
        {
            var random = new Random();

            try
            {
                User.CountDad = User.CountDad + 1;
            }
            catch
            {
                User.CountDad = 1;
            }

            tmpGroup.DateDad = DateTime.Now.AddHours(3).ToString("d");
            var emoj2 = $"{Settings.EmojPidor[random.Next(0, Settings.EmojPidor.Length)]}" +
                        $" {Settings.EmojPidor[random.Next(0, Settings.EmojPidor.Length)]}";

            var DadToday = $"{User.Name} -🔝БАТЯ дня {emoj2}";

            tmpGroup.Dad     = DadToday;
            tmpGroup.FullDad = $"{User.FullName}";
            return(DadToday);
        }
예제 #10
0
        protected static string setPidor(cChat tmpGroup, cUser User)
        {
            var random = new Random();

            try
            {
                User.CountPidor = User.CountPidor + 1;
            }
            catch
            {
                User.CountPidor = 1;
            }

            tmpGroup.DatePidor = DateTime.Now.AddHours(3).ToString("d");
            var emoj = $"{Settings.EmojPidor[random.Next(0, Settings.EmojPidor.Length)]}" +
                       $" {Settings.EmojPidor[random.Next(0, Settings.EmojPidor.Length)]}";

            var PidorOrHarlot = "ПІДОР";

            if (!User.GenderFemale)
            {
                PidorOrHarlot = random.Next(0, 10) == 4 ? "ШЛЮХА" : PidorOrHarlot;
            }
            else
            {
                PidorOrHarlot = "ШЛЮХА";
            }

            var PidorNew = $"{User.Name}-🌈{PidorOrHarlot} вахту приня" + (User.GenderFemale ? "ла " : "в ") + emoj;


            var PidorToday = $"{User.Name} -🌈{PidorOrHarlot} " + emoj;

            tmpGroup.Pidor     = PidorToday;
            tmpGroup.FullPidor = $"{User.FullName}";
            return(PidorNew);
        }
예제 #11
0
 public Button getButton(cChat chat, cUser user)
 {
     return(new Button(user.FullName, this, chat.Id_tg.ToString(), user.Id_tg.ToString()));
 }
예제 #12
0
 public Button getButton(cChat chat)
 {
     return(new Button(chat.Name, this, chat.Id_tg.ToString()));
 }
예제 #13
0
        public cUser GetUser(int Id, Message e)
        {
            cChat chat = GetChat(e);

            return(chat.users.FirstOrDefault(t => t.Id_tg == Id));
        }
예제 #14
0
        public cUser GetUser_FromMess(Message e)
        {
            cChat chat = GetChat(e);

            return(chat.users.FirstOrDefault(t => t.Id_tg == e.From.Id));
        }
예제 #15
0
        public static async void OnMessage(Message m)
        {
            #region LogMessages
            cChat chat = Data.GetChat(m);
            Data.AddMessage(new MessageLog(chat,m));

            #endregion



            if (m.Chat.Title == null && m.Chat.Id != Settings.AdminChatId)
            {
                BaseControl.SendTextMessageAsync(m.Chat.Id,
                     $"С кем-то в два раза веселее, чем в одиночку xD");
                return;
            }
            #region NewExecute

            _transporterCmd.OnMessage(_TgClient, m);
         //   Data.SaveAll();


            #endregion

            #region изменение название чата

            var thisGroup = Data.GetChat(m.Chat.Id);
            if (thisGroup != null)
            {
                thisGroup.UpdateInfo(m.Chat, _TgClient);
                
            }
            Data.SaveAll();
            #endregion

            #region Reg All

            //if (!ContainsGroupFromDic(e.Message.cChat.Id_tg.ToString()))
            //{
            //    string nameGroup;
            //    if (e.Message.cChat.Title == null)
            //    {
            //        nameGroup = e.Message.cChat.FirstName + "_" + e.Message.cChat.LastName;
            //    }
            //    else
            //    {
            //        nameGroup = e.Message.cChat.Title;
            //    }

            //    cChat newChat = new cChat(new List<UserM>())
            //    {
            //        Id_tg = e.Message.cChat.Id_tg.ToString(),
            //        Name = nameGroup
            //    };
            //    _Chats.Add(newChat);
            //}

            //if (!ContainsUserFromDic(e.Message.cChat.Id_tg.ToString(), e.Message.From.Id_tg.ToString()))

            //{
            //    string username = e.Message.From.Username;
            //    string sName = e.Message.From.FirstName + " " + e.Message.From.LastName + (username != null ? $" (@{username})" : "");
            //    UserM newUser = new UserM()
            //    {

            //        Id_tg = e.Message.From.Id_tg.ToString(),
            //        FullName = sName,
            //        Name = e.Message.From.FirstName,
            //        CountPidor = "0",
            //        CountDad = "0"
            //    };
            //    FindGroupID(e.Message.cChat.Id_tg.ToString()).Users.Add(newUser);


            //}
            //Save_All();

            #endregion


            Console.WriteLine(string.Concat("{ ", m.Date, " }", m.From.FirstName, " ",
                m.From.LastName, "[", m.From.Username, "]",
                " => ", m.Text, " triger=", m.Entities != null && m.Text.Contains(Settings.NameBot)));


        }