Exemple #1
0
 public virtual void SetPlayerChips(int amount, string reason)
 {
     if (FourAcesCasino.Initialised == true)
     {
         EmbedBuilder builder = new EmbedBuilder()
         {
             Title       = $"{User.Nickname ?? User.Username} Chips Updated",
             Description = "Reason: " + reason,
             Footer      = DateTimeFooter
         };
         int difference = _playerchips - amount;
         builder.AddField(x =>
         {
             x.Name     = "Was";
             x.Value    = _playerchips;
             x.IsInline = true;
         });
         builder.AddField(x =>
         {
             x.Name     = "Is";
             x.Value    = amount;
             x.IsInline = true;
         });
         builder.AddField(x =>
         {
             x.Name     = "Difference";
             x.Value    = (difference > 0 ? "Removed" : "Added") + $" {Math.Abs(difference)}";
             x.IsInline = true;
         });
         C_LOGS_FAC_CHIP.SendMessageAsync("", false, builder.Build());
         _playerchips = amount;
     }
 }
        // READY:
        public async Task Ready()
        {
            CasinoGuild         = _discord.GetGuild(402839443813302272);
            TestingGuild        = _discord.GetGuild(420240046428258304);
            TheGrandCodingGuild = _discord.GetGuild(365230804734967840);
            LoggingGuild        = _discord.GetGuild(508229402325286912);
            await _commands.AddModulesAsync(Assembly.GetEntryAssembly(), ServiceProvider);     // Load commands and modules into the command service

            Services.GithubService.Client.RequestMade += GithubClient_RequestMade;

            foreach (var g in new SocketGuild[] { CasinoGuild, TestingGuild, TheGrandCodingGuild })
            {
                try
                {
                    string name      = g.Name.Replace("Casino", "");
                    var    usr       = g.GetUser(_discord.CurrentUser.Id);
                    bool   isSpecial = DateTime.Now.DayOfYear >= 355 && DateTime.Now.DayOfYear <= 359;
                    if (usr.Nickname != name || isSpecial)
                    {
                        await usr.ModifyAsync(x =>
                        {
                            if (isSpecial)
                            {
                                x.Nickname = $"{EM_RANDOM_CHRISTMAS} Merry Chistmas! {EM_RANDOM_CHRISTMAS}";
                            }
                            else
                            {
                                x.Nickname = name;
                            }
                        });
                    }
                } catch { }
            }

            await _discord.SetGameAsync($"{BOT_PREFIX}help - {DateTime.Now.ToShortTimeString()}");

            /*if(!BOT_DEBUG)
             * {
             *  await BotModule.ActuallyRemoveAllCommands(false, C_LOGS_OTHER_MISC);
             * }*/

            try
            {
                PastMessages = new PreviousMessages();
            }
            catch (Exception ex)
            {
                LogMessage bleh = new LogMessage(LogSeverity.Error, "PastMsgs", "", ex);
                LogMsg(bleh);
            }

            // Set up hour timer
            try
            {
                DateTime dueTime       = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, DateTime.Now.Hour + 1, 0, 0);
                TimeSpan timeRemaining = dueTime.Subtract(DateTime.Now);
                HourTimer.Interval = 50;
                HourTimer.Elapsed += HourElapsed;
                HourTimer.Enabled  = true;
            }
            catch (Exception ex)
            {
                LogMessage er = new LogMessage(LogSeverity.Error, "HourTimer", "", ex);
                LogMsg(er);
            }


            try
            {
                MasterList.MainMasterList.Run();
            }
            catch (Exception ex)
            {
                LogMsg("Error in Masterlist: " + ex.ToString(), LogSeverity.Error, "Masl");
                try
                {
                    await TheGrandCodingGuild.GetTextChannel(365233803217731584).SendMessageAsync($"Masterlist failed to start\nMasterlist will be unavailable.");
                } catch { }
                try
                {
                    var modl       = _commands.Modules.FirstOrDefault(x => x.Name == "Masterlist Commands");
                    var newDisable = new CommandDisabled("Masterlist failed to start", modl);
                    DisabledCommands.Add(newDisable);
                } catch { }
            }

            try
            {
                Casino.FourAcesCasino.Initialise();
            }
            catch (Exception ex)
            {
                LogMsg(ex.ToString(), LogSeverity.Critical, "StrCas");
                LogMsg("", LogSeverity.Critical, "StrCas");
                LogMsg("Unable to continue since the Casino failed to initialise", LogSeverity.Critical, "StrCas");
                try
                {
#if DEBUG
#else
                    await C_COUNCIL.SendMessageAsync($"Bot failed to start\nError message has been sent to Alex");
#endif
                    EmbedBuilder builder = new EmbedBuilder()
                    {
                        Title = "Erroed"
                    };
                    builder.AddField(x =>
                    {
                        x.Name     = "Message";
                        x.Value    = ex.Message;
                        x.IsInline = true;
                    });
                    builder.AddField(x =>
                    {
                        x.Name     = ex.InnerException == null ? "Source" : "Inner Exception";
                        x.Value    = ex.InnerException == null ? ex.Source : ex.InnerException.ToString();
                        x.IsInline = ex.InnerException == null ? true : false;
                    });
                    string errMsg = ex.ToString();
                    if (errMsg.Length > 1499 + " ...".Length)
                    {
                        errMsg = errMsg.Substring(0, 1499) + " ...";
                    }
                    builder.AddField(x =>
                    {
                        x.IsInline = false;
                        x.Name     = "Full Error";
                        x.Value    = "```" + errMsg.Replace("`", "'") + "```";
                    });
                    await U_BOB123.SendMessageAsync("Bot failure", false, builder.Build());

                    await C_LOGS_FAC_CHIP.SendMessageAsync("Unable to start bot due to Casino failure", false, builder.Build());
                }
                catch { }
                if (BOT_DEBUG)
                {
                    Console.ReadLine();
                }
                Environment.Exit(1);
            }
            var cp = new ChatProgramHandle();

            try
            {
                if (Program.Storage.LastDeletedBulkMessages != DateTime.Now.DayOfYear)
                {
                    Program.Storage.LastDeletedBulkMessages = DateTime.Now.DayOfYear;
                    await DeleteBulkMessages();
                }
            }
            catch (Exception ex)
            {
                LogMessage er = new LogMessage(LogSeverity.Critical, "NukeHWK", "", ex);
                LogMsg(er);
            }

            // Finished Loading all info
            LogMsg("Finished Ready() Function - Info Loaded.");
        }