Ejemplo n.º 1
0
        void AdminCommands(OnMessageReceivedArgs e)
        {
            if (e.ChatMessage.IsBroadcaster || e.ChatMessage.Username.ToLower().Equals("azatkzn"))
            {
                switch (e.ChatMessage.Message.ToLower())
                {
                case "!shopchange":
                    if (isOn)
                    {
                        ShopAction.ChangeCars(e, this);
                    }
                    break;

                case "!on":
                    isOn = true;
                    this.SendMessage(e.ChatMessage.Channel, "Бот включен!!!");
                    break;

                case "!off":
                    isOn          = false;
                    groupRaceIsOn = false;
                    this.SendMessage(e.ChatMessage.Channel, "Бот выключен!!!");
                    break;

                case "!racestart":
                    if (groupRaceIsOn)
                    {
                        return;
                    }
                    groupRaceIsOn = true;
                    this.GroupRaceControl(e.ChatMessage.Channel);
                    break;

                case "!kill":
                    Logger.LogInfo("!kill - System.Environment.FailFast()");
                    System.Environment.FailFast("!kill");
                    this.CloseNotFinishedGroupRace();
                    break;
                }
            }
        }
Ejemplo n.º 2
0
 public static void Main(string[] args)
 {
     try
     {
         Config.LoadConfig();
         if (Config.IsNeedUpdateDatabase)
         {
             using (var context = new AppDbContext())
             {
                 context.Database.Migrate();
             }
         }
         Module.Initialize();
         var bot       = new Bot();
         var pubSubBot = new PubSubBot();
         Minutes = Config.ShopShowMinutes;
         while (true)
         {
             if (Minutes >= Config.ShopShowMinutes && bot.IsOn)
             {
                 ShopAction.ChangeCars(Config.Channel, bot);
             }
             Minutes += 5;
             Thread.Sleep(TimeSpan.FromMinutes(5));
         }
     }
     catch (Exception ex)
     {
         Logger.Log(ex);
         if (count < 5)
         {
             count++;
             Main(null);
         }
     }
 }
Ejemplo n.º 3
0
        public async void CheckMessage(OnMessageReceivedArgs e)
        {
            await Task.Run(() =>
            {
                try
                {
                    var message = e.ChatMessage.Message.ToLower().Trim();
                    switch (message)
                    {
                    case "!testdrive":                             // тестовый зазд
                        SoloRaces.Race(e, this);
                        break;

                    case "!info":                              // характеристики пользователя
                        UserActions.ShowInfo(e, this);
                        break;

                    case "!join":                              // присоединение к групповому заеду
                        GroupRaceHandler.JoinToRace(e, this);
                        break;

                    case "!shop":                             // доступные для покупки машины
                        ShopAction.ShowCarsForSale(e, this);
                        break;

                    case "!car":                             // инфа об авто
                        UserActions.ShowUserCar(e, this);
                        break;

                    case "!start":                             // команда для начала игры
                        UserActions.CreateUser(e, this);
                        break;

                    case "!game":                              // описание игры, с командами
                        ShowGameInfo(e.ChatMessage.Channel);
                        break;

                    default:
                        {
                            if (message.StartsWith("!lvlup"))                                     // улучшение характеристик пользователя
                            {
                                UserActions.Upgrade(e, this);
                            }
                            else if (message.StartsWith("!iirace"))                                     // гонка с компьютером
                            {
                                RaceWithAI.Race(e, this);
                            }
                            else if (message.StartsWith("!buy"))                                     // покупка авто
                            {
                                ShopAction.BuyAuto(e, this);
                            }

                            AdminCommands(e);
                            break;
                        }
                    }
                }
                catch (Exception ex)
                {
                    Logger.Log(ex);
                }
            });
        }