Esempio n. 1
0
 public void Execute(Message msg, IMessageSenderService sender, IBot bot)
 {
     sender.Text("Наш офис располагается по адресу - г.Улан-Удэ, ул.Чертенкова 6. " +
                 "\nНаш основной телефон: 8(3012)39-39-39" +
                 "\nE-Mail: [email protected]" +
                 "\n \nПредставляю вам контакты наших клиент-менеджеров: " +
                 "\nАнжелика Хомякова - тел. 672222" +
                 "\nВалентина Савельева - тел. 677904" +
                 "\nЕкатерина Румянцева - тел. 572222", msg.ChatId);
 }
Esempio n. 2
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            var bott   = bot as Bot;
            var logger = bott.GetLogger();
            var file   = File.ReadAllText("AdminsConfig.json");
            var admins = JsonConvert.DeserializeObject <Models.AdminsModels>(file);

            if (!(admins.Users.Any(u => u == msg.MessageVK.FromId)))
            {
                sender.Text("🛑 У вас нет прав администратора для вызова этой команды.", msg.ChatId);
                return;
            }

            var words = msg.Text.Split(" ");

            if (words.Length == 1)
            {
                sender.Text("⛔ Вы не указали пользователя", msg.ChatId);
                return;
            }


            var adminText = words[1];

            long userId = 0;

            if (adminText[0] == '[')
            {
                var adminTextPartOne = adminText.Split("|")[0];
                var id = string.Empty;
                for (int i = 3; i < adminTextPartOne.Length; i++)
                {
                    id += adminTextPartOne[i];
                }

                userId = long.Parse(id);
            }
            else if (adminText[0] == 'h')
            {
                var wordsAdmin = adminText.Split("/");

                var url = wordsAdmin[^ 1];
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            var file   = File.ReadAllText("AdminsConfig.json");
            var admins = JsonConvert.DeserializeObject <Models.AdminsModels>(file);

            if (!(admins.Users.Any(u => u == msg.MessageVK.FromId)))
            {
                sender.Text("🛑 У вас нет прав администратора для вызова этой команды.", msg.ChatId);
                return;
            }

            using (var db = new BotData())
            {
                string reports = string.Empty;

                var repostsDb = db.Reports.Where(r => r.IsAnswered == false);

                if (repostsDb.Count() != 0)
                {
                    foreach (var report in repostsDb)
                    {
                        reports += $"ID: {report.ReportId} | Написал: [id{report.OwnerId}| это человек]\n Текст: {report.Message} \n";
                    }
                }
                else
                {
                    reports = "Репортов нет.";
                }

                if (msg.ChatId != msg.MessageVK.FromId)
                {
                    sender.Text($"Неотвеченные репорты: \n {reports}", msg.ChatId);
                }
                else
                {
                    var kb = new KeyboardBuilder(bot);
                    kb.AddButton("🔙 В админ меню", "adminmenu");
                    sender.Text($"Неотвеченные репорты: \n {reports}", msg.ChatId, kb.Build());
                }
            }
        }
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            var file   = File.ReadAllText("AdminsConfig.json");
            var admins = JsonConvert.DeserializeObject <Models.AdminsModels>(file);

            if (!(admins.Users.Any(u => u == msg.MessageVK.FromId)))
            {
                sender.Text("🛑 У вас нет прав администратора для вызова этой команды.", msg.ChatId);
                return;
            }

            var adminsText = string.Empty;

            var vkNet = new VkApi();

            vkNet.Authorize(new ApiAuthParams()
            {
                AccessToken = "e7980081cccad8d0df1ce342355da76e6e0d8de37509d76fb08ff1f065823dc19e5f4ed7f4578314cc772"
            });

            var names = vkNet.Users.Get(admins.Users);

            foreach (var admin in names)
            {
                adminsText += $"[id{admin.Id}|{admin.FirstName} {admin.LastName}], ";
            }


            if (msg.ChatId != msg.MessageVK.FromId)
            {
                sender.Text($"✔ Администраторы: {adminsText}", msg.ChatId);
            }
            else
            {
                var kb = new KeyboardBuilder(bot);
                kb.AddButton("🔙 В админ меню", "adminmenu");
                sender.Text($"✔ Администраторы: {adminsText}", msg.ChatId, kb.Build());
            }
        }
Esempio n. 5
0
 public void Execute(Message msg, IMessageSenderService sender, IBot bot)
 {
     sender.Image("Итак, представляю вам наше портфолио. В нём собрано множество фотографий наших работ." +
                  "\n Перейти на сайт: http://akula03.ru/portfolio/", 457239020, msg.ChatId, -198106962);
 }
