示例#1
0
        public override IEnumerable <CommandNode> Register()
        {
            var great = new Mars.LiteralNode("greet");

            great.NextArgument("user", DiscordArgumentTypes.User()).ThisCalls(new CommandFunction(Run));

            return(new[] { great });
        }
示例#2
0
        public override IEnumerable <CommandNode> Register()
        {
            var quote = new LiteralNode("quote", new CommandMetaData(1));

            //#### ADD ######
            var add = quote.NextLiteral("add");

            add.NextLiteral("anonymous")
            .NextArgument("text", new LongStringArgument())
            .ThisCalls(new CommandFunction(AddQuote));

            add.NextLiteral("from")
            .NextArgument("source", DiscordArgumentTypes.User())
            .NextArgument("text", new LongStringArgument())
            .ThisCalls(new CommandFunction(AddQuote));

            add.NextLiteral("repl")
            .ThisCalls(AddQuote);

            //#### LIST ######
            var list = quote.NextLiteral("get");

            list.NextLiteral("all").ThisCalls(new CommandFunction(ListQuotes));


            //#### Specific number ######
            list.NextLiteral("num").NextArgument("number", new IntArgument()).ThisCalls(new CommandFunction(PrintQuote));

            //#### REMOVE ######
            var remove = quote.NextLiteral("remove");

            remove.NextArgument("id", new IntArgument()).ThisCalls(new CommandFunction(RemoveQuote));


            return(new[] { quote });
        }