Packages

class Bot[F[_]] extends AnyRef

An instance which can communicate with Telegram service and interact with other Telegram users in a certain predefined way

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Bot
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract class E$F extends AnyRef
    Attributes
    protected[this]

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. def follow(scenarios: Scenario[F, Unit]*): Stream[F, Update]

    Defines the behavior of the bot.

    Defines the behavior of the bot.

    Bot is reacting to the incoming messages following provided scenarios. When the user input is not matching/stops matching particular scenario it means that current interaction is not described with this scenario and bot will not continue acting it out.

    returns

    Stream of all updates which your bot receives from Telegram service

    Example:
    1.  val scenario = for {
         chat <- Scenario.start(command("first").chat)
         _    <- Scenario.eval(chat.send("first message received"))
         _    <- Scenario.next(command("second"))
         _    <- Scenario.eval(chat.send("second message received"))
       }
      
      user > /first
      bot > first message received
      user > something else
      *end of the scenario*
      
      user > /first
      bot > first message received
      user > /second
      bot > second message received
      *end of the scenario*

      Each scenario is handled concurrently across all chats, which means that scenario cannot be blocked by any other scenario being in progress. All the behavior is suspended as an effect of resulting stream, without changing its elements. Also, result stream is not halted by the execution of any particular scenario.

  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. def updates: Stream[F, Update]

    Stream of all updates which your bot receives from Telegram service

  19. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  20. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped