Example #1
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            if (Main.Api.Users.IsBanned(msg))
            {
                return;
            }

            if (!Main.Api.Users.CheckUser(msg))
            {
                var kb2 = new KeyboardBuilder(bot);
                kb2.AddButton("➕ Зарегистрироваться", "start");
                sender.Text("❌ Вы не зарегистрированы, нажмите на кнопку ниже, чтобы начать", msg.ChatId, kb2.Build());
                return;
            }

            var text = "❓ Выберите раздел на клавиатуре";
            var kb   = new KeyboardBuilder(bot);

            kb.AddButton("🚗 Автомобили", "autostore");
            kb.AddButton("🔧 Гаражи", "garagestore");
            kb.AddButton("🏢 Бизнесы", "businessstore");
            kb.AddLine();
            kb.AddButton("♻ Разное", "otherstore");
            kb.AddLine();
            kb.AddButton(ButtonsHelper.ToHomeButton());

            sender.Text(text, msg.ChatId, kb.Build());
            // throw new NotImplementedException();
        }
Example #2
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            var customCarId = msg.Payload.Arguments[0].ToLong();

            var text = $"Информация: " +
                       $"\n ID - {customCarId}";

            using (var db = new Database())
            {
                var customCar = db.CustomCars.Single(c => c.Id == customCarId);
                text += $"\n Name - {customCar.Name}" +
                        $"\n Чтобы принять или отклонить кастомную машину, нажмите на клавиатуре кнопки.";
            }

            var kb = new KeyboardBuilder(bot);

            kb.AddButton("Принять", "acceptCustomCar", new List <string>()
            {
                customCarId.ToString()
            });
            kb.AddLine();
            kb.AddButton("Отклонить", "rejectCustomCar", new List <string>()
            {
                customCarId.ToString()
            });

            sender.Text(text, msg.ChatId, kb.Build());
        }
Example #3
0
 public void Execute(Message msg, IMessageSenderService sender, IBot bot)
 {
     sender.Image("💥 Дизайн 💥" +
                  "\n – это творческая деятельность, целью которой является определение формальных качеств промышленных изделий. " +
                  "Наша компания может изготовить для вас дизайн (иллюстрацию, макет, эскиз): визиток, листовок, буклетов, баннеров, вывесок. " +
                  "Реализуем ваши любые идеи или поможем подобрать нужный дизайн.", 457239036, msg.ChatId, -198106962);
 }
Example #4
0
        /// <summary>
        /// Check how many lectures a student missed and send him a message if there are more than 3 passes
        /// </summary>
        /// <param name="lectureId">Last lecture id at course</param>
        /// <param name="messageSenderService"></param>
        /// <returns>Task</returns>
        public async Task CheckNumberOfStudentsLecturesMissed(int lectureId, IMessageSenderService messageSenderService)
        {
            if (messageSenderService == null)
            {
                throw new EntityNullException(nameof(messageSenderService));
            }
            var lecture = await _unitOfWork.Lectures.GetLectureWithStudentsById(lectureId);

            if (lecture == null)
            {
                throw new EntityNotFoundException($"Lecture with {lectureId} id doesn't exist in database");
            }
            var lecturer = await GetLecturerOfLecture(lectureId);

            foreach (var student in lecture.StudentLectures)
            {
                // There is no need to send a message to the student if he is in class
                if (student.Attendance == false)
                {
                    var countOfMissedLectures = await GetNumberOfStudentLecturesMissed(student.StudentId, lecture.CourseId);

                    if (countOfMissedLectures > 3)
                    {
                        _logger.LogInformation(DateTime.Now + $"\nStudent with {student.StudentId} id has missed more than 3 lecture, sending mail to student and lecturer email");
                        messageSenderService.Send("You have missed more than 3 lectures", student.Student.Email);
                        messageSenderService.Send($"Student {student.Student.Name} has missed more than 3 lectures", lecturer.Email);
                    }
                }
            }
        }
Example #5
0
        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 text = string.Empty;
            var words = msg.Text.Split(" ");

            for (int i = 1; i < words.Length; i++)
            {
                text += words[i] + " ";
            }

            var model = new ChangelogModel();
            model.Text = text;

            File.WriteAllText("BindsConfig.json", JsonConvert.SerializeObject(model));
            
            sender.Text("✔ Новые бинды установлены", msg.ChatId);
        }
