Packages

case class DualMiniBot[P, Q, W, V, ID](responses: (V) => (P) => Vector[Future[Q]], predicate: (V) => Boolean = (_: V) => true, name: Option[String] = None)(implicit pw: Postable[P, W, ID], qw: Postable[Q, W, ID], lv: LocalQueryable[V, W, ID], dg: DataGetter[Q, W, ID]) extends TypedPostResponse[P, W, ID] with Product with Serializable

Bot responding to a post returning a vector of posts for each value of the auxiliary queryable - so even if the auxiliary has a single response, many posts are made but posts are in the future : this works if branches are known in advance but each branch calculation is expensive.

responses

the responses of the bot

predicate

the condition the post must satisfy to trigger the bot

pw

postability of the post type

qw

postability of the response post type

lv

queryability of the other arguments

Linear Supertypes
Serializable, Product, Equals, TypedPostResponse[P, W, ID], PostResponse[W, ID], AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DualMiniBot
  2. Serializable
  3. Product
  4. Equals
  5. TypedPostResponse
  6. PostResponse
  7. AnyRef
  8. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new DualMiniBot(responses: (V) => (P) => Vector[Future[Q]], predicate: (V) => Boolean = (_: V) => true, name: Option[String] = None)(implicit pw: Postable[P, W, ID], qw: Postable[Q, W, ID], lv: LocalQueryable[V, W, ID], dg: DataGetter[Q, W, ID])

    responses

    the responses of the bot

    predicate

    the condition the post must satisfy to trigger the bot

    pw

    postability of the post type

    qw

    postability of the response post type

    lv

    queryability of the other arguments

Type Members

  1. type PostType = P
    Definition Classes
    TypedPostResponsePostResponse

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def &&(that: TypedPostResponse[P, W, ID]): ConcurrentResponse[P, W, ID]
    Definition Classes
    TypedPostResponse
  4. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from DualMiniBot[P, Q, W, V, ID] toany2stringadd[DualMiniBot[P, Q, W, V, ID]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  5. def ->[B](y: B): (DualMiniBot[P, Q, W, V, ID], B)
    Implicit
    This member is added by an implicit conversion from DualMiniBot[P, Q, W, V, ID] toArrowAssoc[DualMiniBot[P, Q, W, V, ID]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  6. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  7. def >>[Q](that: TypedPostResponse[Q, W, ID])(implicit qw: Postable[Q, W, ID], dg: DataGetter[Q, W, ID]): ComposedResponse[P, Q, W, ID]
    Definition Classes
    TypedPostResponse
  8. def andThen[Q, V](second: Callback[Q, W, V, ID])(implicit pw: Postable[P, W, ID], qw: Postable[Q, W, ID]): AndThen[P, Q, V, W, ID]
    Definition Classes
    TypedPostResponse
  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  11. def ensuring(cond: (DualMiniBot[P, Q, W, V, ID]) => Boolean, msg: => Any): DualMiniBot[P, Q, W, V, ID]
    Implicit
    This member is added by an implicit conversion from DualMiniBot[P, Q, W, V, ID] toEnsuring[DualMiniBot[P, Q, W, V, ID]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. def ensuring(cond: (DualMiniBot[P, Q, W, V, ID]) => Boolean): DualMiniBot[P, Q, W, V, ID]
    Implicit
    This member is added by an implicit conversion from DualMiniBot[P, Q, W, V, ID] toEnsuring[DualMiniBot[P, Q, W, V, ID]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  13. def ensuring(cond: Boolean, msg: => Any): DualMiniBot[P, Q, W, V, ID]
    Implicit
    This member is added by an implicit conversion from DualMiniBot[P, Q, W, V, ID] toEnsuring[DualMiniBot[P, Q, W, V, ID]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  14. def ensuring(cond: Boolean): DualMiniBot[P, Q, W, V, ID]
    Implicit
    This member is added by an implicit conversion from DualMiniBot[P, Q, W, V, ID] toEnsuring[DualMiniBot[P, Q, W, V, ID]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  15. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from DualMiniBot[P, Q, W, V, ID] toStringFormat[DualMiniBot[P, Q, W, V, ID]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  17. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. val message: String
  20. val name: Option[String]
  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  24. def post(web: W, content: P, id: ID): Future[Vector[PostData[_, W, ID]]]
    Definition Classes
    DualMiniBotTypedPostResponsePostResponse
  25. val predicate: (V) => Boolean
  26. def productElementNames: Iterator[String]
    Definition Classes
    Product
  27. implicit val pw: Postable[P, W, ID]
    Definition Classes
    TypedPostResponse
  28. def reduce[Q, R](reduction: (Vector[Q]) => R)(implicit qw: Postable[Q, W, ID], rw: Postable[R, W, ID], dgr: DataGetter[R, W, ID]): ReducedResponse[P, Q, R, W, ID]
    Definition Classes
    TypedPostResponse
  29. def respond(web: W)(pds: Vector[PostData[PostType, W, ID]]): Future[Vector[PostData[_, W, ID]]]
    Definition Classes
    PostResponse
  30. val responses: (V) => (P) => Vector[Future[Q]]
  31. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  32. def triggerMap[R](transform: (R) => P)(implicit rw: Postable[R, W, ID]): DualMiniBot[R, Q, W, ::[V, HNil], ID]
  33. def triggerWith[R](implicit rw: Postable[R, W, ID], pq: LocalQueryable[P, W, ID]): DualMiniBot[R, Q, W, ::[P, ::[V, HNil]], ID]
  34. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  35. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  36. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated
  2. def [B](y: B): (DualMiniBot[P, Q, W, V, ID], B)
    Implicit
    This member is added by an implicit conversion from DualMiniBot[P, Q, W, V, ID] toArrowAssoc[DualMiniBot[P, Q, W, V, ID]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from TypedPostResponse[P, W, ID]

Inherited from PostResponse[W, ID]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromDualMiniBot[P, Q, W, V, ID] to any2stringadd[DualMiniBot[P, Q, W, V, ID]]

Inherited by implicit conversion StringFormat fromDualMiniBot[P, Q, W, V, ID] to StringFormat[DualMiniBot[P, Q, W, V, ID]]

Inherited by implicit conversion Ensuring fromDualMiniBot[P, Q, W, V, ID] to Ensuring[DualMiniBot[P, Q, W, V, ID]]

Inherited by implicit conversion ArrowAssoc fromDualMiniBot[P, Q, W, V, ID] to ArrowAssoc[DualMiniBot[P, Q, W, V, ID]]

Ungrouped