Jelajahi Sumber

added webp stickers

Vadik Sirekanyan 5 tahun lalu
induk
melakukan
0a2216e7b3
51 mengubah file dengan 9 tambahan dan 12 penghapusan
  1. TEMPAT SAMPAH
      data/200.webp
  2. TEMPAT SAMPAH
      data/201.webp
  3. TEMPAT SAMPAH
      data/202.webp
  4. TEMPAT SAMPAH
      data/210.webp
  5. TEMPAT SAMPAH
      data/211.webp
  6. TEMPAT SAMPAH
      data/212.webp
  7. TEMPAT SAMPAH
      data/221.webp
  8. TEMPAT SAMPAH
      data/230.webp
  9. TEMPAT SAMPAH
      data/231.webp
  10. TEMPAT SAMPAH
      data/232.webp
  11. TEMPAT SAMPAH
      data/300.webp
  12. TEMPAT SAMPAH
      data/301.webp
  13. TEMPAT SAMPAH
      data/302.webp
  14. TEMPAT SAMPAH
      data/310.webp
  15. TEMPAT SAMPAH
      data/311.webp
  16. TEMPAT SAMPAH
      data/312.webp
  17. TEMPAT SAMPAH
      data/321.webp
  18. TEMPAT SAMPAH
      data/500.webp
  19. TEMPAT SAMPAH
      data/501.webp
  20. TEMPAT SAMPAH
      data/502.webp
  21. TEMPAT SAMPAH
      data/503.webp
  22. TEMPAT SAMPAH
      data/504.webp
  23. TEMPAT SAMPAH
      data/511.webp
  24. TEMPAT SAMPAH
      data/520.webp
  25. TEMPAT SAMPAH
      data/521.webp
  26. TEMPAT SAMPAH
      data/522.webp
  27. TEMPAT SAMPAH
      data/600.webp
  28. TEMPAT SAMPAH
      data/601.webp
  29. TEMPAT SAMPAH
      data/602.webp
  30. TEMPAT SAMPAH
      data/611.webp
  31. TEMPAT SAMPAH
      data/621.webp
  32. TEMPAT SAMPAH
      data/701.webp
  33. TEMPAT SAMPAH
      data/711.webp
  34. TEMPAT SAMPAH
      data/721.webp
  35. TEMPAT SAMPAH
      data/731.webp
  36. TEMPAT SAMPAH
      data/741.webp
  37. TEMPAT SAMPAH
      data/800.webp
  38. TEMPAT SAMPAH
      data/801.webp
  39. TEMPAT SAMPAH
      data/802.webp
  40. TEMPAT SAMPAH
      data/803.webp
  41. TEMPAT SAMPAH
      data/804.webp
  42. TEMPAT SAMPAH
      data/900.webp
  43. TEMPAT SAMPAH
      data/901.webp
  44. TEMPAT SAMPAH
      data/902.webp
  45. TEMPAT SAMPAH
      data/903.webp
  46. TEMPAT SAMPAH
      data/904.webp
  47. TEMPAT SAMPAH
      data/905.webp
  48. TEMPAT SAMPAH
      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

TEMPAT SAMPAH
data/200.webp


TEMPAT SAMPAH
data/201.webp


TEMPAT SAMPAH
data/202.webp


TEMPAT SAMPAH
data/210.webp


TEMPAT SAMPAH
data/211.webp


TEMPAT SAMPAH
data/212.webp


TEMPAT SAMPAH
data/221.webp


TEMPAT SAMPAH
data/230.webp


TEMPAT SAMPAH
data/231.webp


TEMPAT SAMPAH
data/232.webp


TEMPAT SAMPAH
data/300.webp


TEMPAT SAMPAH
data/301.webp


TEMPAT SAMPAH
data/302.webp


TEMPAT SAMPAH
data/310.webp


TEMPAT SAMPAH
data/311.webp


TEMPAT SAMPAH
data/312.webp


TEMPAT SAMPAH
data/321.webp


TEMPAT SAMPAH
data/500.webp


TEMPAT SAMPAH
data/501.webp


TEMPAT SAMPAH
data/502.webp


TEMPAT SAMPAH
data/503.webp


TEMPAT SAMPAH
data/504.webp


TEMPAT SAMPAH
data/511.webp


TEMPAT SAMPAH
data/520.webp


TEMPAT SAMPAH
data/521.webp


TEMPAT SAMPAH
data/522.webp


TEMPAT SAMPAH
data/600.webp


TEMPAT SAMPAH
data/601.webp


TEMPAT SAMPAH
data/602.webp


TEMPAT SAMPAH
data/611.webp


TEMPAT SAMPAH
data/621.webp


TEMPAT SAMPAH
data/701.webp


TEMPAT SAMPAH
data/711.webp


TEMPAT SAMPAH
data/721.webp


TEMPAT SAMPAH
data/731.webp


TEMPAT SAMPAH
data/741.webp


TEMPAT SAMPAH
data/800.webp


TEMPAT SAMPAH
data/801.webp


TEMPAT SAMPAH
data/802.webp


TEMPAT SAMPAH
data/803.webp


TEMPAT SAMPAH
data/804.webp


TEMPAT SAMPAH
data/900.webp


TEMPAT SAMPAH
data/901.webp


TEMPAT SAMPAH
data/902.webp


TEMPAT SAMPAH
data/903.webp


TEMPAT SAMPAH
data/904.webp


TEMPAT SAMPAH
data/905.webp


TEMPAT SAMPAH
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))