Ejemplo n.º 1
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());
        }
Ejemplo n.º 2
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());
        }
        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));
            }
            if (msg.ChatId != msg.MessageVK.FromId)
            {
                sender.Text("⛔ Эту команду нельзя вызывать в беседах. Чтобы узнать список всех команд - напишите \"команды\" ", msg.ChatId);
                return;
            }

            var kb = new KeyboardBuilder(bot);

            kb.AddButton("➕ Добавить объявление", "AddAds", color: KeyboardButtonColor.Positive);
            kb.AddLine();
            kb.AddButton("🔍 Список объявлений", "ads");
            kb.SetOneTime();
            kb.AddLine();
            kb.AddButton("🔙 В меню", "menu");

            sender.Text("❓ Выберите действие на клавиатуре", msg.ChatId, kb.Build());
        }
Ejemplo n.º 4
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());
        }
Ejemplo n.º 5
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 text = "📱 Меню телефона";

            var kb = new KeyboardBuilder(bot);

            kb.AddButton("🧒 Мои друзья", "friends");
            kb.AddLine();
            kb.AddButton("➕ Добавить друга", "addfriend", color: KeyboardButtonColor.Positive);
            kb.AddButton("➖ Удалить друга", "removefriend", color: KeyboardButtonColor.Negative);
            kb.AddLine();
            kb.AddButton("⚠ Запросы в друзья", "requestfriends");
            kb.AddButton("✉ Сообщения", "messages");
            kb.AddLine();
            kb.AddButton("❌ Закрыть меню", "openphone");

            sender.Text(text, msg.ChatId, kb.Build());
        }
Ejemplo n.º 6
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();
        }
Ejemplo n.º 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 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());
        }
Ejemplo n.º 8
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());
        }
Ejemplo n.º 9
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;
            Car car = null;

            using (var db = new Database())
            {
                car = db.Cars.Single(c => c.Id == long.Parse(msg.Payload.Arguments[0]));
            }
            var text = $"❓ Выберите действие с автомобилем {car.Manufacturer} {car.Model}";

            var kb = new KeyboardBuilder(bot);

            kb.AddButton("💵 Продать", "sellcar", new List <string>()
            {
                car.Id.ToString()
            });
            kb.AddLine();
            kb.AddButton("⚙ Сменить двигатель", "engines", new List <string>()
            {
                car.Id.ToString()
            });
            kb.AddLine();
            kb.AddButton("🗄 Сменить номер", "numbers", new List <string>()
            {
                car.Id.ToString()
            });
            kb.AddLine();
            if (car.Health < 10)
            {
                kb.AddButton("🔧 Починить авто", "repaircar", new List <string>()
                {
                    car.Id.ToString()
                });
            }
            var garage = api.Garages.GetGarage(msg);

            if (garage.SelectCar != car.Id)
            {
                kb.AddButton("🏎 Выбрать для гонок", "selectcar", new List <string>()
                {
                    car.Id.ToString()
                });
            }
            kb.AddButton("↩ Назад", "garage");
            sender.Text(text, msg.ChatId, kb.Build());
        }
Ejemplo n.º 10
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            var user = Main.Api.Users.GetUser(msg);

            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 garage = Main.Api.Garages.GetGarage(msg);
            var text   = $"🛒 Раздел другое:" +
                         $"\n" +
                         $"\n 📱 Телефон" +
                         $"\n 💵 Цена: 2.500 руб." +
                         $"\n 📟 Сим-карта" +
                         $"\n 💵 Цена: 500 руб." +
                         $"\n 🗄 Автомобильный номер" +
                         $"\n 💵  Цена: 5.000 руб.";

            if (user.Access >= 1)
            {
                text += "📟 Собственный номер телефона (Доступно только VIP)";
            }

            var kb = new KeyboardBuilder(bot);

            if (!garage.IsPhone)
            {
                kb.AddButton("📱 Купить телефон", "buyitem", new List <string>()
                {
                    "1"
                });
                kb.AddLine();
            }
            kb.AddButton("📟 Купить сим-карту", "buyitem", new List <string>()
            {
                "2"
            });
            kb.AddLine();
            kb.AddButton("🗄 Купить автомобильный номер", "buycarnumber");
            kb.AddLine();
            if (user.Access >= 1)
            {
                kb.AddButton("📟 Купить собственный номер телефона", "buyitem", new List <string>()
                {
                    "3"
                });
                kb.AddLine();
            }
            kb.AddButton("↩ Назад в магазин", "store");
            sender.Text(text, msg.ChatId, kb.Build());
        }