Example #6
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            if (msg.ChatId != msg.MessageVK.FromId)
            {
                sender.Text("⛔ Эту команду нельзя вызывать в беседах. Чтобы узнать список всех команд - напишите \"команды\" ", msg.ChatId);
                return;
            }
            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 kb = new KeyboardBuilder(bot);

            kb.AddButton("Репорты", "reportlist");
            kb.AddLine();
            kb.AddButton("Список администраторов", "adminlist");
            kb.AddLine();
            kb.AddButton("🔙 В меню", "menu");
            kb.SetOneTime();

            sender.Text("🤴 Админ меню: ", msg.ChatId, kb.Build());
        }
Example #7
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            if (Main.Api.Users.IsBanned(msg))
            {
                return;
            }

            if (!Main.Api.Users.CheckUser(msg))
            {
                var kb2 = new KeyboardBuilder(bot);
                kb2.AddButton("➕ Зарегистрироваться", "start");
                sender.Text("❌ Вы не зарегистрированы, нажмите на кнопку ниже, чтобы начать", msg.ChatId, kb2.Build());
                return;
            }
            var user = Main.Api.Users.GetUser(msg);

            UsersCommandHelper.GetHelper().Add("buychips", user.Id);
            var text = "⚜ Покупка фишек для казино:" +
                       "♣ 1 фишка = 1000 рублей" +
                       "\n" +
                       "\n ❓ Укажите количество фишек, которое Вы хотите купить.";
            var kb = new KeyboardBuilder(bot);

            kb.AddButton("❌ Назад в казино", "casino");
            sender.Text(text, msg.ChatId, kb.Build());
        }
Example #8
0
        public static string Sell(User user, long userId, IMessageSenderService sender, long money)
        {
            Car car = null;

            using (var db = new Database())
            {
                var sellCar = db.SellCars.Single(c => c.IsClose == false && c.OwnerId == user.Id);
                sellCar.BuynerId = userId;
                car = db.Cars.Single(c => c.Id == sellCar.CarId);
                db.SaveChanges();
            }
            var helper = new UsersHelper();
            var user2  = Main.Api.Users.GetUserFromId(userId);

            if (user2.VkId != 0)
            {
                if (sender.Platform == MessengerPlatform.Vkontakte)
                {
                    sender.Text($"❗ Вам пользователь {helper.GetLink(user2)} предлагает купить свой автомобиль {car.Manufacturer} {car.Model} за {money} рублей" +
                                $"\n  ❓ Чтобы согласиться или отказать, перейдите в раздел ????", user2.VkId);
                }
                else
                {
                    return("❌ Мы не можем отправить приглашение этому пользователю");
                }
            }

            else
            {
                return("❌ Телеграм не поддерживается.");
            }

            return("✔ Мы отправили запрос о продаже авто. Вам прийдет уведомление о решении.");
        }
Example #9
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            if (!Main.Api.Users.CheckUser(msg))
            {
                var kb2 = new KeyboardBuilder(bot);
                kb2.AddButton("➕ Зарегистрироваться", "start");
                sender.Text("❌ Вы не зарегистрированы, нажмите на кнопку ниже, чтобы начать", msg.ChatId, kb2.Build());
                return;
            }

            try
            {
                var argument = msg.Text.Split(" ")[1];
            }catch
            {
                var text = "🔧 Список пользователей:";
                using (var db = new Database())
                {
                    foreach (var user in db.Users)
                    {
                        text += $"\n 👤 ID:{user.Id} |[{user.Prefix}] {user.Name} | {user.Level} ({user.Score} из {user.Level* 150})";
                    }
                }

                sender.Text(text, msg.ChatId);
            }
        }
Example #10
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            if (Main.Api.Users.IsBanned(msg))
            {
                return;
            }

            if (!Main.Api.Users.CheckUser(msg))
            {
                var kb2 = new KeyboardBuilder(bot);
                kb2.AddButton("➕ Зарегистрироваться", "start");
                sender.Text("❌ Вы не зарегистрированы, нажмите на кнопку ниже, чтобы начать", msg.ChatId, kb2.Build());
                return;
            }

            var numberId = long.Parse(msg.Payload.Arguments[0]);
            var carId    = long.Parse(msg.Payload.Arguments[1]);
            var kb       = new KeyboardBuilder(bot);

            kb.AddButton("🚗 Установть на авто", $"{(carId != 0? "setcarnumber" : "garage")}", new List <string>()
            {
                carId.ToString(), numberId.ToString(), "setcarnumber"
            });
            kb.AddLine();
            kb.AddButton("💷 Продать", "sellnumber", new List <string>()
            {
                numberId.ToString()
            });
            sender.Text("❓ Выберите действие на клавиатуре", msg.ChatId, kb.Build());
        }
