mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2024-11-22 00:03:48 +00:00
WebhookInfo
This commit is contained in:
parent
f4e58375f2
commit
f3ba288ad8
@ -11,6 +11,8 @@
|
||||
* Added webhooks functions and workaround for `Reverse Proxy` mode
|
||||
* Added new type of updates `MediaGroupUpdate`, which can be received only from filters
|
||||
* `UpdatesFilter` now use new type of updates for mediagroups
|
||||
* Add `GetWebhookInfo` request and `WebhookInfo` type
|
||||
* Replace updates types into separated place in types
|
||||
|
||||
## 0.11.0
|
||||
|
||||
|
@ -2,27 +2,30 @@ package com.github.insanusmokrassar.TelegramBotAPI.requests
|
||||
|
||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.SimpleRequest
|
||||
import com.github.insanusmokrassar.TelegramBotAPI.types.UpdateIdentifier
|
||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ALL_UPDATES_LIST
|
||||
import com.github.insanusmokrassar.TelegramBotAPI.types.update.RawUpdate
|
||||
import kotlinx.serialization.*
|
||||
import kotlinx.serialization.internal.ArrayListSerializer
|
||||
|
||||
const val UPDATE_MESSAGE = "message"
|
||||
const val UPDATE_EDITED_MESSAGE = "edited_message"
|
||||
const val UPDATE_CHANNEL_POST = "channel_post"
|
||||
const val UPDATE_EDITED_CHANNEL_POST = "edited_channel_post"
|
||||
const val UPDATE_CHOSEN_INLINE_RESULT = "chosen_inline_result"
|
||||
const val UPDATE_INLINE_QUERY = "inline_query"
|
||||
const val UPDATE_CALLBACK_QUERY = "callback_query"
|
||||
const val UPDATE_SHIPPING_QUERY = "shipping_query"
|
||||
const val UPDATE_PRE_CHECKOUT_QUERY = "pre_checkout_query"
|
||||
/*
|
||||
@Deprecated("Replaced to other package", ReplaceWith("UPDATE_MESSAGE", "com.github.insanusmokrassar.TelegramBotAPI.types.UPDATE_MESSAGE"))
|
||||
const val UPDATE_MESSAGE = com.github.insanusmokrassar.TelegramBotAPI.types.UPDATE_MESSAGE
|
||||
@Deprecated("Replaced to other package", ReplaceWith("UPDATE_EDITED_MESSAGE", "com.github.insanusmokrassar.TelegramBotAPI.types.UPDATE_EDITED_MESSAGE"))
|
||||
const val UPDATE_EDITED_MESSAGE = com.github.insanusmokrassar.TelegramBotAPI.types.UPDATE_EDITED_MESSAGE
|
||||
@Deprecated("Replaced to other package", ReplaceWith("UPDATE_CHANNEL_POST", "com.github.insanusmokrassar.TelegramBotAPI.types.UPDATE_CHANNEL_POST"))
|
||||
const val UPDATE_CHANNEL_POST = com.github.insanusmokrassar.TelegramBotAPI.types.UPDATE_CHANNEL_POST
|
||||
@Deprecated("Replaced to other package", ReplaceWith("UPDATE_EDITED_CHANNEL_POST", "com.github.insanusmokrassar.TelegramBotAPI.types.UPDATE_EDITED_CHANNEL_POST"))
|
||||
const val UPDATE_EDITED_CHANNEL_POST = com.github.insanusmokrassar.TelegramBotAPI.types.UPDATE_EDITED_CHANNEL_POST
|
||||
@Deprecated("Replaced to other package", ReplaceWith("UPDATE_CHOSEN_INLINE_RESULT", "com.github.insanusmokrassar.TelegramBotAPI.types.UPDATE_CHOSEN_INLINE_RESULT"))
|
||||
const val UPDATE_CHOSEN_INLINE_RESULT = com.github.insanusmokrassar.TelegramBotAPI.types.UPDATE_CHOSEN_INLINE_RESULT
|
||||
@Deprecated("Replaced to other package", ReplaceWith("UPDATE_INLINE_QUERY", "com.github.insanusmokrassar.TelegramBotAPI.types.UPDATE_INLINE_QUERY"))
|
||||
const val UPDATE_INLINE_QUERY = com.github.insanusmokrassar.TelegramBotAPI.types.UPDATE_INLINE_QUERY
|
||||
@Deprecated("Replaced to other package", ReplaceWith("UPDATE_CALLBACK_QUERY", "com.github.insanusmokrassar.TelegramBotAPI.types.UPDATE_CALLBACK_QUERY"))
|
||||
const val UPDATE_CALLBACK_QUERY = com.github.insanusmokrassar.TelegramBotAPI.types.UPDATE_CALLBACK_QUERY
|
||||
@Deprecated("Replaced to other package", ReplaceWith("UPDATE_SHIPPING_QUERY", "com.github.insanusmokrassar.TelegramBotAPI.types.UPDATE_SHIPPING_QUERY"))
|
||||
const val UPDATE_SHIPPING_QUERY = com.github.insanusmokrassar.TelegramBotAPI.types.UPDATE_SHIPPING_QUERY
|
||||
@Deprecated("Replaced to other package", ReplaceWith("UPDATE_PRE_CHECKOUT_QUERY", "com.github.insanusmokrassar.TelegramBotAPI.types.UPDATE_PRE_CHECKOUT_QUERY"))
|
||||
const val UPDATE_PRE_CHECKOUT_QUERY = com.github.insanusmokrassar.TelegramBotAPI.types.UPDATE_PRE_CHECKOUT_QUERY
|
||||
|
||||
@Optional private val inline_query: RawInlineQuery? = null,
|
||||
@Optional private val chosen_inline_result: Unit? = null,
|
||||
@Optional private val callback_query: RawCallbackQuery? = null,
|
||||
@Optional private val shipping_query: Unit? = null,
|
||||
@Optional private val pre_checkout_query: Unit? = null
|
||||
*/
|
||||
@Serializable
|
||||
data class GetUpdates(
|
||||
@Optional
|
||||
@ -32,17 +35,7 @@ data class GetUpdates(
|
||||
@Optional
|
||||
val timeout: Int? = null,
|
||||
@Optional
|
||||
val allowed_updates: List<String>? = listOf(
|
||||
UPDATE_MESSAGE,
|
||||
UPDATE_EDITED_MESSAGE,
|
||||
UPDATE_CHANNEL_POST,
|
||||
UPDATE_EDITED_CHANNEL_POST,
|
||||
UPDATE_CHOSEN_INLINE_RESULT,
|
||||
UPDATE_INLINE_QUERY,
|
||||
UPDATE_CALLBACK_QUERY,
|
||||
UPDATE_SHIPPING_QUERY,
|
||||
UPDATE_PRE_CHECKOUT_QUERY
|
||||
)
|
||||
val allowed_updates: List<String>? = ALL_UPDATES_LIST
|
||||
): SimpleRequest<List<RawUpdate>> {
|
||||
override fun method(): String = "getUpdates"
|
||||
|
||||
|
@ -0,0 +1,13 @@
|
||||
package com.github.insanusmokrassar.TelegramBotAPI.requests.webhook
|
||||
|
||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.SimpleRequest
|
||||
import com.github.insanusmokrassar.TelegramBotAPI.types.WebhookInfo
|
||||
import kotlinx.serialization.KSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
object GetWebhookInfo : SimpleRequest<WebhookInfo> {
|
||||
override fun method(): String = "getWebhookInfo"
|
||||
|
||||
override fun resultSerializer(): KSerializer<WebhookInfo> = WebhookInfo.serializer()
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.github.insanusmokrassar.TelegramBotAPI.requests
|
||||
package com.github.insanusmokrassar.TelegramBotAPI.requests.webhook
|
||||
|
||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.*
|
||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.media.base.*
|
@ -71,6 +71,10 @@ const val switchPmTextField = "switch_pm_text"
|
||||
const val switchPmParameterField = "switch_pm_parameter"
|
||||
const val maxAllowedConnectionsField = "max_connections"
|
||||
const val allowedUpdatesField = "allowed_updates"
|
||||
const val hasCustomCertificateField = "has_custom_certificate"
|
||||
const val pendingUpdateCountField = "pending_update_count"
|
||||
const val lastErrorDateField = "last_error_date"
|
||||
const val lastErrorMessageField = "last_error_message"
|
||||
|
||||
|
||||
const val photoUrlField = "photo_url"
|
||||
|
@ -0,0 +1,23 @@
|
||||
package com.github.insanusmokrassar.TelegramBotAPI.types
|
||||
|
||||
const val UPDATE_MESSAGE = "message"
|
||||
const val UPDATE_EDITED_MESSAGE = "edited_message"
|
||||
const val UPDATE_CHANNEL_POST = "channel_post"
|
||||
const val UPDATE_EDITED_CHANNEL_POST = "edited_channel_post"
|
||||
const val UPDATE_CHOSEN_INLINE_RESULT = "chosen_inline_result"
|
||||
const val UPDATE_INLINE_QUERY = "inline_query"
|
||||
const val UPDATE_CALLBACK_QUERY = "callback_query"
|
||||
const val UPDATE_SHIPPING_QUERY = "shipping_query"
|
||||
const val UPDATE_PRE_CHECKOUT_QUERY = "pre_checkout_query"
|
||||
|
||||
val ALL_UPDATES_LIST = listOf(
|
||||
UPDATE_MESSAGE,
|
||||
UPDATE_EDITED_MESSAGE,
|
||||
UPDATE_CHANNEL_POST,
|
||||
UPDATE_EDITED_CHANNEL_POST,
|
||||
UPDATE_CHOSEN_INLINE_RESULT,
|
||||
UPDATE_INLINE_QUERY,
|
||||
UPDATE_CALLBACK_QUERY,
|
||||
UPDATE_SHIPPING_QUERY,
|
||||
UPDATE_PRE_CHECKOUT_QUERY
|
||||
)
|
@ -0,0 +1,32 @@
|
||||
package com.github.insanusmokrassar.TelegramBotAPI.types
|
||||
|
||||
import kotlinx.serialization.*
|
||||
|
||||
@Serializable
|
||||
data class WebhookInfo(
|
||||
@SerialName(urlField)
|
||||
val url: String,
|
||||
@SerialName(pendingUpdateCountField)
|
||||
val awaitDeliery: Int,
|
||||
@SerialName(maxAllowedConnectionsField)
|
||||
@Optional
|
||||
val maxConnections: Int = 40, // default count according to documentation
|
||||
@SerialName(hasCustomCertificateField)
|
||||
@Optional
|
||||
val customCertificate: Boolean = false,
|
||||
@SerialName(allowedUpdatesField)
|
||||
@Optional
|
||||
val allowedUpdates: List<String> = ALL_UPDATES_LIST,
|
||||
@SerialName(lastErrorDateField)
|
||||
@Optional
|
||||
val lastErrorDate: TelegramDate? = null,
|
||||
@SerialName(lastErrorMessageField)
|
||||
@Optional
|
||||
val lastErrorMessage: String? = null
|
||||
) {
|
||||
@Transient
|
||||
val isNotUseWebhook: Boolean = url.isEmpty()
|
||||
|
||||
@Transient
|
||||
val hasError: Boolean = lastErrorMessage != null
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
package com.github.insanusmokrassar.TelegramBotAPI.utils.extensions
|
||||
|
||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.*
|
||||
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
||||
import com.github.insanusmokrassar.TelegramBotAPI.types.update.*
|
||||
import com.github.insanusmokrassar.TelegramBotAPI.types.update.abstracts.BaseMessageUpdate
|
||||
import com.github.insanusmokrassar.TelegramBotAPI.utils.toMediaGroupUpdate
|
||||
|
@ -1,8 +1,8 @@
|
||||
package com.github.insanusmokrassar.TelegramBotAPI.utils.extensions
|
||||
|
||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.*
|
||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.InputFile
|
||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.webhook.SetWebhook
|
||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MediaGroupIdentifier
|
||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.MediaGroupMessage
|
||||
import com.github.insanusmokrassar.TelegramBotAPI.types.update.*
|
||||
|
Loading…
Reference in New Issue
Block a user