Update bot4s library

This commit is contained in:
Eugene Zadyra
2019-04-10 12:11:12 +02:00
parent 36b937ac4d
commit 3855caf95f
5 changed files with 16 additions and 15 deletions

View File

@@ -1,5 +1,6 @@
dependencies {
compile project(':common')
compile group: "info.mukel", name: "telegrambot4s_2.12", version: "3.0.14"
compile group: "com.bot4s", name: "telegram-core_2.12", version: "4.0.0-RC2"
compile group: "com.bot4s", name: "telegram-akka_2.12", version: "4.0.0-RC2"
}

View File

@@ -1,10 +1,10 @@
package com.lbs.bot.telegram
import com.bot4s.telegram.models.InlineKeyboardMarkup
import com.lbs.bot.PollBot
import com.lbs.bot.model._
import com.lbs.bot.telegram.TelegramModelConverters._
import info.mukel.telegrambot4s.models.InlineKeyboardMarkup
class TelegramBot(onCommand: Command => Unit, botToken: String) extends PollBot[TelegramEvent] {

View File

@@ -1,17 +1,18 @@
package com.lbs.bot.telegram
import com.bot4s.telegram.api.declarative.{Callbacks, Commands}
import com.bot4s.telegram.api.{AkkaTelegramBot, Polling}
import com.bot4s.telegram.clients.AkkaHttpClient
import com.bot4s.telegram.methods._
import com.bot4s.telegram.models.{InlineKeyboardMarkup, InputFile, Message}
import com.lbs.common.Logger
import info.mukel.telegrambot4s.api.declarative.{Callbacks, Commands}
import info.mukel.telegrambot4s.api.{Polling, TelegramBot => TelegramBotBase}
import info.mukel.telegrambot4s.methods._
import info.mukel.telegrambot4s.models._
import scala.concurrent.Future
class TelegramClient(onReceive: TelegramEvent => Unit, botToken: String) extends TelegramBotBase with Polling with Commands with Callbacks with Logger {
class TelegramClient(onReceive: TelegramEvent => Unit, botToken: String) extends AkkaTelegramBot with Polling with Commands with Callbacks with Logger {
override def token: String = botToken
val client = new AkkaHttpClient(botToken)
def sendMessage(chatId: Long, text: String): Future[Message] =
loggingRequest(SendMessage(chatId, text, parseMode = Some(ParseMode.HTML)))
@@ -28,7 +29,7 @@ class TelegramClient(onReceive: TelegramEvent => Unit, botToken: String) extends
def sendFile(chatId: Long, filename: String, contents: Array[Byte], caption: Option[String] = None): Future[Message] =
loggingRequest(SendDocument(chatId, InputFile(filename, contents), caption))
private def loggingRequest[R: Manifest](req: ApiRequest[R]): Future[R] = {
private def loggingRequest[R: Manifest](req: Request[R]): Future[R] = {
debug(s"Sending telegram request: $req")
request(req)
}

View File

@@ -1,7 +1,7 @@
package com.lbs.bot.telegram
import com.bot4s.telegram.models.Message
import com.lbs.bot.model.Event
import info.mukel.telegrambot4s.models.Message
case class TelegramEvent(msg: Message, callbackData: Option[String]) extends Event

View File

@@ -1,10 +1,9 @@
package com.lbs.bot
import com.bot4s.telegram.models.{InlineKeyboardButton, InlineKeyboardMarkup, Message => BMessage}
import com.lbs.bot.model._
import com.lbs.common.ModelConverters
import info.mukel.telegrambot4s.models
import info.mukel.telegrambot4s.models.{InlineKeyboardButton, InlineKeyboardMarkup}
package object telegram {
@@ -24,9 +23,9 @@ package object telegram {
}
implicit val TelegramMessageToMessageConverter:
ObjectConverter[models.Message, Message] =
new ObjectConverter[models.Message, Message] {
override def convert[Z <: models.Message](data: Z): Message = {
ObjectConverter[BMessage, Message] =
new ObjectConverter[BMessage, Message] {
override def convert[Z <: BMessage](data: Z): Message = {
Message(data.messageId.toString, data.text)
}
}