Example #11
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            if (Main.Api.Users.IsBanned(msg))
            {
                return;
            }

            if (!Main.Api.Users.CheckUser(msg))
            {
                var kb2 = new KeyboardBuilder(bot);
                kb2.AddButton("➕ Зарегистрироваться", "start");
                sender.Text("❌ Вы не зарегистрированы, нажмите на кнопку ниже, чтобы начать", msg.ChatId, kb2.Build());
                return;
            }

            var user = Main.Api.Users.GetUser(msg);

            UsersCommandHelper.GetHelper().Add("sellcar", user.Id);

            sender.Text("⌛ Укажите Id пользователя (в боте), которому хотите продать авто и цену." +
                        "\n ❓ Например: 123 10000", msg.ChatId);

            using (var db = new Database())
            {
                var carSell = new SellCar();
                carSell.Id      = db.SellCars.Count() + 1;
                carSell.CarId   = msg.Payload.Arguments[0].ToLong();
                carSell.OwnerId = user.Id;
                db.SellCars.Add(carSell);
                db.SaveChanges();
            }
        }
Example #12
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            if (Main.Api.Users.IsBanned(msg))
            {
                return;
            }

            if (!Main.Api.Users.CheckUser(msg))
            {
                var kb2 = new KeyboardBuilder(bot);
                kb2.AddButton("➕ Зарегистрироваться", "start");
                sender.Text("❌ Вы не зарегистрированы, нажмите на кнопку ниже, чтобы начать", msg.ChatId, kb2.Build());
                return;
            }

            var text = "⚙ Настройки";
            var user = Main.Api.Users.GetUser(msg);
            var kb   = new KeyboardBuilder(bot);

            if (user.SubOnNews)
            {
                kb.AddButton("📰 Отписаться от рассылки", "unsubNewsLetter", color: KeyboardButtonColor.Negative);
            }
            else
            {
                kb.AddButton("📰 Подписаться на рассылку", "subOnNewsLetter", color: KeyboardButtonColor.Positive);
            }

            kb.AddLine();
            kb.AddButton(ButtonsHelper.ToHomeButton());

            sender.Text(text, 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 words = msg.Text.Split(" ");
            var id    = long.Parse(words[1]);

            using (var db = new BotData())
            {
                var ad = db.Ads.SingleOrDefault(ad => ad.AdId == id);
                if (ad is null)
                {
                    sender.Text("⛔ Объявления с таким Id не найдено", msg.ChatId);
                    return;
                }

                db.Ads.Remove(ad);
                db.SaveChanges();
            }

            sender.Text("✔ Объявление было удалено", msg.ChatId);
        }
Example #14
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            if (Main.Api.Users.IsBanned(msg))
            {
                return;
            }

            if (!Main.Api.Users.CheckUser(msg))
            {
                var kb2 = new KeyboardBuilder(bot);
                kb2.AddButton("➕ Зарегистрироваться", "start");
                sender.Text("❌ Вы не зарегистрированы, нажмите на кнопку ниже, чтобы начать", msg.ChatId, kb2.Build());
                return;
            }

            var text = "🏢 Выберите на клавиатуре нужную Вам работу.";
            var kb   = new KeyboardBuilder(bot);

            kb.AddButton("🚕 Таксист", "taxiwork");
            kb.AddButton("🚚 Дальнобойщик", "truckerwork");
            kb.AddLine();
            kb.AddButton("🚌 Водитель автобуса", "busdriverwork");
            kb.AddButton("📦 Курьер", "courierwork");
            kb.AddLine();
            // kb.AddButton("🚂 Машинист поезда", "traindriverwork");
            // kb.AddLine();
            kb.AddButton(ButtonsHelper.ToHomeButton());
            sender.Text(text, msg.ChatId, kb.Build());
        }