Ejemplo n.º 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);
            var text = "🚗 Автошкола." +
                       $"{(user.DriverLicense != "" ? $"\n📃 Ваши категории прав: {user.DriverLicense}" : "")}" +
                       "\n ❓ Выберите категорию на клавиатуре ниже";

            var kb = new KeyboardBuilder(bot);

            if (!(user.DriverLicense.Split(",").Any(s => s == "A")))
            {
                kb.AddButton("A (1.000 руб.)", "catA", new List <string> {
                    "0", "0", "0"
                });
            }
            if (!(user.DriverLicense.Split(",").Any(s => s == "B")))
            {
                kb.AddButton("B (3.500 руб.)", "catB", new List <string> {
                    "0", "0", "0"
                });
            }
            if (!(user.DriverLicense.Split(",").Any(s => s == "A" || s == "B")))
            {
                kb.AddLine();
            }
            if (!(user.DriverLicense.Split(",").Any(s => s == "C")))
            {
                kb.AddButton("C (8.500 руб.)", "catC", new List <string> {
                    "0", "0", "0"
                });
            }
            if (!(user.DriverLicense.Split(",").Any(s => s == "D")))
            {
                kb.AddButton("D (10.000 руб.)", "catD", new List <string> {
                    "0", "0", "0"
                });
            }
            if (!(user.DriverLicense.Split(",").Any(s => s == "C" || s == "D")))
            {
                kb.AddLine();
            }
            kb.AddButton(ButtonsHelper.ToHomeButton());
            sender.Text(text, msg.ChatId, kb.Build());
        }
Ejemplo n.º 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 api  = Main.Api;
            var user = api.Users.GetUser(msg);
            var text = string.Empty;
            var kb   = new KeyboardBuilder(bot);

            if (user.Gang == 0)
            {
                text = "❌ Вы не являетесь участником команды. Но Вы можете создать свою!";
                kb.AddButton("➕ Создать команду (500.000 руб.)", "creategang");
                kb.AddLine();
                kb.AddButton(ButtonsHelper.ToHomeButton());
                sender.Text(text, msg.ChatId, kb.Build());
                return;
            }

            var gang        = api.Gangs.GetGang(user.Gang);
            var creatorUser = api.Users.GetUserFromId(gang.Creator);
            var helper      = new UsersHelper();
            var creatorLink = helper.GetLink(creatorUser);

            text = $"👥 Название команды: {gang.Name}" +
                   $"\n 🔝 ID: {gang.Id}" +
                   $"\n ⭐ Основатель: {creatorLink}" +
                   $"\n 📖 Участники:";

            foreach (var m in gang.Members)
            {
                var member = api.Users.GetUserFromId(m);
                text += $"\n ▶ {helper.GetLink(member)}";
            }

            kb.AddButton("🔁 Переименовать команду", "renamegang");
            kb.AddLine();
            kb.AddButton("💱 Передать команду", "transfergang");
            kb.AddLine();
            kb.AddButton("❌ Удалить команду", "deletegang", color: KeyboardButtonColor.Negative);
            kb.AddLine();
            kb.AddButton(ButtonsHelper.ToHomeButton());
            sender.Text(text, msg.ChatId, kb.Build());
        }
Ejemplo n.º 13
0
        public static IKeyboardBuilder PostHandlingKeyboardBuilder()
        {
            /*var buttonHelp = new MessageKeyboardButtonAction()
             * {
             *  Type = KeyboardButtonActionType.Text,
             *  Label = "Помощь",
             *  Payload = "{\"command\": \"postEventHelp\"}",
             * };*/
            var buttonAttachTag = new MessageKeyboardButtonAction()
            {
                Type    = KeyboardButtonActionType.Text,
                Label   = "Прикрепить тэг",
                Payload = "{\"command\": \"attachTag\"}",
            };
            var buttonDetachTag = new MessageKeyboardButtonAction()
            {
                Type    = KeyboardButtonActionType.Text,
                Label   = "Открепить тэг",
                Payload = "{\"command\": \"detachTag\"}"
            };
            var buttonTagsList = new MessageKeyboardButtonAction()
            {
                Type    = KeyboardButtonActionType.Text,
                Label   = "Список тэгов",
                Payload = "{\"command\": \"tagsListPostHandling\"}"
            };
            var buttonSend = new MessageKeyboardButtonAction()
            {
                Type    = KeyboardButtonActionType.Text,
                Label   = "Отправить",
                Payload = "{\"command\": \"sendPost\"}"
            };
            var buttonCancel = new MessageKeyboardButtonAction()
            {
                Type    = KeyboardButtonActionType.Text,
                Label   = "Отмена",
                Payload = "{\"command\": \"cancelPost\"}"
            };
            IKeyboardBuilder keyboardBuilder = new KeyboardBuilder();

            //keyboardBuilder.AddButton(buttonHelp,KeyboardButtonColor.Default);
            //keyboardBuilder.AddLine();
            keyboardBuilder.AddButton(buttonAttachTag, KeyboardButtonColor.Primary);
            keyboardBuilder.AddButton(buttonDetachTag, KeyboardButtonColor.Negative);
            keyboardBuilder.AddLine();
            keyboardBuilder.AddButton(buttonSend, KeyboardButtonColor.Positive);
            keyboardBuilder.AddLine();
            keyboardBuilder.AddButton(buttonTagsList, KeyboardButtonColor.Default);
            keyboardBuilder.AddLine();
            keyboardBuilder.AddButton(buttonCancel, KeyboardButtonColor.Negative);

            return(keyboardBuilder);
        }
Ejemplo n.º 14
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());
        }
Ejemplo n.º 15
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());
        }
Ejemplo n.º 16
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            var kb = new KeyboardBuilder(bot);

            kb.AddButton("Визитки", "businessCards", color: KeyboardButtonColor.Primary);
            kb.AddButton("Листовки", "leaflets", color: KeyboardButtonColor.Primary);
            kb.AddLine();
            kb.AddButton("Буклеты", "booklets", color: KeyboardButtonColor.Primary);
            kb.AddButton("Календари", "calendars", color: KeyboardButtonColor.Primary);
            kb.AddLine();
            kb.AddButton("Открытки", "postcards", color: KeyboardButtonColor.Primary);
            kb.AddLine();
            kb.AddButton("Вернуться к списку услуг", "services", color: KeyboardButtonColor.Positive);
            kb.AddButton("В главное меню", "show", color: KeyboardButtonColor.Negative);
            sender.Text("Выберите интересующий вас вариант", msg.ChatId, kb.Build());
        }
Ejemplo n.º 17
0
        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());
            }
        }
Ejemplo n.º 18
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());
        }
