Пример #1
0
 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);
     }
 }
Пример #2
0
 private void CommandHandler_Echo(object sender, ExecuteCommandArgs e)
 {
     if (e.Args.Length > 0)
     {
         console.WriteLine(e.Args[0].ToString(), 0, 0, 0);
     }
 }
Пример #3
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}");
            }
        }
Пример #4
0
 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());
     }
 }
Пример #5
0
 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);
     }
 }
Пример #6
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);
     }
 }
Пример #7
0
 private void CommandHandler_Clear(object sender, ExecuteCommandArgs args)
 {
     console.Clear();
 }
Пример #8
0
        private void CommandHandler_Run(object sender, ExecuteCommandArgs args)
        {
            CommandDescriptor cmd = (CommandDescriptor)sender;

            console.WriteLine(cmd.Command + ": " + args.Args[0].ToString(), 0, 0, 0);
        }