public override void ExecutePL(RootObject update, VkApi client, SqlConnection Con) { MessagesSendParams @params = new MessagesSendParams(); var chatId = [email protected]_id; var keyboardBuilder = new KeyboardBuilder().Clear(); Regex regex = new Regex("[^0-9]"); try { string[] payload = [email protected]('-'); int role = Convert.ToInt32(regex.Replace(payload[1], "")); //var ids = new long[] { chatId }; //var user = client.Users.Get(ids); //TO DO: switch-case role SqlCommand editUser = new SqlCommand("UPDATE Users SET role = @role, tag = @tag WHERE chatId = @chatId;", Con); editUser.Parameters.AddWithValue("@chatId", chatId); editUser.Parameters.AddWithValue("@role", role); editUser.Parameters.AddWithValue("@tag", "Новичок - Выбор роли"); editUser.ExecuteNonQuery(); //keyboardBuilder.AddButton("⬅Назад", "startPL", KeyboardButtonColor.Default); @params.Message = "Цифровую планету уже обустраивает строительный экипаж. " + "Построена столица планеты - ЦифраГрад. " + "Правительственный экипаж обеспечил инфраструктуру столицы и установил порядки."; @params.Keyboard = keyboardBuilder.Build(); @params.UserId = chatId; @params.RandomId = GetRandomId(); client.Messages.SendAsync(@params); Thread.Sleep(2000); keyboardBuilder .AddButton("🎓Пройти обучение", "selectEducation", KeyboardButtonColor.Positive); @params.Keyboard = keyboardBuilder.Build(); @params.Message = "Вашему экипажу выпала интересная задача - заселить столицу и освоить действующие порядки. " + "По результатам миссии будет принято решение о развитии других городов.\n" + "Перед началом экипажу назначено обучение. Поехали!"; @params.UserId = chatId; @params.RandomId = GetRandomId(); client.Messages.SendAsync(@params); } catch (Exception ee) { @params.Message = "‼Ошибка в SelectRoleCommand: " + ee.Message; @params.Attachments = null; @params.Keyboard = null; @params.UserId = 59111081; @params.RandomId = GetRandomId(); client.Messages.SendAsync(@params); } }
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()); }
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()); }
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(ButtonsHelper.ToHomeButton()); if (user.BusinessIds == "") { sender.Text($"🤨 У вас нет ни одного бизнеса.", msg.ChatId, kb.Build()); return; } var textBusiness = ""; var ids = user.BusinessIds.Split(","); if (ids.Any(w => w == "1")) { var count = ids.Count(w => w == "1"); textBusiness += $"\n⚙ Шиномонтаж: Количество: {count} Доход - {100 * count} руб./час"; } if (ids.Any(w => w == "2")) { var count = ids.Count(w => w == "2"); textBusiness += $"\n🚗 Автомойка: Количество: {count} Доход - {100 * count} руб./час"; } if (ids.Any(w => w == "3")) { var count = ids.Count(w => w == "3"); textBusiness += $"\n🔧 Автосервис: Количество: {count} Доход - {100 * count} руб./час"; } sender.Text($"🏢 Ваши бизнесы:\n {textBusiness}", msg.ChatId, kb.Build()); }
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()); }
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()); }
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) { 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()); }
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(); }
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()); }
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()); }
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()); } }
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()); }
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()); }
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()); }
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()); }
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()); }
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) { 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 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()); }
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) { 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()); }
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 engineId = long.Parse(msg.Payload.Arguments[0]); var carId = long.Parse(msg.Payload.Arguments[1]); using (var db = new Database()) { var car = db.Cars.Single(c => c.Id == carId); car.Engine = 0; var engine = db.Engines.Single(e => e.Id == engineId); engine.CarId = 0; db.SaveChanges(); } var kb = new KeyboardBuilder(bot); kb.AddButton("↩ В гараж", "garage"); 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 carTarget = long.Parse(msg.Payload.Arguments[0]); using (var db = new BotData()) { var targetInfo = db.Targets.SingleOrDefault(t => t.UserId == msg.MessageVK.FromId); var kb = new KeyboardBuilder(bot); kb.AddButton("🔙 Назад к авто", "carinfo", new List <string>() { carTarget.ToString() }); kb.AddLine(); kb.AddButton("🔙 В меню", "menu"); kb.SetOneTime(); if (targetInfo is null) { targetInfo = new Target(); targetInfo.UserId = msg.ChatId; targetInfo.Count = 0; targetInfo.CarId = carTarget; db.Targets.Add(targetInfo); sender.Text("✔ Цель добавлена", msg.ChatId, kb.Build()); } else { targetInfo.CarId = carTarget; sender.Text("✔ Цель обновлена", msg.ChatId, kb.Build()); } db.SaveChanges(); } }
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 textArray = msg.Text.Split(" ").ToList(); if (textArray.Count <= 2) { sender.Text("❌ Укажите текст рассылки, например: рассылка Всем привет!", msg.ChatId); } textArray[0] = ""; var text = string.Empty; foreach (var word in textArray) { text += word + " "; } List <User> users; using (var db = new Database()) { users = db.Users.ToList(); } sender.Text("⌛ Мы начали рассылку сообщений.", msg.ChatId); Task.Run(() => { foreach (var user in users) { try { if (user.VkId != 0 && sender.Platform == MessengerPlatform.Vkontakte) { if (user.SubOnNews) { var kb = new KeyboardBuilder(bot); kb.AddButton("❌ Отказаться от рассылки", "unsubNewsLetter"); sender.Text(text, user.VkId, kb.Build()); Thread.Sleep(1000); } } } catch (Exception e) { } } sender.Text("✔ Рассылка завершена!", msg.ChatId); }); }
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()); }
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()); }
private void MessageAllowHandler() { //Default menu KeyboardBuilder key = new KeyboardBuilder(); key.AddButton("Привязать аккаунт", null, agree); key.AddButton("Удалить привязку", null, decine); MessageKeyboard keyboard = key.Build(); try { while (true) // Бесконечный цикл, получение обновлений { api.Authorize(new ApiAuthParams() { AccessToken = userToken, }); longPoolServerResponse = new LongPollServerResponse(); longPoolServerResponse = api.Groups.GetLongPollServer(groupID); BotsLongPollHistoryResponse poll = null; try { poll = api.Groups.GetBotsLongPollHistory( new BotsLongPollHistoryParams() { Server = longPoolServerResponse.Server, Ts = longPoolServerResponse.Ts, Key = longPoolServerResponse.Key, Wait = 25 }); pts = longPoolServerResponse.Pts; if (poll?.Updates == null) { continue; // Проверка на новые события } } catch (Exception ex) { ErrorLogging(ex); ReadError(); } foreach (var a in poll.Updates) { if (a.Type == GroupUpdateType.MessageAllow) //Подписка на сообщения сообщества { long?userID = a.MessageAllow.UserId; SendMessage("😉 Спасибо за подписку!", userID, keyboard, null); } } } } catch (Exception ex) { ErrorLogging(ex); ReadError(); } }
private void GroupJoinHandler() { //Default menu KeyboardBuilder key = new KeyboardBuilder(); key.AddButton("Привязать аккаунт", null, agree); key.AddButton("Удалить привязку", null, decine); MessageKeyboard keyboard = key.Build(); try { while (true) // Бесконечный цикл, получение обновлений { api.Authorize(new ApiAuthParams() { AccessToken = userToken, }); longPoolServerResponse = new LongPollServerResponse(); longPoolServerResponse = api.Groups.GetLongPollServer(groupID); //id группы BotsLongPollHistoryResponse poll = null; try { poll = api.Groups.GetBotsLongPollHistory( new BotsLongPollHistoryParams() { Server = longPoolServerResponse.Server, Ts = longPoolServerResponse.Ts, Key = longPoolServerResponse.Key, Wait = 25 }); pts = longPoolServerResponse.Pts; if (poll?.Updates == null) { continue; // Проверка на новые события } } catch (Exception ex) { ErrorLogging(ex); ReadError(); } foreach (var a in poll.Updates) { if (a.Type == GroupUpdateType.GroupJoin) //Вступление юзера в группу { long?userID = a.GroupJoin.UserId; SendMessage("🎉 Добро пожаловать в наш игровой паблик!\nМы разработали собственную программу для синхронизации игрового чата с ВК!\nПосле привязки аккаунта, ты сможешь читать и отправлять сообщения в игровой чат! Круто же!!!", userID, keyboard, null); } } } } catch (Exception ex) { ErrorLogging(ex); ReadError(); } }
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()); }