Ejemplo n.º 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;
            }

            long carId = 0;

            try
            {
                carId = long.Parse(msg.Payload.Arguments[0]);
            }catch { }

            var garage = Main.Api.Garages.GetGarage(msg);
            var text   = "🗄 Ваши номера:";
            var kb     = new KeyboardBuilder(bot);

            using (var db = new Database())
            {
                foreach (var num in garage.Numbers.Split(";"))
                {
                    if (num == "")
                    {
                        break;
                    }

                    var number    = db.NumbersCars.Single(n => n.Id == num.ToLong());
                    var inCarText = string.Empty;
                    if (number.CarId != 0)
                    {
                        var car = db.Cars.Single(c => c.Id == number.CarId);
                        inCarText = $"🚗 Установлен в {car.Manufacturer} {car.Model}";
                    }
                    else
                    {
                        inCarText = "🚗 Не установлен на автомобиль";
                    }
                    text += $"\n▶ Номер {number.Number} {number.Region} {inCarText}";
                    kb.AddButton($"{number.Number}", "actionsNumber",
                                 new List <string> {
                        number.Id.ToString(), carId.ToString()
                    });
                    kb.AddLine();
                }
            }

            text += "\n❓ Выберите номер на клавиатуре, чтобы выполнить над ним действие.";

            sender.Text(text, msg.ChatId, kb.Build());
        }
Ejemplo n.º 20
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            var kb = new KeyboardBuilder(bot);

            kb.AddButton("Вывески", "signboards", color: KeyboardButtonColor.Primary);
            kb.AddButton("Объёмные буквы", "volumetricLetters", color: KeyboardButtonColor.Primary);
            kb.AddLine();
            kb.AddButton("Световые короба", "lightBoxes", color: KeyboardButtonColor.Primary);
            kb.AddButton("Стенды и указатели", "standsAndSigns", color: KeyboardButtonColor.Primary);
            kb.AddLine();
            kb.AddButton("Брендирование авто", "autoBranding", color: KeyboardButtonColor.Primary);
            kb.AddButton("Переносные конструкции", "portableStructures", color: KeyboardButtonColor.Primary);
            kb.AddLine();
            kb.AddButton("Вернуться к списку услуг", "services", color: KeyboardButtonColor.Positive);
            kb.AddButton("В главное меню", "show", color: KeyboardButtonColor.Negative);
            sender.Text("Выберите интересующий вас вариант", msg.ChatId, kb.Build());
        }
Ejemplo n.º 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;
            }

            var user   = Main.Api.Users.GetUser(msg);
            var helper = new UsersHelper();
            var kb     = new KeyboardBuilder(bot);
            var text   = $"🧒 Друзья пользователя  {helper.GetLink(user)}";

            if (user.Friends is null)
            {
                text = "💔 Ваш список друзей пуст. Найдите себе друзей скорее!";
                kb.AddButton("🔙 В меню телефона", "menuphone");
            }
            else
            {
                var friends = FriendsHelper.GetFriends(user.Friends);
                foreach (var friendId in friends)
                {
                    var friend = Main.Api.Users.GetUserFromId(friendId);
                    text += $"\n 🧒 [{friend.Id}]| [{friend.Prefix}] {helper.GetLink(friend)} - {friend.Level} уровень.";
                }

                kb.AddButton("➕ Добавить друга", "addfriend");
                kb.AddLine();
                kb.AddButton("❌ Удалить друга", "removefriend");
                kb.AddLine();
                kb.AddButton("✔ Запросы в друзья", "requestfriends");
                kb.AddLine();
                kb.AddButton("↩ В меню телефона", "menuphone");
            }


            sender.Text(text, msg.ChatId, kb.Build());
        }
Ejemplo n.º 22
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            var kb = new KeyboardBuilder(bot);

            kb.AddButton("🖨 Широкоформатная печать", "printing", color: KeyboardButtonColor.Primary);
            kb.AddButton("✍ Наружная реклама", "promotion", color: KeyboardButtonColor.Primary);
            kb.AddLine();
            kb.AddButton("📰 Полиграфия", "polygraphy", color: KeyboardButtonColor.Primary);
            kb.AddButton("📌 Специальные услуги", "specialServices", color: KeyboardButtonColor.Primary);
            kb.AddLine();
            kb.AddButton("Вернуться назад", "show", color: KeyboardButtonColor.Negative);
            sender.Text("Мы предоставляем широкий спектр услуг. А именно:" +
                        "\n➪ Широкоформатная печать" +
                        "\n➪ Наружная реклама" +
                        "\n➪ Полиграфия" +
                        "\nА так же предлагаем вам Специальные услуги(Дизайн и др.)", msg.ChatId, kb.Build());
        }
