Я хочу переписать консольное приложение ввода-вывода (подсчет суммы) в messenger-bot.StdIn.readLine()
позволяет мне получить следующий входной номер в рекурсии.
object HelloCountBot extends TelegramBot with Polling with Commands {
def go(number: Long, chatId: Long): IO[Long] =
for {
input <- ??? /*here I need get the next number*/
acc <- input.toLong match {
case 0L => sendMessageMethodIO(chatId, "The sum is:") *> IO(0L)
case _ => go(number + 1, chatId)
}
acc <- IO(acc + input.toLong)
} yield acc
/*input point for every new message*/
override def onMessage(message: Message) = message.text match {
case Some(text) if text == "start" => go(1, message.chat.id)
.unsafeRunSync
}
def main(args: Array[String]): Unit = HelloCountBot.run()
}
Как организовать код для получения следующего сообщения внутри рекурсии из метода onMessage с возвратом модуля.