case class CommandBuilder[+M[_], A](requests: requests.Requests, defaultMustMention: Boolean, defaultMentionOrPrefix: Boolean, parser: MessageParser[A], actionFunction: ActionFunction[CommandMessage, M, CommandError]) extends ActionBuilder[CommandMessage, M, CommandError, A] with Product with Serializable
A CommandFunction from a command message to an output. Used for creating commands.
- M
The command message type used by the command.
- A
The argument type of this command builder.
- defaultMustMention
Set the default value for must mention when creating a named command.
- defaultMentionOrPrefix
Set the default value for mention or prefix when creating a named command.
- parser
The parser used for parsing the arguments this command takes.
- Self Type
- CommandBuilder[M, A]
- Source
- commandBuilder.scala
- Alphabetic
- By Inheritance
- CommandBuilder
- Serializable
- Product
- Equals
- ActionBuilder
- ActionFunction
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new CommandBuilder(requests: requests.Requests, defaultMustMention: Boolean, defaultMentionOrPrefix: Boolean, parser: MessageParser[A], actionFunction: ActionFunction[CommandMessage, M, CommandError])
- defaultMustMention
Set the default value for must mention when creating a named command.
- defaultMentionOrPrefix
Set the default value for mention or prefix when creating a named command.
- parser
The parser used for parsing the arguments this command takes.
Type Members
- type Action[B, Mat] = ComplexCommand[B, Mat]
- Definition Classes
- CommandBuilder → ActionBuilder
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val actionFunction: ActionFunction[CommandMessage, M, CommandError]
- def andThen[M2[_]](f: CommandFunction[M, M2]): CommandBuilder[M2, A]
Chains first this function, and then another one.
Chains first this function, and then another one.
- Definition Classes
- CommandBuilder → ActionFunction
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def async(block: (M[A]) => Future[Unit]): Action[A, NotUsed]
Creates an action that results in an async result
Creates an action that results in an async result
- block
The execution of the action.
- Definition Classes
- ActionBuilder
- def asyncOpt(block: (M[A]) => OptFuture[Unit]): Action[A, NotUsed]
Creates an action that results in an partial async result
Creates an action that results in an partial async result
- block
The execution of the action.
- Definition Classes
- ActionBuilder
- def asyncOptRequest[G[_]](block: (M[A]) => OptFuture[Request[Any]]): Action[A, NotUsed]
Creates an async action that might do a single request
Creates an async action that might do a single request
- G
The streamable result type.
- block
The execution of the action.
- Definition Classes
- ActionBuilder
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- val defaultMentionOrPrefix: Boolean
- val defaultMustMention: Boolean
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def flow[C]: Flow[CommandMessage[C], Either[Option[CommandError], M[C]], NotUsed]
A flow that represents this mapping.
A flow that represents this mapping.
- Definition Classes
- CommandBuilder → ActionFunction
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def named(namedSymbols: Seq[String], namedAliases: Seq[String], mustMention: Boolean = defaultMustMention, aliasesCaseSensitive: Boolean = false, mentionOrPrefix: Boolean = defaultMentionOrPrefix): NamedCommandBuilder[M, A]
Converts this builder into a builder that will create NamedComplexCommand.
Converts this builder into a builder that will create NamedComplexCommand. These don't need to be provided a name when registering them.
- namedSymbols
The symbols to use when invoking the command
- namedAliases
The valid aliases to use when invoking the command
- mustMention
If the command requires a mention
- aliasesCaseSensitive
If the command aliases should be matched with case sensitivity
- mentionOrPrefix
If true allows one to use a mention in place of a prefix. If needsMention is also true, skips the symbol check.
- def namedAsync(namedSymbols: (CacheSnapshot, Message) => Future[Seq[String]], namedAliases: (CacheSnapshot, Message) => Future[Seq[String]], mustMention: (CacheSnapshot, Message) => Future[Boolean] = (_, _) => Future.successful(defaultMustMention), aliasesCaseSensitive: (CacheSnapshot, Message) => Future[Boolean] = (_, _) => Future.successful(false), canExecute: (CacheSnapshot, Message) => Future[Boolean] = (_, _) => Future.successful(true), mentionOrPrefix: (CacheSnapshot, Message) => Future[Boolean] = (_, _) => Future.successful(defaultMentionOrPrefix)): NamedCommandBuilder[M, A]
Converts this builder into a builder that will create NamedComplexCommand.
Converts this builder into a builder that will create NamedComplexCommand. These don't need to be provided a name when registering them.
- namedSymbols
The symbols to use when invoking the command
- namedAliases
The valid aliases to use when invoking the command
- mustMention
If the command requires a mention
- aliasesCaseSensitive
If the command aliases should be matched with case sensitivity
- canExecute
A early precheck if the command can execute at all
- mentionOrPrefix
If true allows one to use a mention in place of a prefix. If needsMention is also true, skips the symbol check.
- def namedFunction(namedSymbols: (CacheSnapshot, Message) => Seq[String], namedAliases: (CacheSnapshot, Message) => Seq[String], mustMention: (CacheSnapshot, Message) => Boolean = (_, _) => defaultMustMention, aliasesCaseSensitive: (CacheSnapshot, Message) => Boolean = (_, _) => false, canExecute: (CacheSnapshot, Message) => Boolean = (_, _) => true, mentionOrPrefix: (CacheSnapshot, Message) => Boolean = (_, _) => defaultMentionOrPrefix): NamedCommandBuilder[M, A]
Converts this builder into a builder that will create NamedComplexCommand.
Converts this builder into a builder that will create NamedComplexCommand. These don't need to be provided a name when registering them.
- namedSymbols
The symbols to use when invoking the command
- namedAliases
The valid aliases to use when invoking the command
- mustMention
If the command requires a mention
- aliasesCaseSensitive
If the command aliases should be matched with case sensitivity
- canExecute
A early precheck if the command can execute at all
- mentionOrPrefix
If true allows one to use a mention in place of a prefix. If needsMention is also true, skips the symbol check.
- def namedParser(structuredPrefixParser: StructuredPrefixParser): NamedCommandBuilder[M, A]
Converts this builder into a builder that will create NamedComplexCommand.
Converts this builder into a builder that will create NamedComplexCommand. These don't need to be provided a name when registering them.
- structuredPrefixParser
The structured prefix parser to use as a name for commands created by this builder.
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- val parser: MessageParser[A]
- def parsing[B](implicit newParser: MessageParser[B]): CommandBuilder[M, B]
Creates a new command builder parsing a specific type.
Creates a new command builder parsing a specific type.
- B
The type to parse
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val requests: requests.Requests
A request helper that belongs to this builder.
A request helper that belongs to this builder.
- Definition Classes
- CommandBuilder → ActionBuilder
- def streamed[G[_]](block: (M[A]) => G[Unit])(implicit streamable: util.Streamable[G]): Action[A, NotUsed]
Creates an action that results in some streamable type G
Creates an action that results in some streamable type G
- G
The streamable result type.
- block
The execution of the action.
- Definition Classes
- ActionBuilder
- def streamedOptRequest[G[_]](block: (M[A]) => OptionT[G, Request[Any]])(implicit streamable: util.Streamable[G]): Action[A, NotUsed]
Creates an action that might do a single request, wrapped in an effect type G
Creates an action that might do a single request, wrapped in an effect type G
- G
The streamable result type.
- block
The execution of the action.
- Definition Classes
- ActionBuilder
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toSink[Mat](sinkBlock: Sink[M[A], Mat]): ComplexCommand[A, Mat]
Creates a command from a sink.
Creates a command from a sink.
- Mat
The materialized result of running this command.
- sinkBlock
The sink that will process this command.
- Definition Classes
- CommandBuilder → ActionBuilder
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def withRequest(block: (M[A]) => Request[Any]): Action[A, NotUsed]
Creates an action that will do a single request
Creates an action that will do a single request
- block
The execution of the action.
- Definition Classes
- ActionBuilder
- def withRequestOpt(block: (M[A]) => Option[Request[Any]]): Action[A, NotUsed]
Creates an action that might do a single request
Creates an action that might do a single request
- block
The execution of the action.
- Definition Classes
- ActionBuilder
- def withSideEffects(block: (M[A]) => Unit): Action[A, NotUsed]
Creates an action that might execute unknown side effects.
Creates an action that might execute unknown side effects.
- block
The execution of the action.
- Definition Classes
- ActionBuilder