Example #15
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            var user        = Main.Api.Users.GetUser(msg);
            var phoneNumber = msg.Payload.Arguments[0];
            var text        = "✒ Чат с пользователем ";
            var kb          = new KeyboardBuilder(bot);

            using (var db = new Database())
            {
                var gar = db.Garages.SingleOrDefault(g => g.PhoneNumber == phoneNumber);
                if (gar is null)
                {
                    kb.AddButton("✉ К сообщениям", "messages");
                    sender.Text("❌ Пользователь не найден. Возможно он сменил номер телефона", msg.ChatId, kb.Build());
                    return;
                }


                var garage = db.Garages.Single(g => g.UserId == user.Id);
                var usr    = db.Users.Single(u => u.Id == gar.UserId);
                text += $"[{usr.Prefix}] {usr.Name}";
                ChatsTemp.Add(new ChatTemp()
                {
                    UserId = user.Id, ChatUserId = usr.Id, NumberUser = garage.PhoneNumber
                });
            }

            text += "\n❓ Напишите сообщение пользователю";
            UsersCommandHelper.GetHelper().Add("chatSend", user.Id);
            kb.AddButton("✉ К сообщениям", "messages");
            sender.Text(text, msg.ChatId, kb.Build());
        }
Example #16
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            var user = Main.Api.Users.GetUser(msg);
            var text = "💎 Донат:" +
                       "\n 💸 Валюта - 1 донат рубль = 1 Российкий рубль." +
                       "\n ⭐ Опыт - 1000 опыта = 1 донат рубль." +
                       "\n 🏆 VIP - 49 донат рублей." +
                       "\n 🏎 Кастомный авто - 123 донат рублей.";

            var kb = new KeyboardBuilder(bot);

            kb.AddButton("💸 Валюта", "moneyDonate", new List <string>()
            {
                "0"
            });
            kb.AddLine();
            kb.AddButton("⭐ Опыт", "expDonate", new List <string>()
            {
                "0"
            });
            kb.AddLine();
            kb.AddButton("🏆 VIP", "vipDonate", new List <string>()
            {
                "0"
            });
            kb.AddLine();
            kb.AddButton("🏎 Кастомный авто", "carDonate", new List <string>()
            {
                "0"
            });
            kb.AddLine();
            kb.AddButton(ButtonsHelper.ToHomeButton());
            sender.Text(text, msg.ChatId, kb.Build());
        }
Example #17
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            if (Main.Api.Users.IsBanned(msg))
            {
                return;
            }

            if (!Main.Api.Users.CheckUser(msg))
            {
                var kb2 = new KeyboardBuilder(bot);
                kb2.AddButton("➕ Зарегистрироваться", "start");
                sender.Text("❌ Вы не зарегистрированы, нажмите на кнопку ниже, чтобы начать", msg.ChatId, kb2.Build());
                return;
            }

            var kb = new KeyboardBuilder(bot);

            kb.AddButton("📕 Меню телефона", "menuphone");
            kb.AddLine();
            kb.AddButton("✔ Принять гонку", "raceStart", new List <string>()
            {
                "222"
            });
            kb.AddButton("❌ Отклонить гонку", "raceundo", new List <string>());
            kb.AddLine();
            kb.AddButton("🏁 Вернуться в раздел гонок", "race");
            sender.Text("❓ Выберите действие на клавиатуре", msg.ChatId, kb.Build());
        }
Example #18
0
 public void Execute(Message msg, IMessageSenderService sender, IBot bot)
 {
     if (msg.Payload.Arguments[0] == "adsAdd")
     {
         AdvertisementAddCommand.AddPartOne(msg.MessageVK.FromId.Value, msg.ChatId, int.Parse(msg.Payload.Arguments[1]), sender);
     }
 }
Example #19
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            if (Main.Api.Users.IsBanned(msg))
            {
                return;
            }

            if (!Main.Api.Users.CheckUser(msg))
            {
                var kb2 = new KeyboardBuilder(bot);
                kb2.AddButton("➕ Зарегистрироваться", "start");
                sender.Text("❌ Вы не зарегистрированы, нажмите на кнопку ниже, чтобы начать", msg.ChatId, kb2.Build());
                return;
            }
            var api   = Main.Api;
            var user  = api.Users.GetUser(msg);
            var price = 500000;
            var kb    = new KeyboardBuilder(bot);

            if (user.Money < price)
            {
                kb.AddButton(ButtonsHelper.ToHomeButton());
                sender.Text("❌ У Вас недостаточно наличных денег для создания команды.", msg.ChatId, kb.Build());
                return;
            }

            UsersCommandHelper.GetHelper().Add("creategang", user.Id);
            kb.AddButton("❌ Отменить", "menu", color: KeyboardButtonColor.Negative);
            sender.Text("👥 Напишите название Вашей команды", msg.ChatId, kb.Build());
        }
        public static void AddPartTwo(long userId, long chatId, IMessageSenderService sender, string text, IBot bot)
        {
            if (text.Length > 300)
            {
                var kb = new KeyboardBuilder(bot);
                kb.AddButton("Попробовать ещё раз", "AddAds", color: KeyboardButtonColor.Positive);
                kb.SetOneTime();
                sender.Text($"⛔ Объявление не может быть больше 300х символов. В Вашем объявлении {text.Length} символов.", chatId, kb.Build());
                return;
            }

            using (var db = new BotData())
            {
                var server = StaticContent.SelectUserServer.SingleOrDefault(u => u.Key == userId);
                db.Ads.Add(new Ad()
                {
                    AdId       = new Random().Next(0, 99999999),
                    Owner      = userId,
                    DateCreate = Convert.ToInt64(DateTime.Now.Subtract(new DateTime(1970, 1, 1)).TotalSeconds),
                    Server     = server.Value,
                    Time       = 3,
                    Text       = text
                });

                db.SaveChanges();

                StaticContent.SelectUserServer.Remove(userId);
            }

            sender.Text("✔ Ваше объявление добавлено.", chatId);
        }
