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

            //проверка на регистрацию.
            if (_api.Users.CheckUser(msg))
            {
                var kb2 = new KeyboardBuilder(bot);
                kb2.AddButton(ButtonsHelper.ToHomeButton());
                sender.Text("✔ Вы уже зарегистрированы, перейдите на главный экран!", msg.ChatId, kb2.Build());
                return;
            }

            //регистрация нового юзера.
            var user = new HydraBot.Models.User();

            user.Access          = 0;
            user.IsBanned        = false;
            user.Level           = 1;
            user.Prefix          = "Игрок";
            user.Score           = 0;
            user.TimeBan         = 0;
            user.BonusDay        = 1;
            user.SubOnNews       = true;
            user.Money           = 100000;
            user.DriverLicense   = "";
            user.IsAvailbleBonus = true;
            user.TimeBonus       = 0;
            if (msg.Platform == MessengerPlatform.Vkontakte)
            {
                //устанавливаем id ВКонтакте в зависимости от того куда написал пользователь. В беседу или в лс.
                if (msg.ChatId < 2000000000)
                {
                    user.VkId = msg.ChatId;
                }
                else
                {
                    user.VkId = msg.MessageVK.FromId.Value;
                }

                //устанавливаем никнейм
                var vkapi = new VkApi();
                vkapi.Authorize(new ApiAuthParams()
                {
                    AccessToken = Main.Token
                });
                var userName = vkapi.Users.Get(new List <long>()
                {
                    msg.MessageVK.FromId.Value
                })[0].FirstName;
                user.Name = userName;
            }
            //устанавливаем id Телеграмма.
            else
            {
                user.TgId = msg.MessageTG.From.Id;
                user.Name = msg.MessageTG.From.FirstName;
            }

            //добавляем пользователя в бд.
            var id = _api.Users.AddUser(user);

            user.Id = id;

            var garage = new Models.Garage()
            {
                Cars = "", PhoneNumber = null, Name = "no", IsPhone = false, Engines = "", Fuel = 9999999999999, GarageModelId = -1, SelectCar = -1, ParkingPlaces = 0, UserId = id
            };

            Main.Api.Garages.RegisterGarage(garage);

            var skills = new Skills();

            skills.UserId = id;
            using (var db = new Database())
            {
                db.Skillses.Add(skills);
                db.SaveChanges();
            }

            var kb = new KeyboardBuilder(bot);

            kb.AddButton(ButtonsHelper.ToHomeButton());
            sender.Text("✔ Вы успешно зарегистрировались! Перейдите на главный экран, нажав на кнопку домой.", msg.ChatId, kb.Build());
        }
예제 #2
0
 private void NewMessage(Models.Message message) => Task.Run(() => _processor.Start(message));