Explorar o código

added webp stickers

Vadik Sirekanyan %!s(int64=5) %!d(string=hai) anos
pai
achega
0a2216e7b3
Modificáronse 51 ficheiros con 9 adicións e 12 borrados
  1. BIN=BIN
      data/200.webp
  2. BIN=BIN
      data/201.webp
  3. BIN=BIN
      data/202.webp
  4. BIN=BIN
      data/210.webp
  5. BIN=BIN
      data/211.webp
  6. BIN=BIN
      data/212.webp
  7. BIN=BIN
      data/221.webp
  8. BIN=BIN
      data/230.webp
  9. BIN=BIN
      data/231.webp
  10. BIN=BIN
      data/232.webp
  11. BIN=BIN
      data/300.webp
  12. BIN=BIN
      data/301.webp
  13. BIN=BIN
      data/302.webp
  14. BIN=BIN
      data/310.webp
  15. BIN=BIN
      data/311.webp
  16. BIN=BIN
      data/312.webp
  17. BIN=BIN
      data/321.webp
  18. BIN=BIN
      data/500.webp
  19. BIN=BIN
      data/501.webp
  20. BIN=BIN
      data/502.webp
  21. BIN=BIN
      data/503.webp
  22. BIN=BIN
      data/504.webp
  23. BIN=BIN
      data/511.webp
  24. BIN=BIN
      data/520.webp
  25. BIN=BIN
      data/521.webp
  26. BIN=BIN
      data/522.webp
  27. BIN=BIN
      data/600.webp
  28. BIN=BIN
      data/601.webp
  29. BIN=BIN
      data/602.webp
  30. BIN=BIN
      data/611.webp
  31. BIN=BIN
      data/621.webp
  32. BIN=BIN
      data/701.webp
  33. BIN=BIN
      data/711.webp
  34. BIN=BIN
      data/721.webp
  35. BIN=BIN
      data/731.webp
  36. BIN=BIN
      data/741.webp
  37. BIN=BIN
      data/800.webp
  38. BIN=BIN
      data/801.webp
  39. BIN=BIN
      data/802.webp
  40. BIN=BIN
      data/803.webp
  41. BIN=BIN
      data/804.webp
  42. BIN=BIN
      data/900.webp
  43. BIN=BIN
      data/901.webp
  44. BIN=BIN
      data/902.webp
  45. BIN=BIN
      data/903.webp
  46. BIN=BIN
      data/904.webp
  47. BIN=BIN
      data/905.webp
  48. BIN=BIN
      data/906.webp
  49. 3 4
      src/main/kotlin/com/sirekanyan/andersrobot/AndersRobot.kt
  50. 2 2
      src/main/kotlin/com/sirekanyan/andersrobot/api/Weather.kt
  51. 4 6
      src/main/kotlin/com/sirekanyan/andersrobot/extensions/AbsSender.kt

BIN=BIN
data/200.webp


BIN=BIN
data/201.webp


BIN=BIN
data/202.webp


BIN=BIN
data/210.webp


BIN=BIN
data/211.webp


BIN=BIN
data/212.webp


BIN=BIN
data/221.webp


BIN=BIN
data/230.webp


BIN=BIN
data/231.webp


BIN=BIN
data/232.webp


BIN=BIN
data/300.webp


BIN=BIN
data/301.webp


BIN=BIN
data/302.webp


BIN=BIN
data/310.webp


BIN=BIN
data/311.webp


BIN=BIN
data/312.webp


BIN=BIN
data/321.webp


BIN=BIN
data/500.webp


BIN=BIN
data/501.webp


BIN=BIN
data/502.webp


BIN=BIN
data/503.webp


BIN=BIN
data/504.webp


BIN=BIN
data/511.webp


BIN=BIN
data/520.webp


BIN=BIN
data/521.webp


BIN=BIN
data/522.webp


BIN=BIN
data/600.webp


BIN=BIN
data/601.webp


BIN=BIN
data/602.webp


BIN=BIN
data/611.webp


BIN=BIN
data/621.webp


BIN=BIN
data/701.webp


BIN=BIN
data/711.webp


BIN=BIN
data/721.webp


BIN=BIN
data/731.webp


BIN=BIN
data/741.webp


BIN=BIN
data/800.webp


BIN=BIN
data/801.webp


BIN=BIN
data/802.webp


BIN=BIN
data/803.webp


BIN=BIN
data/804.webp


BIN=BIN
data/900.webp


BIN=BIN
data/901.webp


BIN=BIN
data/902.webp


BIN=BIN
data/903.webp


BIN=BIN
data/904.webp


BIN=BIN
data/905.webp


BIN=BIN
data/906.webp


+ 3 - 4
src/main/kotlin/com/sirekanyan/andersrobot/AndersRobot.kt

@@ -53,11 +53,10 @@ class AndersRobot : DefaultAbsSender(DefaultBotOptions()), LongPollingBot {
                 } else {
                     val text = temperature.format(accuracy)
                     val icon = temperature.findImageFile()
-                    if (icon == null) {
-                        sendText(chatId, text)
-                    } else {
-                        sendPhoto(chatId, icon, text)
+                    if (icon != null) {
+                        sendSticker(chatId, icon)
                     }
+                    sendText(chatId, text)
                 }
             }
             !addCityCommand.isNullOrEmpty() -> {

+ 2 - 2
src/main/kotlin/com/sirekanyan/andersrobot/api/Weather.kt

@@ -23,11 +23,11 @@ data class Weather(
 
     fun findImageFile(): File? {
         val w = weather.firstOrNull() ?: return null
-        return File("data/${w.id}.png").takeIf { it.exists() }
+        return File("data/${w.id}.webp").takeIf { it.exists() }
     }
 
     fun format(accuracy: Int): String =
-        formatTemperature(accuracy) + " — $name"
+        "$name " + formatTemperature(accuracy)
 
     private fun formatTemperature(accuracy: Int): String =
         "%.${accuracy}f°C".format(main.temp)

+ 4 - 6
src/main/kotlin/com/sirekanyan/andersrobot/extensions/AbsSender.kt

@@ -1,7 +1,7 @@
 package com.sirekanyan.andersrobot.extensions
 
 import org.telegram.telegrambots.meta.api.methods.send.SendMessage
-import org.telegram.telegrambots.meta.api.methods.send.SendPhoto
+import org.telegram.telegrambots.meta.api.methods.send.SendSticker
 import org.telegram.telegrambots.meta.api.objects.InputFile
 import org.telegram.telegrambots.meta.api.objects.Message
 import org.telegram.telegrambots.meta.bots.AbsSender
@@ -13,15 +13,13 @@ private val cachedFileIds: MutableMap<File, String> = ConcurrentHashMap()
 fun AbsSender.sendText(chatId: Long, text: String): Message =
     execute(SendMessage(chatId, text))
 
-fun AbsSender.sendPhoto(chatId: Long, file: File, caption: String) {
-    fun send(f: InputFile) = execute(SendPhoto().setChatId(chatId).setPhoto(f).setCaption(caption))
+fun AbsSender.sendSticker(chatId: Long, file: File) {
+    fun send(f: InputFile) = execute(SendSticker().setChatId(chatId).setSticker(f))
     val cachedFileId = cachedFileIds[file]
     if (cachedFileId == null) {
         println("sending file $file")
         val message = send(InputFile(file, file.name))
-        message.photo.maxByOrNull { it.width }?.fileId?.let { fileId ->
-            cachedFileIds[file] = fileId
-        }
+        cachedFileIds[file] = message.sticker.fileId
     } else {
         println("sending fileId $cachedFileId")
         send(InputFile(cachedFileId))