Example #21
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            if (Main.Api.Users.IsBanned(msg))
            {
                return;
            }

            if (!Main.Api.Users.CheckUser(msg))
            {
                var kb2 = new KeyboardBuilder(bot);
                kb2.AddButton("➕ Зарегистрироваться", "start");
                sender.Text("❌ Вы не зарегистрированы, нажмите на кнопку ниже, чтобы начать", msg.ChatId, kb2.Build());
                return;
            }
            string text   = "🔧 Магазин гаражей";
            var    kb     = new KeyboardBuilder(bot);
            var    helper = GarageHelper.GetHelper();

            foreach (var garage in helper.Garages)
            {
                text += $"\n 🔧 [{garage.Id}] {garage.Name} | 🚘 Мест: {garage.CountPlaces} | 💵 Цена: {garage.Price}";
                kb.AddButton($"🔧 {garage.Id}", "infogarage", new List <string>()
                {
                    garage.Id.ToString()
                });
                if (garage.Id == 3 || garage.Id == 7)
                {
                    kb.AddLine();
                }
            }

            kb.AddLine();
            kb.AddButton("↩ Назад", "store");
            sender.Text(text, msg.ChatId, kb.Build());
        }
Example #22
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            if (Main.Api.Users.IsBanned(msg))
            {
                return;
            }

            if (!Main.Api.Users.CheckUser(msg))
            {
                var kb2 = new KeyboardBuilder(bot);
                kb2.AddButton("➕ Зарегистрироваться", "start");
                sender.Text("❌ Вы не зарегистрированы, нажмите на кнопку ниже, чтобы начать", msg.ChatId, kb2.Build());
                return;
            }
            var user = Main.Api.Users.GetUser(msg);
            var kb   = new KeyboardBuilder(bot);

            kb.AddButton("↩ Назад к вкладам", "contribution");
            long money = 0;

            using (var db = new Database())
            {
                var contr = db.Contributions.Single(c => c.UserId == user.Id);
                money = contr.Money;
                db.Contributions.Remove(contr);
                db.SaveChanges();
            }

            Main.Api.Users.AddMoneyToBank(user.Id, money);
            sender.Text($"💵 На Ваш банковский счет зачислено {money} руб.", msg.ChatId, kb.Build());
        }
Example #23
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));
            }

            try
            {
                StaticContent.UsersCommand.Add(msg.ChatId, "target");
            }
            catch
            {
                StaticContent.UsersCommand.Remove(msg.ChatId);

                StaticContent.UsersCommand.Add(msg.ChatId, "target");
            }
            sender.Text("❓ Укажите новую сумму:", msg.ChatId);
        }