Ejemplo n.º 23
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            var user = Main.Api.Users.GetUser(msg);
            var text = string.Empty;
            var kb   = new KeyboardBuilder(bot);

            if (msg.Payload.Arguments[0] == "0")
            {
                text = "👑 VIP привелегия:" +
                       "\n ❓ У вас появится возможность:" +
                       "\n ✒ Максимально символов в нике - 20." +
                       "\n 💳 Вклады в банке до 75 млн." +
                       "\n 📱 Кастомный номер телефона" +
                       "\n ⭐ Получение X2 опыта в гонках" +
                       "\n 💰 Получение Х2 приза в гонках" +
                       "\n" +
                       "\n ✔ Цена: 45 донат рублей.";
                kb = new KeyboardBuilder(bot);
                kb.AddButton("💲 Купить", "vipDonate", new List <string>()
                {
                    "1"
                }, color: KeyboardButtonColor.Positive);
                kb.AddLine();
            }
            else
            {
                if (user.DonateMoney < 45)
                {
                    text = "❌ У Вас недостаточно донат рублей для покупки.";
                }
                else
                {
                    if (user.Access >= 1)
                    {
                        text = "❌ У Вас уже куплен VIP или привлегия выше.";
                    }
                    else
                    {
                        using (var db = new Database())
                        {
                            var usr = db.Users.Single(u => u.Id == user.Id);
                            usr.DonateMoney -= 45;
                            usr.Access       = 1;
                            usr.Prefix       = "VIP";
                            db.SaveChanges();
                        }

                        text = "👑 Поздравляю с покупкой! Вы теперь VIP!";
                    }
                }
            }

            kb.AddButton("↩ К донатам", "donate");
            kb.AddLine();
            kb.AddButton(ButtonsHelper.ToHomeButton());

            sender.Text(text, msg.ChatId, kb.Build());
        }
Ejemplo n.º 24
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    idEngine = long.Parse(msg.Payload.Arguments[0]);
            var    idCar    = long.Parse(msg.Payload.Arguments[1]);
            Engine engine   = null;
            Car    car      = null;

            using (var db = new Database())
            {
                engine = db.Engines.Single(e => e.Id == idEngine);
                if (engine.CarId != 0)
                {
                    car = db.Cars.Single(c => c.Id == engine.CarId);
                }
            }

            var text = $"⚙ Двигатель {engine.Name}" +
                       $"\n ⚡ Мощность: {engine.Power}" +
                       $"\n ⚖ Вес: {engine.Weight}" +
                       $"{(car != null? $"\n 🚗 Установлен в {car.Manufacturer} {car.Model}":string.Empty)}" +
                       $"\n ❓ Выберите действие на клавиатуре";

            var kb = new KeyboardBuilder(bot);

            if (car != null)
            {
                kb.AddButton("🚗 Снять с автомобиля", "deleteengine",
                             new List <string>()
                {
                    idEngine.ToString(), car.Id.ToString()
                });
                kb.AddLine();
            }
            else
            {
                kb.AddButton("🚗 Установить в автомобиль", $"{(idCar !=0? "setengine":"garage" )}", new List <string>()
                {
                    idCar.ToString(), idEngine.ToString()
                });
            }

            kb.AddButton("↩ Назад к двигателям", "engines");

            sender.Text(text, msg.ChatId, kb.Build());
        }
Ejemplo n.º 25
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));
            }

            if (msg.ChatId != msg.MessageVK.FromId)
            {
                sender.Text("⛔ Эту команду нельзя вызывать в беседах. Чтобы узнать список всех команд - напишите \"команды\" ", msg.ChatId);
                return;
            }

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

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


            var kb = new KeyboardBuilder(bot);

            kb.AddButton("🔍 Поиск машин", "searchMenu", color: KeyboardButtonColor.Primary);
            kb.AddLine();
            kb.AddButton("📮 Объявления", "adsmenu");
            kb.AddButton("🎞 Changelog", "changelog");
            if (isAdmin)
            {
                kb.AddButton("🤴 Админ-панель", "adminmenu");
            }
            kb.AddLine();
            kb.AddButton("⚙ Настройки", "settings");
            kb.SetOneTime();

            sender.Text("🎈 Главное меню: ", msg.ChatId, kb.Build());
        }
Ejemplo n.º 26
0
        public static IKeyboardBuilder MainMenuKeyboardBuilder()
        {
            var buttonHelp = new MessageKeyboardButtonAction()
            {
                Type    = KeyboardButtonActionType.Text,
                Label   = "Помощь",
                Payload = "{\"command\": \"help\"}",
            };
            var buttonTagsList = new MessageKeyboardButtonAction()
            {
                Type    = KeyboardButtonActionType.Text,
                Label   = "Список тэгов",
                Payload = "{\"command\": \"tagsList\"}",
            };
            var buttonAddTag = new MessageKeyboardButtonAction()
            {
                Type    = KeyboardButtonActionType.Text,
                Label   = "Добавить тэг",
                Payload = "{\"command\": \"addTag\"}"
            };
            var buttonAddPost = new MessageKeyboardButtonAction()
            {
                Type    = KeyboardButtonActionType.Text,
                Label   = "Добавить пост",
                Payload = "{\"command\": \"addPost\"}"
            };
            var buttonAdmin = new MessageKeyboardButtonAction()
            {
                Type    = KeyboardButtonActionType.Text,
                Label   = "Админ-панель",
                Payload = "{\"command\": \"adminPanel\"}"
            };
            IKeyboardBuilder keyboardBuilder = new KeyboardBuilder();

            keyboardBuilder.AddButton(buttonTagsList, KeyboardButtonColor.Positive);
            keyboardBuilder.AddButton(buttonAddTag, KeyboardButtonColor.Positive);
            keyboardBuilder.AddLine();
            keyboardBuilder.AddButton(buttonAddPost, KeyboardButtonColor.Primary);
            keyboardBuilder.AddLine();
            keyboardBuilder.AddButton(buttonAdmin, KeyboardButtonColor.Negative);
            keyboardBuilder.AddLine();
            keyboardBuilder.AddButton(buttonHelp, KeyboardButtonColor.Default);
            return(keyboardBuilder);
        }
Ejemplo n.º 27
0
        public void BookmarksCommand()
        {
            Int32 startIndex = 0;

            if (Context.Arguments.Length == 1)
            {
                try
                {
                    startIndex = (Int32.Parse(Context.Arguments[0]) - 1) * 3;
                }
                catch
                {
                    Context.Reply(new MessagesSendParams
                    {
                        RandomId = new Random().Next(),
                        Message  = $"Использование: /bookmarks [page (int)]"
                    });
                    return;
                }
            }
            else
            {
                Context.Reply(new MessagesSendParams
                {
                    RandomId = new Random().Next(),
                    Message  = $"Использование: /bookmarks [page (int)]"
                });
                return;
            }
            KeyboardBuilder kb = new KeyboardBuilder(false);

            kb.SetInline();
            foreach (var bookmark in Context.User.Bookmarks.Skip(startIndex).Take(3))
            {
                kb.AddButton(new MessageKeyboardButtonAction
                {
                    Type    = KeyboardButtonActionType.OpenLink,
                    Label   = new String($"{bookmark.Product}: {bookmark.Name}".Take(40).ToArray()),
                    Link    = new Uri($"https://vk.com/bug{bookmark.Id}"),
                    Payload = ""
                });
                kb.AddButton(new MessageKeyboardButtonAction
                {
                    Type    = KeyboardButtonActionType.Text,
                    Label   = VkBot.REMOVE_FROM_BOOKMARKS,
                    Payload = JsonSerializer.Serialize(new BookmarksEventPayload(BookmarksEventPayload.EventType.Remove, bookmark.Id))
                }, KeyboardButtonColor.Negative);
                kb.AddLine();
            }
            Context.Reply(new MessagesSendParams
            {
                RandomId = new Random().Next(),
                Message  = $"Закладки ({startIndex + 1}-{Math.Min(startIndex + 3, Context.User.Bookmarks.Count)}/{Context.User.Bookmarks.Count})",
                Keyboard = kb.Build()
            });
        }
