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) { 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); 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(); } }
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 string Open(long userId, long count, long days) { if (count <= 0) { return("❌ Указана неверная сумма"); } if (days < 1) { return("❌ Указано неверное количество дней."); } var user = Main.Api.Users.GetUserFromId(userId); if (user.MoneyInBank < count) { return("❌ У Вас недостаточно денег в банке."); } using (var db = new Database()) { var contr = new Contribution() { UserId = userId, CountDay = days, Money = count }; db.Contributions.Add(contr); db.SaveChanges(); UsersCommandHelper.GetHelper().Add("", user.Id); return($"✔ Вы открыли вклад на сумму {count} руб., на {days} дн."); } }
public void Execute(Message msg, IMessageSenderService sender, IBot bot) { var user = Main.Api.Users.GetUser(msg); var text = $"⭐ Укажите, на какое количество донат рублей Вы хотите купить опыта." + $"\n 💲 Ваш баланс донат рублей: {user.DonateMoney} руб." + $"\n ❓ Стоимость: 1 донат рубль = 1000 опыта."; var kb = new KeyboardBuilder(bot); UsersCommandHelper.GetHelper().Add("expDonate", user.Id); kb.AddButton("❌ Отменить", "donate", color: KeyboardButtonColor.Negative); sender.Text(text, msg.ChatId, kb.Build()); }
public void Execute(Message msg, IMessageSenderService sender, IBot bot) { var user = Main.Api.Users.GetUser(msg); var kb = new KeyboardBuilder(bot); kb.AddButton("✉ К сообщениям", "messages"); var text = "✒ Укажите номер телефона:"; UsersCommandHelper.GetHelper().Add("newChatCreate", user.Id); sender.Text(text, msg.ChatId); }
public void Execute(Message msg, IMessageSenderService sender, IBot bot) { var user = Main.Api.Users.GetUser(msg); var customCarId = msg.Payload.Arguments[0].ToLong(); var text = "Укажите мощность и массу двигателя через пробел." + "\n Пример: 234 2000"; UsersCommandHelper.GetHelper().Add("expDonate", user.Id); TempCarAccepts.Add(new TempCarAccept() { UserId = user.Id, IsAccepted = false, CustomCarId = customCarId }); sender.Text(text, msg.ChatId); }
public void Execute(Message msg, IMessageSenderService sender, IBot bot) { var user = Main.Api.Users.GetUser(msg); var text = "🏎 Укажите название автомобиля." + "\n ❓ Заявка на автомобиль отправляется модераторам и они подберут для Вас мощность и вес двигателя." + "\n ❓ Стоимость авто: 30 донат рублей."; UsersCommandHelper.GetHelper().Add("carDonate", user.Id); var kb = new KeyboardBuilder(bot); kb.AddButton("↩ К донатам", "donate"); 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 = _api.Users.GetUser(msg); UsersCommandHelper.GetHelper().Add("", user.Id); //проверяем: отправлял ли пользователь уже репорты if (ReportService.Times.Any(t => t.Id == user.Id)) { var time = ReportService.Times.Single(t => t.Id == user.Id); if (time.Time < 0) { sender.Text($"❌ Вы уже отправляли репорт. Подождите {time.Time} минут.", msg.ChatId); return; } } var result = _api.Reports.AddReport(msg.Text.Replace("репорт", "").Replace("report", ""), user.Id); var kb = new KeyboardBuilder(bot); kb.AddButton(ButtonsHelper.ToHomeButton()); if (result) { sender.Text("✔ Ваш репор был отправлен администрации!", msg.ChatId, kb.Build()); } else { sender.Text("✔ Ваше сообщение не было отправлено администрации из-за технической ошибки.", msg.ChatId, kb.Build()); } ReportService.AddToTimer(user.Id); }
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("addfriend", user.Id); sender.Text("❓ Укажите Id (в боте) друга, мы отправим ему запрос.", msg.ChatId); }
public static string PutMoney(User user, long count) { if (user.Money < count) { return($"❌ У Вас недостаточно наличных, чтобы положить их на банковский счет. \n" + $"💵 У Вас наличных: {user.Money}"); } if (count <= 0) { return("❌ Неверное количество"); } var cash = Main.Api.Users.RemoveMoney(user.Id, count); var inBank = Main.Api.Users.AddMoneyToBank(user.Id, count); UsersCommandHelper.GetHelper().Add("", user.Id); return($"✔ Вы положили деньги на банковский счет!" + $"\n 💳 На счету: {inBank} руб." + $"\n 💵 Наличных: {cash} руб."); }
public static string Rename(User user, string name) { var api = Main.Api; var gang = api.Gangs.GetGang(user.Gang); if (gang.Creator != user.Id) { return("❌ Вы не являетесь создателем команды!"); } using (var db = new Database()) { var g = db.Gangs.Single(gan => gan.Id == gang.Id); g.Name = name; db.SaveChanges(); } UsersCommandHelper.GetHelper().Add("", user.Id); return($"✔ Имя команды изменено на {name}"); }
public static string Withdraw(User user, long count) { if (user.MoneyInBank < count) { return($"❌ У Вас недостаточно средств на счету для снятия. \n" + $"💳 Баланс Вашего счета: {user.MoneyInBank}"); } if (count <= 0) { return("❌ Указано неверное количество"); } var inBank = Main.Api.Users.RemoveMoneyToBank(user.Id, count); var cash = Main.Api.Users.AddMoney(user.Id, count); UsersCommandHelper.GetHelper().Add("", user.Id); return($"✔ Вы сняли с банковского счета деньги!" + $"\n 💳 На счету: {inBank} руб." + $"\n 💵 Наличных: {cash} руб."); }
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("", user.Id); var text = $"💳 У Вас в банке хранится {user.MoneyInBank} руб." + $"\n 💵 У Вас наличных: {user.Money} руб." + $"{(user.DonateMoney == 0 ? "" : $"\n 💰 У Вас донат рублей: { user.DonateMoney} руб.")}" + $"\n ❓ Выберите действие на клавиатуре."; var kb = new KeyboardBuilder(bot); kb.AddButton("💸 Снять с банковского счета", "withdrawmoney", color: KeyboardButtonColor.Positive); kb.AddButton("💹 Положить на банковский счет", "putrawmoney", color: KeyboardButtonColor.Primary); kb.AddLine(); if (user.DonateMoney > 0) { kb.AddButton("💲 Обменять донат рубли", "exchangedonate", color: KeyboardButtonColor.Positive); kb.AddLine(); } kb.AddButton("💵 Вклад", "contribution"); 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; } User user = _api.Users.GetUser(msg); UsersCommandHelper.GetHelper().Add("", user.Id); var text = "❓ Выберите раздел на клавиатуре"; var kb = new KeyboardBuilder(bot); kb.AddButton("💰 Банк", "bank"); kb.AddButton("🏪 Магазин", "store"); kb.AddButton("🔧 Гараж", "garage"); kb.AddLine(); kb.AddButton("🏁 Гонки", "race"); kb.AddButton("👤 Профиль", "profile"); kb.AddButton("🏫 Автошкола", "drivingschool"); kb.AddLine(); kb.AddButton("👥 Команда", "gang"); kb.AddButton("🏢 Работа", "work"); kb.AddButton("📦 Порт", "port"); kb.AddLine(); kb.AddButton("🎲 Казино", "casino"); kb.AddButton("⚙ Настройки", "settings"); kb.AddLine(); kb.AddButton("👑 Донат", "donate", color: KeyboardButtonColor.Primary); 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); UsersCommandHelper.GetHelper().Add("opencontribution", user.Id); var kb = new KeyboardBuilder(bot); kb.AddButton("↩ Назад к вкладам", "contribution"); sender.Text(" 💸 Укажите сумму и время в днях вклада", msg.ChatId); }
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 userAnswer = _api.Users.GetUser(msg); UsersCommandHelper.GetHelper().Add("", userAnswer.Id); if (userAnswer.Access < 4) { return; } var text = "🚩 Неотвеченные репорты: \n"; var reports = _api.Reports.GetReports(); foreach (var report in reports) { text += $"▪ ID Репорта: {report.Id} \n" + $"▪ Отправил: id пользователя {report.FromId}\n" + $"▪ Сообщение: {report.Message} \n\n"; } text += "❓ Для ответа на репорт, напишите arep <ID репорта> <Ваше сообщение> "; sender.Text(text, msg.ChatId); //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); UsersCommandHelper.GetHelper().Add("renamegang", user.Id); var kb = new KeyboardBuilder(bot); kb.AddButton("❌ Отменить", "gang"); 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("putrawmoney", user.Id); var text = "💳 Напишите сумму, которую хотите положить на банковский счет."; var kb = new KeyboardBuilder(bot); kb.AddButton("Отмена", "bank", color: KeyboardButtonColor.Negative); 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); UsersCommandHelper.GetHelper().Add("exchangedonate", user.Id); var kb = new KeyboardBuilder(bot); kb.AddButton("↩ Назад в банк", "bank"); sender.Text($"💲 Напишите сумму донат-рублей, которую Вы хотите перевести в рубли." + $"\n 🛒 Курс обмена: 1 донат рубль = 5.000 руб." + $"\n 💰 Ваш баланс: {user.DonateMoney}", msg.ChatId, kb.Build()); }
public void Execute(Message msg, IMessageSenderService sender, IBot bot) { var user = Main.Api.Users.GetUser(msg); var text = "Доступные запросы: "; var kb = new KeyboardBuilder(bot); using (var db = new Database()) { var customCars = db.CustomCars.Where(c => c.IsModerate); foreach (var customCar in customCars) { text += $"\n ID: {customCar.Id} | Name: {customCar.Name}"; kb.AddButton($"{customCar.Id}", "customCarsActions", new List <string>() { $"{customCar.Id}" }); kb.AddLine(); } } kb.AddButton(ButtonsHelper.ToHomeButton()); UsersCommandHelper.GetHelper().Add("customCarsAdmin", user.Id); sender.Text(text, msg.ChatId, kb.Build()); }
public static string Create(string name, long creator) { try { var api = Main.Api; var gang = api.Gangs.CreateGang(creator, name); using (var db = new Database()) { var user = db.Users.Single(u => u.Id == creator); user.Gang = gang.Id; user.Money -= 500000; db.SaveChanges(); } UsersCommandHelper.GetHelper().Add("", creator); return($"👥 Команда {name} создана!"); } catch { UsersCommandHelper.GetHelper().Add("", creator); return("❌ Мы не смогли создать команду из-за системной ошибки!"); } }
public static string Exchange(Message msg, long count) { var user = Main.Api.Users.GetUser(msg); if (user.DonateMoney < count) { return($"❌ На Вашем счету недостаточно донат рублей." + $"\n 💰 Ваш баланс донат рублей: {user.DonateMoney}"); } if (count <= 0) { return("❌ Неверное число"); } var api = Main.Api; var donateMoney = api.Users.RemoveDonateMoney(user.Id, count); var money = api.Users.AddMoney(user.Id, count * 5000); UsersCommandHelper.GetHelper().Add("", user.Id); return($"✔ Вы обменяли донат рубли!" + $"\n 💵 Ваш баланс: {money} руб." + $"\n 💰 Ваш баланс донат рублей: {donateMoney} руб."); }
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); UsersCommandHelper.GetHelper().Add("buycarnumber", user.Id); var kb = new KeyboardBuilder(bot); kb.AddButton("↩ Назад в магазин", "otherstore"); sender.Text(text, msg.ChatId); }
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); if (sender.Platform == MessengerPlatform.Vkontakte) { if (msg.ChatId > 2000000000) { var t = "❌ Заходить в раздел гонок можно только в личных сообщениях."; kb.AddButton(ButtonsHelper.ToHomeButton()); sender.Text(t, msg.ChatId, kb.Build()); return; } } var user = Main.Api.Users.GetUser(msg); if (user.OnWork) { sender.Text("❌ Вы не можете идти в гонку, пока находитесь на работе, дождитесь завершения и возвращайтесь!", msg.ChatId); return; } var garage = Main.Api.Garages.GetGarage(user.Id); if (!garage.IsPhone) { var t = "❌ Для участия в гонках необходим телефон. Загляните в магазин!"; kb.AddButton("🏪 Перейти в магазин", "store"); sender.Text(t, msg.ChatId, kb.Build()); return; } if (msg.Payload.Arguments is null) { var text = "🏁 Ваши последние 6 друзей:"; var friends = FriendsHelper.GetFriends(user.Friends); int counter = 0; int counter2 = 0; foreach (var friend in friends) { if (counter2 >= 6) { break; } var frd = Main.Api.Users.GetUserFromId(friend); text += $"\n [{frd.Prefix}] {frd.Name} (ур. {frd.Level})"; kb.AddButton($"{frd.Name}", "raceFriendStart", new List <string>() { $"{frd.Id}" }); counter++; counter2++; if (counter == 2) { kb.AddLine(); counter = 0; } } kb.AddButton("➕ Указать Id друга вручную", "racefriend", new List <string>() { "123" }); sender.Text(text, msg.ChatId, kb.Build()); } else { var text = "🏁 Укажите id (в боте) своего друга (друг должен быть в списке Ваших друзей)."; kb.AddButton("↩ Вернуться в меню гонок", "race"); if (user.Race != 0) { text = "❌ А ну стоять. Ты уже находишься в гонке!"; kb.AddLine(); kb.AddButton("❌ Отменить гонку", "racestop"); } else { UsersCommandHelper.GetHelper().Add("racefriend", user.Id); } 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 garage = Main.Api.Garages.GetGarage(user.Id); var car = CarsHelper.GetHelper().GetCarFromId(long.Parse(msg.Payload.Arguments[0])); var text = string.Empty; var kb = new KeyboardBuilder(bot); bool isAvalible = true; if (user.Money < car.Price) { text = $"❌ У Вас недостаточно наличных на покупку этого автомобиля." + $"\n 💵 Ваш баланс: {user.Money}"; isAvalible = false; } if ((garage.ParkingPlaces - garage.Cars.Split(";").Length - 1) <= 0) { text = $"❌ У Вас недостаточно парковочных мест в гараже. Освободите место и попробуйте ещё раз!"; kb.AddButton("🔧 Перейти в гараж", "garage"); kb.AddLine(); isAvalible = false; } if (isAvalible) { Main.Api.Users.RemoveMoney(user.Id, car.Price); using (var db = new Database()) { car.Id = db.Cars.Count() + 1; var engine = new Engine(); engine.Id = db.Engines.Count() + 1; engine.Name = car.Manufacturer + " " + car.Model; engine.Power = car.Power; engine.Weight = car.Weight; engine.CarId = car.Id; db.Engines.Add(engine); car.Engine = engine.Id; car.Health = 100; db.Cars.Add(car); var gar = db.Garages.Single(g => g.UserId == user.Id); gar.Engines = gar.Engines + $"{engine.Id};"; gar.Cars = gar.Cars + $"{car.Id};"; db.SaveChanges(); } text = $"🚗 Поздравляем с покупкой! Ваш новенький {car.Manufacturer} {car.Model} уже стоит в гараже!" + $"\n ❗ Теперь укажите номер региона для автомобильного номера:"; UsersCommandHelper.GetHelper().Add("buycarnumber", user.Id); } else { kb.AddButton("🚘 Перейти в автосалон", "autostore"); } 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); UsersCommandHelper.GetHelper().Add("", user.Id); var nickname = string.Empty; var array = msg.Text.Split(" "); for (int i = 1; i < array.Length; i++) { nickname += $"{array[i]}"; } //msg.Text.Replace("nick", "").Replace("ник", "").Replace("никнейм", ""); var text = string.Empty; var isAvaible = true; if (nickname.Length < 4) { text = "❌ Вы не можете установить меньше четырех символов"; isAvaible = false; } if (user.Access == 0 && nickname.Length > 15) { text = "❌ Вы не можете установить ник длинее 15 символов."; isAvaible = false; } if ((user.Access == 1 || user.Access == 2) && nickname.Length > 20) { text = "❌ Вы не можете установить ник длинее 20 символов."; isAvaible = false; } if ((user.Access == 3 || user.Access == 4 || user.Access == 5) && nickname.Length > 25) { text = "❌ Вы не можете установить ник длинее 25 символов."; isAvaible = false; } if (isAvaible) { var result = Main.Api.Users.SetNickname(user, nickname); if (result) { text = $"✔ Ваш никнейм успешно сменен на {nickname}"; } else { text = $"❌ Мы не смогли сменить никнейм из-за системной ошибки."; } } var kb = new KeyboardBuilder(bot); 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 command = UsersCommandHelper.GetHelper().Get(user.Id); //TODO: написать с использованием команд-менеджера. var text = string.Empty; if (command == "") { if (msg.ChatId > 2000000000) { return; } sender.Text("❌ Неизвестная команда", msg.ChatId); return; } else if (command == "putrawmoney") { long count; try { count = long.Parse(msg.Text); text = PutCommand.PutMoney(user, count); } catch { text = "❌ Вы ввели неверное число. Попробуйте ещё раз."; } } else if (command == "withdrawmoney") { long count; try { count = long.Parse(msg.Text); text = WithdrawCommand.Withdraw(user, count); } catch { text = "❌ Вы ввели неверное число. Попробуйте ещё раз."; } } else if (command == "exchangedonate") { long count; try { count = long.Parse(msg.Text); text = ExchangeDonateCommand.Exchange(msg, count); }catch { text = "❌ Вы ввели неверное число. Попробуйте ещё раз."; } } else if (command == "creategang") { text = CreateCommand.Create(msg.Text, user.Id); } else if (command == "renamegang") { text = RenameCommand.Rename(user, msg.Text); } else if (command == "opencontribution") { try { var array = msg.Text.Split(" "); var count = long.Parse(array[0]); var days = long.Parse(array[1]); text = OpenContributionCommand.Open(user.Id, count, days); } catch { text = "❌ Вы указали неверные числа"; } } else if (command == "racefriend") { try { var array = msg.Text.Split(" "); var id = long.Parse(array[0]); text = RaceFriendCommand.RunFriendBattle(user.Id, id, sender, bot, msg); }catch { text = "Вы указали неверный id"; } } else if (command == "addfriend") { try { text = AddFriendCommand.AddFriend(user, msg.Text.ToLong(), sender); } catch { text = "❌ Вы указали неверный Id."; } } else if (command == "removefriend") { try { text = RemoveFriendCommand.RemoveFriend(user, msg.Text.ToLong()); } catch { text = "❌ Вы указали невеный Id."; } } else if (command == "sellcar") { try { var array = msg.Text.Split(" "); var idUser = long.Parse(array[0]); var price = long.Parse(array[1]); text = SellCarCommand.Sell(user, idUser, sender, price); }catch { text = "❌ Произошла ошибка."; } } else if (command == "buycarnumber") { try { var region = long.Parse(msg.Text); if (region < 1 || region > 999) { text = "❌ Регион находится за пределом допустимого значения."; } else { text = BuyCarNumberCommand.BuyNumber(user, region); } } catch { text = "❌ Произошла ошибка."; } } else if (command == "sellnumber") { try { var array = msg.Text.Split(" "); var idUser = long.Parse(array[0]); var price = long.Parse(array[1]); text = SellNumberCommand.Sell(user, idUser, sender, price); }catch { text = "❌ Произошла ошибка."; } } else if (command == "buychips") { try { var count = msg.Text.ToLong(); text = BuyChipsCommand.BuyChips(user, count); } catch { text = "❌ Произошла ошибка."; } } else if (command == "exchangechips") { try { var count = msg.Text.ToLong(); text = ExchangeChipsCommand.ExchangeChips(user, count); } catch { text = "❌ Произошла ошибка."; } } else if (command == "vipDonateBuy") { try { var count = msg.Text.ToLong(); text = ExpDonateCommand.BuyExp(count, user); } catch { text = "❌ Произошла ошибка."; } } else if (command == "carDonate") { try { text = CarDonateCommand.CreateCar(msg.Text, user); } catch { text = "❌ Произошла ошибка."; } } else if (command == "expDonate") { try { var array = msg.Text.Split(" "); var power = long.Parse(array[0]); var weight = long.Parse(array[1]); text = AcceptCustomCarCommand.SetParams(power, weight, user, sender); }catch { text = "❌ Произошла ошибка."; } } else if (command == "customNumber") { try { var number = msg.Text.ToLong(); text = BuyOtherItemCommand.CustomNumber(number.ToString(), user); } catch { text = "❌ Произошла ошибка."; } } else if (command == "chatSend") { try { var textMsg = msg.Text; text = ChatCommand.Send(textMsg, user, sender); } catch (Exception e) { text = $"❌ Произошла ошибка. {e}"; } } else if (command == "newChatCreate") { try { var number = msg.Text; text = NewChatCommand.CreateChat(number, user, sender, bot); } catch { text = "❌ Произошла ошибка."; } } var kb = new KeyboardBuilder(bot); kb.AddButton(ButtonsHelper.ToHomeButton()); sender.Text(text, msg.ChatId, kb.Build()); // UsersCommandHelper.GetHelper().Add("", user.Id); }
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 item = long.Parse(msg.Payload.Arguments[0]); var user = api.Users.GetUser(msg); var garage = api.Garages.GetGarage(user.Id); var text = string.Empty; if (item == 1) { if (garage.IsPhone) { text = "❌ У Вас уже куплен телефон."; } else { if (user.Money < 5000) { text = "❌ У Вас недостаточно наличных денег."; } else { text = "✔ Вы купили телефон"; api.Users.RemoveMoney(user.Id, 2500); api.Garages.SetPhone(user.Id, true); } } } else if (item == 2) { api.Users.RemoveMoney(user.Id, 500); using (var db = new Database()) { var gar = db.Garages.Single(g => g.UserId == user.Id); var r = new Random(); gar.PhoneNumber = $"{r.Next(100000, 999999)}"; db.SaveChanges(); text = $"✔ Вы купили сим карту. Ваш номер телефона: {gar.PhoneNumber}"; } } else if (item == 3) { text = "❓ Укажите желаемый номер телефона (6 цифр):"; UsersCommandHelper.GetHelper().Add("customNumber", user.Id); } var kb = new KeyboardBuilder(bot); kb.AddButton("↩ Назад в магазин", "otherstore"); sender.Text(text, msg.ChatId, kb.Build()); }