Example #24
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            if (!Main.Api.Users.CheckUser(msg))
            {
                var kb2 = new KeyboardBuilder(bot);
                kb2.AddButton("➕ Зарегистрироваться", "start");
                sender.Text("❌ Вы не зарегистрированы, нажмите на кнопку ниже, чтобы начать", msg.ChatId, kb2.Build());
                return;
            }

            var api      = Main.Api;
            var userSend = api.Users.GetUser(msg);

            if (userSend.Access < 6)
            {
                sender.Text("❌ Вам недоступна эта команда!", msg.ChatId);
                return;
            }


            var id = msg.Text.Split(" ")[1].ToLong();

            using (var db = new Database())
            {
                var user = db.Users.Single(u => u.Id == id);
                user.IsBanned = false;
                user.TimeBan  = 0;
                db.SaveChanges();
                sender.Text("✔ Вы были разблокированы", user.VkId);
            }

            sender.Text("Пользователь разблокирован", msg.ChatId);
        }
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            var kb = new KeyboardBuilder(bot);

            var usrs = JsonConvert.DeserializeObject <Models.MailingModel>(File.ReadAllText("MailingUsers.json"));

            if (usrs.Users.Any(u => u.UserId == msg.MessageVK.FromId))
            {
                kb.AddButton("⛔ Описаться от рассылки", "unsubscribe", color: KeyboardButtonColor.Negative);
            }
            else
            {
                kb.AddButton("✔ Подписаться на рассылку", "subscribe", color: KeyboardButtonColor.Negative);
            }


            kb.AddLine();
            kb.AddButton("🔙 В меню", "menu");

            if (msg.ChatId != msg.MessageVK.FromId)
            {
                sender.Text("⚙ Настройки: \n ✔ Подписаться - напишите, чтобы подписаться на рассылку. \n ⛔ Отписаться - напишите, чтобы отписаться от рассылки", msg.ChatId);
            }
            else
            {
                sender.Text("⚙ Настройки:", msg.ChatId, kb.Build());
            }
        }
        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 model = JsonConvert.DeserializeObject <ChangelogModel>(File.ReadAllText("Changelog.json"));

            if (msg.ChatId != msg.MessageVK.FromId)
            {
                sender.Text(model.Text, msg.ChatId);
            }
            else
            {
                var kb = new KeyboardBuilder(bot);
                kb.AddButton("🔙 В меню", "menu");
                kb.SetOneTime();
                sender.Text(model.Text, msg.ChatId, kb.Build());
            }
        }
Example #27
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            if (Main.Api.Users.IsBanned(msg))
            {
                return;
            }

            if (!Main.Api.Users.CheckUser(msg))
            {
                var kb2 = new KeyboardBuilder(bot);
                kb2.AddButton("➕ Зарегистрироваться", "start");
                sender.Text("❌ Вы не зарегистрированы, нажмите на кнопку ниже, чтобы начать", msg.ChatId, kb2.Build());
                return;
            }
            var user = Main.Api.Users.GetUser(msg);


            var price = 95 * 45;

            if (user.Money < price)
            {
                sender.Text($"❌ У Вас недостаточно наличных, для оплаты топлива!" +
                            $"\n 💵 Ваш баланс: {user.Money}", msg.ChatId);
                return;
            }

            Main.Api.Users.RemoveMoney(user.Id, price);

            Main.Api.Garages.AddFuel(user.Id, 95);


            sender.Text("✔ Ваш бак пополнен на максимум!", msg.ChatId);
        }
Example #28
0
        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 array    = msg.Text.Split(" ");
            var idCar    = long.Parse(array[1]);
            var idTuning = long.Parse(array[2]);


            using (var db = new BotData())
            {
                var car = db.Cars.SingleOrDefault(c => c.CarId == idCar);
                car.TuningPacks += $"{idTuning},";
                db.SaveChanges();
            }

            sender.Text("✔ Тюнинг добавлен в автомобиль.", msg.ChatId);
        }
Example #29
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            if (Main.Api.Users.IsBanned(msg))
            {
                return;
            }

            if (!Main.Api.Users.CheckUser(msg))
            {
                var kb2 = new KeyboardBuilder(bot);
                kb2.AddButton("➕ Зарегистрироваться", "start");
                sender.Text("❌ Вы не зарегистрированы, нажмите на кнопку ниже, чтобы начать", msg.ChatId, kb2.Build());
                return;
            }

            var user = Main.Api.Users.GetUser(msg);

            using (var db = new Database())
            {
                var us = db.Users.Single(u => u.Id == user.Id);
                us.SubOnNews = false;
                db.SaveChanges();
            }
            var kb = new KeyboardBuilder(bot);

            kb.AddButton(ButtonsHelper.ToHomeButton());
            sender.Text("✔ Вы отписались от рассылки.", msg.ChatId, kb.Build());
        }
Example #30
0
        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;
            }

            if (msg.MessageVK.FromId != msg.ChatId)
            {
                sender.Text("⛔ Эта команда недоступна в беседах", msg.ChatId);
                return;
            }

            var words = msg.Text.Split(" ");
            var model = string.Empty;

            for (int i = 1; i < words.Length; i++)
            {
                model += words[i] + " ";
            }

            if (model == string.Empty)
            {
                sender.Text("⛔ Вы не указали модель", msg.ChatId);
                return;
            }

            if (model[^ 1] == ' ')