Ejemplo n.º 28
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("🏁 В раздел гонок", "race");
            kb.AddLine();
            kb.AddButton(ButtonsHelper.ToHomeButton());


            if (user.Race <= 0)
            {
                sender.Text($"❌ У Вас нет новых запросов на гонку", msg.ChatId, kb.Build());
                return;
            }

            using (var db = new Database())
            {
                var race = db.Races.FirstOrDefault(r => r.Enemy == user.Id && r.IsRequest == true);
                race.IsRequest = false;
                race.Winner    = -1;
                var  helper  = new UsersHelper();
                var  creator = db.Users.Single(u => u.Id == race.Creator);
                long chatId  = 0;

                if (sender.Platform == MessengerPlatform.Vkontakte)
                {
                    chatId = creator.VkId;
                }
                else
                {
                    chatId = creator.TgId;
                }

                creator.Race = 0;

                sender.Text($"🏁 Пользователь {helper.GetLink(creator)} отклонил ваше предложение!", chatId, kb.Build());

                db.SaveChanges();
            }

            sender.Text($"✔ Вы не приняли гонку", msg.ChatId, kb.Build());
        }
Ejemplo n.º 29
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            var user = Main.Api.Users.GetUser(msg);
            var text = "✉ Ваши недавние диалоги:";
            var kb   = new KeyboardBuilder(bot);

            kb.AddButton("➕ Новый чат", "newChat");
            kb.AddLine();
            using (var db = new Database())
            {
                var messagesInfo = db.MessagesInfo.SingleOrDefault(m => m.UserId == user.Id);
                if (messagesInfo is null)
                {
                    text += "\n ✒ У Вас нет недавних чатов. Напишите кому нибудь!";
                }
                else
                {
                    var userIds = messagesInfo.LastMessageUsers.Split(";");

                    foreach (var userId in userIds)
                    {
                        if (userId == "")
                        {
                            break;
                        }

                        var usr = db.Users.Single(u => u.Id == userId.ToLong());
                        var gar = db.Garages.Single(g => g.UserId == usr.Id);
                        text += $"✒ ({gar.PhoneNumber}) [{usr.Prefix}] {usr.Name}";
                        kb.AddButton(gar.PhoneNumber, "chat", new List <string>()
                        {
                            gar.PhoneNumber
                        });
                        kb.AddLine();
                    }
                }
            }

            text += "❓ Выберите диалог на клавиатуре или начните новый чат.";

            sender.Text(text, msg.ChatId, kb.Build());
        }
Ejemplo n.º 30
0
        public void Execute(Message msg, IMessageSenderService sender, IBot bot)
        {
            var kb = new KeyboardBuilder(bot);

            kb.AddButton("Услуги ✏", "services", color: KeyboardButtonColor.Primary);
            kb.AddButton("Портфолио 💼", "portfolio", color: KeyboardButtonColor.Primary);
            kb.AddLine();
            kb.AddButton("О нас ℹ", "info", color: KeyboardButtonColor.Primary);
            kb.AddButton("Контакты 📞", "contacts", color: KeyboardButtonColor.Primary);
            sender.Text("Всегда рад вам помочь. Что хотите узнать?", msg.ChatId, kb.Build());
        }