У меня есть простые комбинации из двух операций ввода-вывода с отправкой сообщения боту Telegram
def send:Future[Message] = request(SendMessage(chatID, msg))
Как объединить операции ввода-вывода в greeting
, чтобы получить вывод «второй» после «первого» каждыйвремя.Я пытался использовать *>, flatMap, IO.fromFuture, но результат был другим.
first
second
second
first
def greeting(chatId: Long): IO[Unit] =
IO(request(SendMessage(chatId, "first"))) *>
IO(request(SendMessage(chatId, "second")))
override def onMessage(message: Message) = message.text match {
case Some(_) => greeting(message.chat.id)
.unsafeRunAsyncAndForget()
}