Exemple #1
0
        public static void Main(string[] args)
        {
            try
            {
                ApplicationBase = Path.GetDirectoryName(new Uri(Assembly.GetEntryAssembly().CodeBase).LocalPath);
                if (!File.Exists(ApplicationBase + "/Opux.db"))
                {
                    File.Copy(ApplicationBase + "/Opux.def.db", ApplicationBase + "/Opux.db");
                }
                Client = new DiscordSocketClient(new DiscordSocketConfig()
                {
                    WebSocketProvider = WS4NetProvider.Instance
                });
                Commands = new CommandService();
                EveLib   = new EveLib();
                UpdateSettings();
                MainAsync(args).GetAwaiter().GetResult();

                Console.ReadKey();
                Client.StopAsync();
            }
            catch (Exception ex)
            {
                LoggerAsync(ex).GetAwaiter().GetResult();
            }
        }
Exemple #2
0
 public EveMarketData_Tests()
 {
     api          = EveLib.Create().EveMarketData;
     validOptions = new EveMarketDataOptions();
     validOptions.Items.Add(TypeId);
     validOptions.Regions.Add(RegionId);
     validOptions.AgeSpan = TimeSpan.FromDays(5);
     invalidOptions       = new EveMarketDataOptions();
 }
Exemple #3
0
 public EveCentral_Tests()
 {
     api          = EveLib.Create().EveCentral;
     validOptions = new EveCentralOptions {
         HourLimit = HourLimit, MinQuantity = MinQty
     };
     validOptions.Types.Add(TypeId);
     validOptions.Regions.Add(RegionId);
     invalidOptions = new EveCentralOptions();
 }
Exemple #4
0
        public static void Main(string[] args)
        {
            ApplicationBase = Path.GetDirectoryName(new Uri(Assembly.GetEntryAssembly().CodeBase).LocalPath);
            if (!File.Exists(Path.Combine(Program.ApplicationBase, "Opux.db")))
            {
                File.Copy(ApplicationBase + "/Opux.def.db", Path.Combine(Program.ApplicationBase, "Opux.db"));
            }

            UpdateSettings();

            Client = new DiscordSocketClient(new DiscordSocketConfig()
            {
            });
            Commands = new CommandService();
            EveLib   = new EveLib();
            MainAsync(args).GetAwaiter().GetResult();

            while (!quit)
            {
                var command = Console.ReadLine();
                switch (command.Split(" ")[0])
                {
                case "quit":
                    Console.WriteLine($"Quitting Opux");
                    quit = true;
                    break;

                case "debug":
                    if (!debug)
                    {
                        Console.WriteLine($"Debug mode Active");
                        debug = true;
                    }
                    else
                    {
                        Console.WriteLine($"Debug mode Disabled");
                        debug = false;
                    }
                    break;

                case "admin":
                    var guild      = Client.GetGuild(Convert.ToUInt64(Settings.GetSection("config")["guildId"]));
                    var rolesToAdd = new List <SocketRole>();
                    var GuildRoles = guild.Roles;
                    guild.GetUser(Convert.ToUInt64(command.Split(" ")[2])).AddRoleAsync(GuildRoles.FirstOrDefault(x => x.Name == command.Split(" ")[1]));
                    break;
                }
            }
            Client.StopAsync();
        }
Exemple #5
0
        public static void Main(string[] args)
        {
            try
            {
                ApplicationBase = Path.GetDirectoryName(new Uri(Assembly.GetEntryAssembly().CodeBase).LocalPath);
                if (!File.Exists(ApplicationBase + "/Opux.db"))
                {
                    File.Copy(ApplicationBase + "/Opux.def.db", ApplicationBase + "/Opux.db");
                }
                Client   = new DiscordSocketClient();
                Commands = new CommandService();
                Map      = new DependencyMap();
                EveLib   = new EveLib();
                UpdateSettings();
                MainAsync(args).GetAwaiter().GetResult();

                Console.ReadKey();
                Client.StopAsync();
            }
            catch (Exception ex)
            {
                Functions.Client_Log(new LogMessage(LogSeverity.Error, "Main", $"{ex.StackTrace}"));
            }
        }
