Compare commits

..

No commits in common. "10dd9bd85144f5410002fb94b36110b6455423a4" and "4ae700b58ad5d24883bc8bde1754bc56b55ccdbb" have entirely different histories.

4 changed files with 11 additions and 43 deletions

View File

@ -20,9 +20,11 @@ suspend fun main(args: Array<String>) {
telegramBotWithBehaviourAndLongPolling(botToken, CoroutineScope(Dispatchers.IO)) { telegramBotWithBehaviourAndLongPolling(botToken, CoroutineScope(Dispatchers.IO)) {
onMedia(initialFilter = null) { onMedia(initialFilter = null) {
val pathedFile = bot.getFileAdditionalInfo(it.content.media) val pathedFile = bot.getFileAdditionalInfo(it.content.media)
val outFile = File(directoryOrFile, pathedFile.filePath.filenameFromUrl) val file = File(directoryOrFile, pathedFile.filePath.filenameFromUrl).apply {
bot.downloadFile(it.content.media, outFile) createNewFile()
reply(it, "Saved to ${outFile.absolutePath}") writeBytes(bot.downloadFile(pathedFile))
}
reply(it, "Saved to ${file.absolutePath}")
} }
onContentMessage { println(it) } onContentMessage { println(it) }
}.second.join() }.second.join()

View File

@ -26,13 +26,7 @@ suspend fun main(vararg args: String) {
is UserForwardInfo -> { is UserForwardInfo -> {
val user = forwardInfo.from val user = forwardInfo.from
when (user) { when (user) {
is CommonUser -> { is CommonUser -> regular("User ")
if (user.isPremium) {
regular("Premium user ")
} else {
regular("User ")
}
}
is CommonBot, is CommonBot,
is ExtendedBot -> regular("Bot ") is ExtendedBot -> regular("Bot ")
} + code(user.id.chatId.toString()) + " (${user.firstName} ${user.lastName}: ${user.username ?.username ?: "Without username"})" } + code(user.id.chatId.toString()) + " (${user.firstName} ${user.lastName}: ${user.username ?.username ?: "Without username"})"

View File

@ -1,8 +1,6 @@
import dev.inmo.micro_utils.coroutines.launchSafelyWithoutExceptions import dev.inmo.micro_utils.coroutines.launchSafelyWithoutExceptions
import dev.inmo.tgbotapi.types.webAppQueryIdField import dev.inmo.tgbotapi.types.webAppQueryIdField
import dev.inmo.tgbotapi.webapps.* import dev.inmo.tgbotapi.webapps.*
import dev.inmo.tgbotapi.webapps.haptic.HapticFeedbackStyle
import dev.inmo.tgbotapi.webapps.haptic.HapticFeedbackType
import io.ktor.client.HttpClient import io.ktor.client.HttpClient
import io.ktor.client.request.* import io.ktor.client.request.*
import io.ktor.client.statement.bodyAsText import io.ktor.client.statement.bodyAsText
@ -17,8 +15,8 @@ import kotlinx.serialization.json.Json
import org.w3c.dom.HTMLElement import org.w3c.dom.HTMLElement
fun HTMLElement.log(text: String) { fun HTMLElement.log(text: String) {
appendText(text)
appendElement("p", {}) appendElement("p", {})
appendText(text)
} }
fun main() { fun main() {
@ -41,17 +39,13 @@ fun main() {
} }
val dataIsSafe = response.bodyAsText().toBoolean() val dataIsSafe = response.bodyAsText().toBoolean()
document.body ?.log( document.body ?.appendElement("div") {
if (dataIsSafe) { textContent = if (dataIsSafe) {
"Data is safe" "Data is safe"
} else { } else {
"Data is unsafe" "Data is unsafe"
} }
) }
document.body ?.log(
webApp.initDataUnsafe.chat.toString()
)
} }
document.body ?.appendElement("button") { document.body ?.appendElement("button") {
@ -75,28 +69,6 @@ fun main() {
onViewportChanged { onViewportChanged {
document.body ?.log("Viewport changed: ${it.isStateStable}") document.body ?.log("Viewport changed: ${it.isStateStable}")
} }
backButton.apply {
onClick {
document.body ?.log("Back button clicked")
hapticFeedback.impactOccurred(
HapticFeedbackStyle.Heavy
)
}
show()
}
mainButton.apply {
setText("Main button")
onClick {
document.body ?.log("Main button clicked")
hapticFeedback.notificationOccurred(
HapticFeedbackType.Success
)
}
show()
}
onSettingsButtonClicked {
document.body ?.log("Settings button clicked")
}
} }
webApp.ready() webApp.ready()
}.onFailure { }.onFailure {

View File

@ -5,7 +5,7 @@ org.gradle.jvmargs=-Xmx768m
kotlin_version=1.6.21 kotlin_version=1.6.21
telegram_bot_api_version=2.1.0 telegram_bot_api_version=2.0.3
micro_utils_version=0.11.3 micro_utils_version=0.11.3
serialization_version=1.3.3 serialization_version=1.3.3
ktor_version=2.0.2 ktor_version=2.0.2