/// <summary> /// Registers the services this controller provides. /// </summary> /// <param name="gameMode">The game mode.</param> /// <param name="serviceContainer">The service container.</param> public override void RegisterServices(BaseMode gameMode, GameModeServiceContainer serviceContainer) { CommandsManager = new CommandsManager(gameMode); serviceContainer.AddService(CommandsManager); // Register commands in game mode. CommandsManager.RegisterCommands(gameMode.GetType()); }
public void FindCommandTest() { Action<string, string, string, bool> action = (methodName, commandPath, runCommand, expectSuccess) => { var manager = new CommandsManager(new TestGameMode()); var expectedMethod = GetType().GetMethod(methodName); manager.Register(new[] {new CommandPath(commandPath)}, null, false, null, expectedMethod, null); var actualCommand = (manager.GetCommandForText(new BasePlayer(), runCommand) as DefaultCommand)?.Method; if (expectSuccess) Assert.AreEqual(expectedMethod, actualCommand); else Assert.AreNotEqual(expectedMethod, actualCommand); }; action("A", "cmd a", "/cmd a", true); action("A", "cmd a", "/cmd a a", true); action("A", "cmd b", "/cmd a", false); action("A", "cmd c a", "/cmd c", false); }
/// <summary> /// Start-up settings /// </summary> private void Initialise() { if (File.Exists(Path.GetFullPath("settings.json")) && !this.newConfig) { this._config = JsonConvert.DeserializeObject <Config>(File.ReadAllText(Path.GetFullPath("settings.json"))); } else { this._config = new Config(); this.newConfig = true; } if (this._config.CommandPrefix.ToString() == string.Empty) { Console.WriteLine("Warning! No command prefix was found! Please, enter enter the prefix or it will be set to default (\"!\""); Console.Write("Command prefix: "); var prefix = Console.ReadLine(); this._config.CommandPrefix = (prefix.Length == 0) ? '!' : prefix.ToCharArray()[0]; this.newConfig = true; } if (this._config.BotEmail.Length == 0) { Console.BackgroundColor = ConsoleColor.Red; Console.Write("Error! No password were found!\nEnter bot's email: "); this._config.BotEmail = Console.ReadLine(); Console.BackgroundColor = ConsoleColor.Black; this.newConfig = true; } if (this._config.BotPass.Length == 0) { Console.BackgroundColor = ConsoleColor.Red; Console.Write("Error! No password were found!\nEnter bot's password: "******"settings.json"), JsonConvert.SerializeObject(this._config)); } _client = new DiscordClient(); this._client.ClientPrivateInformation.Email = this._config.BotEmail; this._client.ClientPrivateInformation.Password = this._config.BotPass; CommandsManager = new CommandsManager(this._client); if (owner == null) { //var t = this._client.GetServerChannelIsIn().GetMemberByKey(this._config.OwnerID); //owner = this._client.GetServersList().Find(x => x.GetMemberByKey(this._config.OwnerID) != null).GetMemberByKey(this._config.OwnerID); } if (File.Exists(Path.GetFullPath("permissions.json"))) { var permissionDictionary = JsonConvert.DeserializeObject <Dictionary <string, PermissionType> >(File.ReadAllText("permissions.json")); if (permissionDictionary == null) { permissionDictionary = new Dictionary <string, PermissionType>(); if (owner != null) { permissionDictionary.Add(owner.ID, PermissionType.Owner); } } this.CommandsManager.OverridePermissionsDictionary(permissionDictionary); } }
public WriteRegisterCommand(CommandsManager manager) : base(manager) { }
public ReportHaltReasonCommand(CommandsManager manager) : base(manager) { }
public ReadMemoryCommand(CommandsManager manager) : base(manager) { }
public ContinueCommand(CommandsManager manager) : base(manager) { }
public ThreadAttachedCommand(CommandsManager manager) : base(manager) { }
public SupportedQueryCommand(CommandsManager manager) : base(manager) { }
public override void Install(CommandsManager manager) { LoadSystemsDictionary(); // Setup the one time listener for adding systems. manager.Client.MessageCreated += async( e) => { if (WaitingOnInput) { if (WaitingOnInputFrom.Id == e.Author.Id && WaitingChannel.Id == e.Channel.Id) { if (!e.Message.Content.Contains("addsystem")) //skip because this has already been handled. { Console.WriteLine($"[SystemsModule] Got input from correct person in correct channel {WaitingOnInputFrom.Id} == {e.Author.Id}"); try { if (SystemsDatabase.ContainsKey(e.Author.Id)) //we already have a systems collection for this user. { Console.WriteLine("[SystemsModule] Already had one, added"); SystemsDatabase[e.Author.Id].Add("System " + (SystemsDatabase[e.Author.Id].Count + 1), e.Message.Content); } else { Console.WriteLine("[SystemsModule] Created one"); SystemsCollection <string, string> collection = new SystemsCollection <string, string>(); collection.UserSnowflake = e.Author.Id; string systemName = "System 1"; if (!String.IsNullOrEmpty(PotentialSystemName)) { systemName = PotentialSystemName.Trim(); PotentialSystemName = null; } collection.Add(systemName, e.Message.Content); SystemsDatabase.Add(e.Author.Id, collection); } //SystemsDatabase[e.Author.Id] = collection; WaitingOnInput = false; WaitingOnInputFrom = null; Console.WriteLine("[SystemsModule] Flushing"); //Might as well save after write, I don't pay for the SSD on the VPS... FlushSystemsModule(); await e.Channel.SendMessageAsync("👌"); } catch (Exception ex) { await e.Channel.SendMessageAsync("bro something is royally f****d: " + ex.Message); Console.WriteLine("[SystemsModule] Exception details\n\n" + ex.Message + "\n\n" + ex.StackTrace + "\n\n"); WaitingOnInput = false; WaitingOnInputFrom = null; } } } } }; manager.AddCommand(new CommandStub("addsystem", "Adds your system to the database, simply follow the prompts. ", "addsystem", cmdArgs => { if (cmdArgs.Args.Count > 1) { PotentialSystemName = cmdArgs.Args[1]; } else { PotentialSystemName = null; } var m = cmdArgs.Channel.SendMessageAsync($"Please enter system specs"); Console.WriteLine($"[SystemsModule] Waiting on input from {cmdArgs.Message.Author.Username}"); WaitingOnInput = true; WaitingOnInputFrom = cmdArgs.Message.Author; WaitingChannel = cmdArgs.Message.Channel; }, argCount: 1), this); manager.AddCommand(new CommandStub("system", "get someone's specs (mention is optional)", "system <user>", cmdArgs => { if (cmdArgs.Args.Count == 1) { // Check if it's a mention and handle nicely if (cmdArgs.Args[0].StartsWith("<@") && (cmdArgs.Args[0].EndsWith(">"))) { ulong ID = ulong.Parse(cmdArgs.Args[0].Trim(new char[] { '<', '>', '@', '!' })); List <DiscordMember> membersListAsList = new List <DiscordMember>(cmdArgs.Channel.Guild.Members); DiscordMember member = membersListAsList.Find(x => x.Id == ID); if (SystemsDatabase.ContainsKey(ID)) { SystemsCollection <string, string> collection = SystemsDatabase[ID]; var first = collection.First(); string system = first.Value; // TODO come back in a sec DiscordEmbedBuilder b = new DiscordEmbedBuilder(); b.WithAuthor(member.DisplayName, icon_url: member.AvatarUrl); b.WithColor(DiscordColor.Purple); b.AddField("System", system); cmdArgs.Channel.SendMessageAsync(embed: b.Build()); } else { cmdArgs.Channel.SendMessageAsync("Sorry! You're not in the database :c"); } } else { IReadOnlyList <DiscordMember> membersList = cmdArgs.Channel.Guild.Members; if (membersList != null) { List <DiscordMember> membersListAsList = new List <DiscordMember>(membersList); DiscordMember member = membersListAsList.Find(x => x.Username.Trim('@') == cmdArgs.Args[0].Trim()); if (member != null) { if (SystemsDatabase.ContainsKey(member.Id)) { SystemsCollection <string, string> collection = SystemsDatabase[member.Id]; var first = collection.First(); string system = first.Value; //cmdArgs.Channel.SendMessageAsync($"**System for {member.DisplayName}**:\n\n{system}"); DiscordEmbedBuilder b = new DiscordEmbedBuilder(); b.WithAuthor(member.DisplayName, icon_url: member.AvatarUrl); b.WithColor(DiscordColor.Purple); b.AddField(first.Key, system); cmdArgs.Channel.SendMessageAsync(embed: b.Build()); } else { cmdArgs.Channel.SendMessageAsync("Sorry! Not in the database :c"); } } } } } else //do it for self { ulong ID = cmdArgs.Author.Id; List <DiscordMember> membersListAsList = new List <DiscordMember>(cmdArgs.Channel.Guild.Members); DiscordMember member = membersListAsList.Find(x => x.Id == ID); if (SystemsDatabase.ContainsKey(ID)) { SystemsCollection <string, string> collection = SystemsDatabase[ID]; var first = collection.First(); string system = first.Value; // TODO come back in a sec DiscordEmbedBuilder b = new DiscordEmbedBuilder(); b.WithAuthor(member.DisplayName, icon_url: member.AvatarUrl); b.WithColor(DiscordColor.Purple); b.AddField(first.Key, system); cmdArgs.Channel.SendMessageAsync(embed: b.Build()); } else { cmdArgs.Channel.SendMessageAsync("Sorry! You're not in the database :c"); } } }, PermissionType.User, 1), this); manager.AddCommand(new CommandStub("removesystem", "remove your system", "removesystem", cmdArgs => { ulong userID = cmdArgs.Message.Author.Id; try { SystemsDatabase.Remove(userID); cmdArgs.Channel.SendMessageAsync("👌"); } catch (Exception ex) { cmdArgs.Channel.SendMessageAsync("Unable to remove your system. Please tell an admin immediately, something is royally borked.\n\n```\n" + ex.Message + "\n```"); } }, PermissionType.User, 0), this); }
public override void ShutdownModule(CommandsManager managers) { FlushSystemsModule(); }
public BuiltInCommandsBuilder(CommandsManager manager) { this.manager = manager; }
public KillCommand(CommandsManager manager) : base(manager) { }
//Execution de la commande public override void OnCommandExecute(uint playerId, string[] args) { //Envoyer un message au client CommandsManager.gamemode.SendClientMessage(playerId, CommandsManager.helpColor, CommandsManager.helpMessage); //Recuperer la liste des commandes for (int i = 0; i < CommandsManager.getCommands().Count; i++) { //Envoyer un message au client avec la liste des commandes CommandsManager.gamemode.SendClientMessage(playerId, CommandsManager.helpColor, "Commande : " + CommandsManager.getCommands()[i].name); } }
public void CleanUp() { MarkEndExecution(); if (COF != null) { COF.Dispose(); COF = null; } if (names != null) { names.Dispose(); names = null; } if (gridManager != null) { gridManager.Dispose(); gridManager = null; } if (rlv != null) { rlv.Dispose(); rlv = null; } if (client != null) { UnregisterClientEvents(client); } if (pluginManager != null) { pluginManager.Dispose(); pluginManager = null; } if (movement != null) { movement.Dispose(); movement = null; } if (commandsManager != null) { commandsManager.Dispose(); commandsManager = null; } if (ContextActionManager != null) { ContextActionManager.Dispose(); ContextActionManager = null; } if (mediaManager != null) { mediaManager.Dispose(); mediaManager = null; } if (state != null) { state.Dispose(); state = null; } if (netcom != null) { netcom.Dispose(); netcom = null; } if (mainForm != null) { mainForm.Load -= new EventHandler(mainForm_Load); } Logger.Log("RadegastInstance finished cleaning up.", Helpers.LogLevel.Debug); }
public ReadRegisterCommand(CommandsManager manager) : base(manager) { }
public MonitorCommand(CommandsManager m) : base(m) { openOcdOverlay = new OpenOcdOverlay(m); }
public OpenOcdOverlay(CommandsManager manager) { this.manager = manager; }
public PuppetMaster() { cm = new CommandsManager(this); }
/// <summary> /// Initializes a new instance of the <see cref="GameModeFactory"/> class. /// </summary> /// <param name="consoleManager">The console manager.</param> /// <param name="commandsManager">The commands manager.</param> public GameModeFactory(ConsoleManager consoleManager, CommandsManager commandsManager) { _consoleManager = consoleManager; _commandsManager = commandsManager; }
public SingleStepCommand(CommandsManager manager) : base(manager) { }
/// <summary> /// Initializes a new instance of the <see cref="Game" /> class. /// </summary> /// <param name="conns">The conns.</param> internal Game(int conns) { //Console.WriteLine(); Writer.WriteLine(@"Starting up Yupi Emulator for " + Environment.MachineName + "...", @"Yupi.Boot"); //Console.WriteLine(); _clientManager = new GameClientManager(); using (IQueryAdapter commitableQueryReactor = Yupi.GetDatabaseManager().GetQueryReactor()) { AbstractBar bar = new AnimatedBar(); const int wait = 15, end = 5; uint itemsLoaded; uint navigatorLoaded; uint roomModelLoaded; uint achievementLoaded; uint pollLoaded; Progress(bar, wait, end, "Cleaning dirty in database..."); DatabaseCleanup(commitableQueryReactor); Progress(bar, wait, end, "Loading Bans..."); _banManager = new ModerationBanManager(); _banManager.LoadBans(commitableQueryReactor); Progress(bar, wait, end, "Loading Roles..."); _roleManager = new RoleManager(); _roleManager.LoadRights(commitableQueryReactor); Progress(bar, wait, end, "Loading Items..."); _itemManager = new ItemManager(); _itemManager.LoadItems(commitableQueryReactor, out itemsLoaded); Progress(bar, wait, end, "Loading Catalog..."); _catalog = new CatalogManager(); Progress(bar, wait, end, "Loading Targeted Offers..."); _targetedOfferManager = new TargetedOfferManager(); Progress(bar, wait, end, "Loading Clothing..."); _clothingManager = new ClothingManager(); _clothingManager.Initialize(commitableQueryReactor); Progress(bar, wait, end, "Loading Rooms..."); _roomManager = new RoomManager(); _roomManager.LoadModels(commitableQueryReactor, out roomModelLoaded); Progress(bar, wait, end, "Loading NavigatorManager..."); _navigatorManager = new HotelBrowserManager(); _navigatorManager.Initialize(commitableQueryReactor, out navigatorLoaded); Progress(bar, wait, end, "Loading Groups..."); _groupManager = new GroupManager(); _groupManager.InitGroups(); Progress(bar, wait, end, "Loading PixelManager..."); _pixelManager = new ExchangeManager(); Progress(bar, wait, end, "Loading HotelView..."); _hotelView = new HotelLandingManager(); Progress(bar, wait, end, "Loading Hall Of Fame..."); _hallOfFame = new HallOfFame(); Progress(bar, wait, end, "Loading ModerationTool..."); _moderationTool = new ModerationTool(); _moderationTool.LoadMessagePresets(commitableQueryReactor); _moderationTool.LoadPendingTickets(commitableQueryReactor); Progress(bar, wait, end, "Loading Bots..."); _botManager = new BotManager(); Progress(bar, wait, end, "Loading Events..."); _events = new RoomEvents(); Progress(bar, wait, end, "Loading Talents..."); _talentManager = new TalentManager(); _talentManager.Initialize(commitableQueryReactor); Progress(bar, wait, end, "Loading Pinata..."); _pinataHandler = new PinataHandler(); _pinataHandler.Initialize(commitableQueryReactor); Progress(bar, wait, end, "Loading Crackable Eggs..."); _crackableEggHandler = new CrackableEggHandler(); _crackableEggHandler.Initialize(commitableQueryReactor); Progress(bar, wait, end, "Loading Polls..."); _pollManager = new PollManager(); _pollManager.Init(commitableQueryReactor, out pollLoaded); Progress(bar, wait, end, "Loading Achievements..."); _achievementManager = new AchievementManager(commitableQueryReactor, out achievementLoaded); Progress(bar, wait, end, "Loading StaticMessages ..."); StaticMessagesManager.Load(); Progress(bar, wait, end, "Loading Guides ..."); _guideManager = new GuideManager(); Progress(bar, wait, end, "Loading and Registering Commands..."); CommandsManager.Register(); CacheManager.StartProcess(); //Progress(bar, wait, end, "Loading ServerMutantManager..."); //this.ServerMutantManager = new ServerMutantManager(); Console.Write("\r".PadLeft(Console.WindowWidth - Console.CursorLeft - 1)); } }
public ReadGeneralRegistersCommand(CommandsManager manager) : base(manager) { }
public WriteDataToMemoryCommand(CommandsManager manager) : base(manager) { }