Exemple #6
0
        public static void Main(string[] args)
        {
            ApplicationBase = Path.GetDirectoryName(new Uri(Assembly.GetEntryAssembly().CodeBase).LocalPath);
            if (!File.Exists(Path.Combine(ApplicationBase, "Opux.db")))
            {
                File.Copy(ApplicationBase + "/Opux.def.db", Path.Combine(ApplicationBase, "Opux.db"));
            }

            //_zKillhttpClient.Timeout = new TimeSpan(0, 0, 10);
            //_zKillhttpClient.DefaultRequestHeaders.Add("User-Agent", "OpuxBot");

            UpdateSettings();

            Client = new DiscordSocketClient(new DiscordSocketConfig()
            {
            });
            Commands = new CommandService();
            EveLib   = new EveLib();
            MainAsync(args).GetAwaiter().GetResult();

            var headless = Convert.ToBoolean(Settings.GetSection("config")["Systemd_Support"]);

            if (!headless)
            {
                var dockerMode = Environment.GetEnvironmentVariable("DOCKER_MODE");

                if (dockerMode != null)
                {
                    Logger.DiscordClient_Log(new LogMessage(LogSeverity.Info, "Docker", "Docker mode enabled")).Wait();
                    if (dockerMode == "debug")
                    {
                        Logger.DiscordClient_Log(new LogMessage(LogSeverity.Info, "Docker", "Debug mode enabled")).Wait();
                        debug = true;
                    }

                    System.Runtime.Loader.AssemblyLoadContext.Default.Unloading += ctx =>
                    {
                        Logger.DiscordClient_Log(new LogMessage(LogSeverity.Info, "Docker", "Received termination signal")).Wait();
                        lock (ExitLock)
                        {
                            Monitor.Pulse(ExitLock);
                        }
                        ended.Wait();
                    };

                    lock (ExitLock)
                    {
                        Logger.DiscordClient_Log(new LogMessage(LogSeverity.Info, "Docker", "Waiting for termination")).Wait();
                        Monitor.Wait(ExitLock);
                        Logger.DiscordClient_Log(new LogMessage(LogSeverity.Info, "Docker", "Exiting")).Wait();
                        quit = true;
                    }
                }

                while (!quit)
                {
                    var command = Console.ReadLine();
                    switch (command.Split(" ")[0])
                    {
                    case "quit":
                        Console.WriteLine($"Quitting Opux");
                        quit = true;
                        break;

                    case "debug":
                        if (!debug)
                        {
                            Console.WriteLine($"Debug mode Active");
                            debug = true;
                        }
                        else
                        {
                            Console.WriteLine($"Debug mode Disabled");
                            debug = false;
                        }
                        break;

                    case "admin":
                        var guild      = Client.GetGuild(Convert.ToUInt64(Settings.GetSection("config")["guildId"]));
                        var rolesToAdd = new List <SocketRole>();
                        var GuildRoles = guild.Roles;
                        guild.GetUser(Convert.ToUInt64(command.Split(" ")[2])).AddRoleAsync(GuildRoles.FirstOrDefault(x => x.Name == command.Split(" ")[1]));
                        break;
                    }
                }
            }
            else
            {
                Logger.DiscordClient_Log(new LogMessage(LogSeverity.Info, "Headless", "Headless mode enabled")).Wait();

                System.Runtime.Loader.AssemblyLoadContext.Default.Unloading += ctx =>
                {
                    Logger.DiscordClient_Log(new LogMessage(LogSeverity.Info, "Headless", "Received termination signal")).Wait();
                    lock (ExitLock)
                    {
                        Monitor.Pulse(ExitLock);
                    }
                    ended.Wait();
                };

                lock (ExitLock)
                {
                    Logger.DiscordClient_Log(new LogMessage(LogSeverity.Info, "Headless", "Waiting for termination")).Wait();
                    Monitor.Wait(ExitLock);
                    Logger.DiscordClient_Log(new LogMessage(LogSeverity.Info, "Headless", "Exiting")).Wait();
                    quit = true;
                }
            }
            Client.StopAsync();
            ended.Set();
        }