private void CommandHandler_Help(object sender, ExecuteCommandArgs args) { foreach (KeyValuePair <string, CommandDescriptor> command in console.Commands) { console.WriteLine(command.Key + ": " + command.Value.Description, 0, 0, 0); } }
private void CommandHandler_Echo(object sender, ExecuteCommandArgs e) { if (e.Args.Length > 0) { console.WriteLine(e.Args[0].ToString(), 0, 0, 0); } }
public async Task ExecuteCommandAsync(IDiscordClient client, SocketMessage socketMessage) { try { var command = GetCommand(socketMessage.Content); var services = provider.GetServices <ICommandService>(); var filteredServices = services.Where(s => s.ImplementedCommands.Any(c => c.name == command)).ToArray(); var args = new ExecuteCommandArgs() { Command = command, Client = client, OurGuild = await client.GetGuildAsync(this.serverId), Message = socketMessage }; if (filteredServices.Length == 0) { args.IsCustom = true; filteredServices = services.Where(s => s.CanExecuteCustomCommand).ToArray(); } await Task.WhenAll(filteredServices.Select(s => s.ExecuteCommand(args)).ToArray()); } catch (Exception ex) { (socketMessage.Channel as IMessageChannel)?.SendMessageAsync($"Произошла ошибка: {ex.Message}"); } }
private void CommandHandler_Exec(object sender, ExecuteCommandArgs e) { if (e.Args.Length > 0) { List <object> newArgs = new List <object>(e.Args); newArgs.RemoveAt(0); console.ExecuteCommand(e.Args[0].ToString(), newArgs.ToArray()); } }
private void CommandHandler_Add(object sender, ExecuteCommandArgs args) { try { int erg = 0; for (int i = 0; i < args.Args.Length; i++) { erg += Convert.ToInt32(args.Args[i]); } console.WriteLine("Result: " + erg.ToString(), 0, 255, 0); } catch (Exception e) { console.WriteLine("Argument Exception: " + e.Message, 255, 0, 0); } }
private void CommandHandler_AddThreaded(object sender, ExecuteCommandArgs args) { try { if (args.Args.Length > 0) { int erg = 0; for (int i = 0; i < args.Args.Length; i++) { erg += Convert.ToInt32(args.Args[i]); } Thread.Sleep(5000); console.WriteLine("Result: " + erg.ToString(), 0, 255, 0); } else { console.WriteLine("Command \"threadTest\" requires two or more arguments!", 255, 0, 0); } } catch (Exception e) { console.WriteLine("Argument Exception: " + e.Message, 255, 0, 0); } }
private void CommandHandler_Clear(object sender, ExecuteCommandArgs args) { console.Clear(); }
private void CommandHandler_Run(object sender, ExecuteCommandArgs args) { CommandDescriptor cmd = (CommandDescriptor)sender; console.WriteLine(cmd.Command + ": " + args.Args[0].ToString(), 0, 0, 0); }