Esempio n. 6
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            //проверка и подписка на рассылку, если пользователь пользуется ботом первый раз.
            var usrs1 = JsonConvert.DeserializeObject <MailingModel>(File.ReadAllText("MailingUsers.json"));

            if (usrs1.Users.All(u => u.UserId != msg.MessageVK.FromId.Value))
            {
                usrs1.Users.Add(new ValuesMail()
                {
                    IsActive = true,
                    UserId   = msg.MessageVK.FromId.Value
                });

                File.WriteAllText("MailingUsers.json", JsonConvert.SerializeObject(usrs1));
            }

            var text      = msg.Text;
            var wordsText = text.Split(" ");
            var date      = wordsText[1];

            var wordsDate = date.Split(".");

            if (wordsDate.Length == 1)
            {
                sender.Text("⛔ Вы неверно указали дату. Пример: \n Напомни 25.1 поздравить Никиту с Днем рождения", msg.ChatId);
                return;
            }

            int day   = 0;
            int mouth = 0;

            try
            {
                day   = int.Parse(wordsDate[0]);
                mouth = int.Parse(wordsDate[1]);
            }
            catch (Exception e)
            {
                sender.Text("⛔ Вы неверно указали дату. Пример: \n Напомни 25.1 поздравить Никиту с Днем рождения", msg.ChatId);
                return;
            }

            if (day == DateTime.Now.Day && mouth == DateTime.Now.Month)
            {
                sender.Text("⛔ Вы не можете указать текущую дату", msg.ChatId);
                return;
            }


            if (day > 31 || day < 1)
            {
                sender.Text($"⛔ День не может быть больше 31 или меньше 1, вы указали - {day}", msg.ChatId);
                return;
            }

            if (mouth > 12 || mouth < 1)
            {
                sender.Text($"⛔ Месяц не может быть больше 12 или меньше 1, вы указали - {mouth}", msg.ChatId);
                return;
            }



            string textReminder = string.Empty;

            if (wordsText.Length < 3)
            {
                sender.Text("🎈 Вы не написали напоминание. Пример: \n Напомни 25.1 поздравить Никиту с Днем рождения",
                            msg.ChatId);
                return;
            }
            for (int i = 2; i < wordsText.Length; i++)
            {
                textReminder += wordsText[i] + " ";
            }

            using (var db = new BotData())
            {
                db.Reminders.Add(new ReminderInfo()
                {
                    Day        = day,
                    Mouth      = mouth,
                    ReminderId = db.Reminders.Count() + 1,
                    UserId     = msg.ChatId,
                    Sent       = false,
                    Text       = textReminder
                });

                db.SaveChanges();
            }


            var mouthStr = string.Empty;

            if (mouth == 1)
            {
                mouthStr = "Января";
            }
            else if (mouth == 2)
            {
                mouthStr = "Февраля";
            }
            else if (mouth == 3)
            {
                mouthStr = "Марта";
            }
            else if (mouth == 4)
            {
                mouthStr = "Апреля";
            }
            else if (mouth == 5)
            {
                mouthStr = "Мая";
            }
            else if (mouth == 6)
            {
                mouthStr = "Июня";
            }
            else if (mouth == 7)
            {
                mouthStr = "Июля";
            }
            else if (mouth == 8)
            {
                mouthStr = "Августа";
            }
            else if (mouth == 9)
            {
                mouthStr = "Сентября";
            }
            else if (mouth == 10)
            {
                mouthStr = "Октября";
            }
            else if (mouth == 11)
            {
                mouthStr = "Ноября";
            }
            else if (mouth == 12)
            {
                mouthStr = "Декабря";
            }


            sender.Text($"✔ Ваше упоминание установлено на {day} {mouthStr}", msg.ChatId);
        }
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            //проверка и подписка на рассылку, если пользователь пользуется ботом первый раз.
            var usrs1 = JsonConvert.DeserializeObject <MailingModel>(File.ReadAllText("MailingUsers.json"));

            if (usrs1.Users.All(u => u.UserId != msg.MessageVK.FromId.Value))
            {
                usrs1.Users.Add(new ValuesMail()
                {
                    IsActive = true,
                    UserId   = msg.MessageVK.FromId.Value
                });

                File.WriteAllText("MailingUsers.json", JsonConvert.SerializeObject(usrs1));
            }
            var vkNet = new VkApi();

            vkNet.Authorize(new ApiAuthParams()
            {
                AccessToken = "e7980081cccad8d0df1ce342355da76e6e0d8de37509d76fb08ff1f065823dc19e5f4ed7f4578314cc772"
            });


            if (msg.Payload is null)
            {
                var msgWords = msg.Text.Split(" ");

                if (msgWords.Length == 1)
                {
                    var ids1 = new List <long>();

                    using (var db = new BotData())
                    {
                        string s          = string.Empty;
                        var    stringText = string.Empty;


                        if (db.Ads.Count() != 0)
                        {
                            int i = 0;
                            foreach (var ad in db.Ads.OrderByDescending(a => a.DateCreate))
                            {
                                i++;

                                if (i < 10)
                                {
                                    var id = $"| ID:{ad.AdId}";
                                    ids1.Add(ad.Owner);
                                    stringText += $"💎 |{ad.Owner}| сервер - {ad.Server} {id} : {ad.Text} \n";
                                }
                            }

                            var usrs = vkNet.Users.Get(ids1);

                            foreach (var usr in usrs)
                            {
                                stringText = stringText.Replace($"|{usr.Id}|", $"{usr.FirstName} {usr.LastName}");
                            }
                        }
                        else
                        {
                            stringText += "Объявлений нет.";
                        }


                        if (msg.ChatId != msg.MessageVK.FromId)
                        {
                            sender.Text($"🎫 Объявления: \n {stringText}", msg.ChatId);
                            return;
                        }
                        else
                        {
                            var kb = new KeyboardBuilder(bot);
                            kb.AddButton("1", "adsFilter", new List <string>()
                            {
                                "1", "0"
                            });
                            kb.AddButton("2", "adsFilter", new List <string>()
                            {
                                "2", "0"
                            });
                            kb.AddButton("3", "adsFilter", new List <string>()
                            {
                                "3", "0"
                            });
                            kb.AddLine();
                            kb.AddButton("4", "adsFilter", new List <string>()
                            {
                                "4", "0"
                            });
                            kb.AddButton("5", "adsFilter", new List <string>()
                            {
                                "5", "0"
                            });
                            kb.AddButton("6", "adsFilter", new List <string>()
                            {
                                "6", "0"
                            });
                            kb.AddLine();
                            kb.AddButton("🔙 В меню объявлений", "adsmenu");
                            sender.Text($"🎫 Объявления: \n {stringText}", msg.ChatId, kb.Build());
                            return;
                        }
                    }
                }


                try
                {
                    var serverStr = msgWords[1];
                    var page      = long.Parse(msgWords[2]);

                    if (serverStr == "id")
                    {
                        msg.Text = $"id-{page}";
                        new ShowAdCommand().Execute(msg, sender, bot);
                        return;
                    }

                    msg.Text = $"com-{page}-{serverStr}";
                    new AdsFilterCommand().Execute(msg, sender, bot);
                    return;
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    sender.Text("⛔ Вы указали неверное данные. Например: объявления <номер сервера> <номер страницы> или объявление id <Id объявления>", msg.ChatId);
                }

                return;
            }

            var file   = File.ReadAllText("AdminsConfig.json");
            var admins = JsonConvert.DeserializeObject <Models.AdminsModels>(file);

            bool isAdmin = admins.Users.Any(u => u == msg.MessageVK.FromId);



            var ids = new List <long>();

            using (var db = new BotData())
            {
                string s          = string.Empty;
                var    stringText = string.Empty;


                if (db.Ads.Count() != 0)
                {
                    int i = 0;
                    foreach (var ad in db.Ads.OrderByDescending(a => a.DateCreate))
                    {
                        i++;

                        if (i < 10)
                        {
                            var id = $"| ID:{ad.AdId}";
                            ids.Add(ad.Owner);
                            stringText += $"💎 |{ad.Owner}| сервер - {ad.Server} {id} : {ad.Text} \n";
                        }
                    }

                    var usrs = vkNet.Users.Get(ids);

                    foreach (var usr in usrs)
                    {
                        stringText = stringText.Replace($"|{usr.Id}|", $"{usr.FirstName} {usr.LastName}");
                    }
                }
                else
                {
                    stringText += "Объявлений нет.";
                }


                if (msg.ChatId != msg.MessageVK.FromId)
                {
                    sender.Text($"🎫 Объявления: \n {stringText}", msg.ChatId);
                }
                else
                {
                    var kb = new KeyboardBuilder(bot);
                    kb.AddButton("1", "adsFilter", new List <string>()
                    {
                        "1", "0"
                    });
                    kb.AddButton("2", "adsFilter", new List <string>()
                    {
                        "2", "0"
                    });
                    kb.AddButton("3", "adsFilter", new List <string>()
                    {
                        "3", "0"
                    });
                    kb.AddLine();
                    kb.AddButton("4", "adsFilter", new List <string>()
                    {
                        "4", "0"
                    });
                    kb.AddButton("5", "adsFilter", new List <string>()
                    {
                        "5", "0"
                    });
                    kb.AddButton("6", "adsFilter", new List <string>()
                    {
                        "6", "0"
                    });
                    kb.AddLine();
                    kb.AddButton("🔙 В меню объявлений", "adsmenu");
                    sender.Text($"🎫 Объявления: \n {stringText}", msg.ChatId, kb.Build());
                }
            }
        }
Esempio n. 8
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            //проверка и подписка на рассылку, если пользователь пользуется ботом первый раз.
            var usrs1 = JsonConvert.DeserializeObject <MailingModel>(File.ReadAllText("MailingUsers.json"));

            if (usrs1.Users.All(u => u.UserId != msg.MessageVK.FromId.Value))
            {
                usrs1.Users.Add(new ValuesMail()
                {
                    IsActive = true,
                    UserId   = msg.MessageVK.FromId.Value
                });

                File.WriteAllText("MailingUsers.json", JsonConvert.SerializeObject(usrs1));
            }

            var file   = File.ReadAllText("AdminsConfig.json");
            var admins = JsonConvert.DeserializeObject <Models.AdminsModels>(file);

            bool isAdmin = admins.Users.Any(u => u == msg.MessageVK.FromId);



            int offset, server = 0;

            if (msg.Text.Split("-")[0] == "com")
            {
                offset = (int.Parse(msg.Text.Split("-")[1]) - 1) * 10;
                server = int.Parse(msg.Text.Split("-")[2]);
            }
            else
            {
                var argument = msg.Payload.Arguments[0];
                offset = int.Parse(msg.Payload.Arguments[1]);
                server = int.Parse(argument);
            }


            var vkNet = new VkApi();

            vkNet.Authorize(new ApiAuthParams()
            {
                AccessToken = "e7980081cccad8d0df1ce342355da76e6e0d8de37509d76fb08ff1f065823dc19e5f4ed7f4578314cc772"
            });

            var ids = new List <long>();
            var kb  = new KeyboardBuilder(bot);

            using (var db = new BotData())
            {
                var ads = db.Ads.Where(a => a.Server == server);

                string s          = string.Empty;
                var    stringText = string.Empty;

                if (ads.Count() != 0)
                {
                    bool isAddNextCommand = true;
                    int  counter          = 0;
                    for (int i = offset; i < offset + 10; i++)
                    {
                        try
                        {
                            var ad = ads.OrderByDescending(a => a.DateCreate).ToList()[i];
                            var id = $"| ID:{ad.AdId}";
                            ids.Add(ad.Owner);
                            stringText += $"💎[{i}] -{ad.Owner}- сервер - {ad.Server} {id} : {ad.Text} \n";
                            kb.AddButton(i.ToString(), "showad", new List <string>()
                            {
                                ad.AdId.ToString()
                            });

                            if (counter == 4)
                            {
                                kb.AddLine();
                                counter = 0;
                            }
                        }
                        catch
                        {
                            isAddNextCommand = false;
                        }
                    }

                    kb.AddLine();
                    kb.SetOneTime();


                    if (offset > 0)
                    {
                        kb.AddButton("⏮ Назад", "adsFilter", new List <string>()
                        {
                            server.ToString(), $"{offset-10}"
                        });
                    }
                    if (isAddNextCommand)
                    {
                        kb.AddButton("⏭ Вперед", "adsFilter", new List <string>()
                        {
                            server.ToString(), $"{offset + 10}"
                        });
                    }


                    var usrs = vkNet.Users.Get(ids);

                    foreach (var usr in usrs)
                    {
                        stringText = stringText.Replace($"-{usr.Id}-", $"{usr.FirstName} {usr.LastName}");
                    }
                }
                else
                {
                    stringText += "Объявлений нет.";
                }

                kb.AddLine();
                kb.AddButton("🔙 Назад  в меню", "ads");

                if (msg.ChatId != msg.MessageVK.FromId)
                {
                    sender.Text($"🎫 Объявления: \n {stringText}", msg.ChatId);
                }
                else
                {
                    sender.Text($"🎫 Объявления: \n {stringText}", msg.ChatId, kb.Build());
                }
            }
        }