Package dev.inmo.tgbotapi.extensions.api

Types

Link copied to clipboard
data class BotBuilder
Link copied to clipboard
class LiveLocationProvider : Closeable

Functions

Link copied to clipboard
fun buildBot(token: String, apiUrl: String = telegramBotAPIDefaultUrl, testServer: Boolean = false, block: BotBuilder.() -> Unit): RequestsExecutor
Link copied to clipboard
inline suspend fun TelegramBot.close(): Boolean
Link copied to clipboard
suspend fun Message.delete(requestsExecutor: TelegramBot): Boolean
Link copied to clipboard
suspend fun TelegramBot.deleteMessage(message: Message): Boolean
suspend fun TelegramBot.deleteMessage(chatId: ChatIdentifier, messageId: MessageIdentifier): Boolean
suspend fun TelegramBot.deleteMessage(chat: Chat, messageId: MessageIdentifier): Boolean
Link copied to clipboard
suspend fun TelegramBot.forwardMessage(toChatId: ChatIdentifier, message: Message, disableNotification: Boolean = false, protectContent: Boolean = false): PossiblyForwardedMessage
suspend fun TelegramBot.forwardMessage(toChat: Chat, message: Message, disableNotification: Boolean = false, protectContent: Boolean = false): PossiblyForwardedMessage
suspend fun TelegramBot.forwardMessage(fromChatId: ChatIdentifier, toChatId: ChatIdentifier, messageId: MessageIdentifier, disableNotification: Boolean = false, protectContent: Boolean = false): PossiblyForwardedMessage
suspend fun TelegramBot.forwardMessage(fromChatId: ChatIdentifier, toChat: Chat, messageId: MessageIdentifier, disableNotification: Boolean = false, protectContent: Boolean = false): PossiblyForwardedMessage
suspend fun TelegramBot.forwardMessage(fromChat: Chat, toChatId: ChatIdentifier, messageId: MessageIdentifier, disableNotification: Boolean = false, protectContent: Boolean = false): PossiblyForwardedMessage
suspend fun TelegramBot.forwardMessage(fromChat: Chat, toChat: Chat, messageId: MessageIdentifier, disableNotification: Boolean = false, protectContent: Boolean = false): PossiblyForwardedMessage
Link copied to clipboard
suspend fun TelegramBot.getUpdates(lastUpdate: Update, limit: Int = getUpdatesLimit.last, timeout: Seconds? = null, allowed_updates: List<String>? = ALL_UPDATES_LIST): List<Update>
suspend fun TelegramBot.getUpdates(offset: UpdateIdentifier? = null, limit: Int = getUpdatesLimit.last, timeout: Seconds? = null, allowed_updates: List<String>? = ALL_UPDATES_LIST): List<Update>
Link copied to clipboard
inline suspend fun TelegramBot.logOut(): Boolean
Link copied to clipboard
inline suspend fun TelegramBot.replyWithLiveLocation(to: Message, scope: CoroutineScope, location: StaticLocation, liveTimeMillis: Long = defaultLivePeriodDelayMillis, initHorizontalAccuracy: Meters? = null, initHeading: Degrees? = null, initProximityAlertRadius: Meters? = null, disableNotification: Boolean = false, protectContent: Boolean = false, allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null): LiveLocationProvider
inline suspend fun TelegramBot.replyWithLiveLocation(to: Message, scope: CoroutineScope, latitude: Double, longitude: Double, liveTimeMillis: Long = defaultLivePeriodDelayMillis, initHorizontalAccuracy: Meters? = null, initHeading: Degrees? = null, initProximityAlertRadius: Meters? = null, disableNotification: Boolean = false, protectContent: Boolean = false, allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null): LiveLocationProvider
Link copied to clipboard
suspend fun TelegramBot.startLiveLocation(scope: CoroutineScope, chatId: ChatId, location: StaticLocation, liveTimeMillis: Long = defaultLivePeriodDelayMillis, initHorizontalAccuracy: Meters? = null, initHeading: Degrees? = null, initProximityAlertRadius: Meters? = null, disableNotification: Boolean = false, protectContent: Boolean = false, replyToMessageId: MessageIdentifier? = null, allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null): LiveLocationProvider
suspend fun TelegramBot.startLiveLocation(scope: CoroutineScope, chat: Chat, location: StaticLocation, liveTimeMillis: Long = defaultLivePeriodDelayMillis, initHorizontalAccuracy: Meters? = null, initHeading: Degrees? = null, initProximityAlertRadius: Meters? = null, disableNotification: Boolean = false, protectContent: Boolean = false, replyToMessageId: MessageIdentifier? = null, allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null): LiveLocationProvider
suspend fun TelegramBot.startLiveLocation(scope: CoroutineScope, chatId: ChatIdentifier, latitude: Double, longitude: Double, liveTimeMillis: Long = defaultLivePeriodDelayMillis, initHorizontalAccuracy: Meters? = null, initHeading: Degrees? = null, initProximityAlertRadius: Meters? = null, disableNotification: Boolean = false, protectContent: Boolean = false, replyToMessageId: MessageIdentifier? = null, allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null): LiveLocationProvider
suspend fun TelegramBot.startLiveLocation(scope: CoroutineScope, chat: Chat, latitude: Double, longitude: Double, liveTimeMillis: Long = defaultLivePeriodDelayMillis, initHorizontalAccuracy: Meters? = null, initHeading: Degrees? = null, initProximityAlertRadius: Meters? = null, disableNotification: Boolean = false, protectContent: Boolean = false, replyToMessageId: MessageIdentifier? = null, allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null): LiveLocationProvider
Link copied to clipboard
suspend fun TelegramBot.stopPoll(chatId: ChatId, message: Message, replyMarkup: InlineKeyboardMarkup? = null): Poll
suspend fun TelegramBot.stopPoll(chatId: ChatIdentifier, messageId: MessageIdentifier, replyMarkup: InlineKeyboardMarkup? = null): Poll
suspend fun TelegramBot.stopPoll(chat: Chat, message: Message, replyMarkup: InlineKeyboardMarkup? = null): Poll
suspend fun TelegramBot.stopPoll(chat: Chat, messageId: MessageIdentifier, replyMarkup: InlineKeyboardMarkup? = null): Poll
Link copied to clipboard
fun telegramBot(urlsKeeper: TelegramAPIUrlsKeeper, client: HttpClient = HttpClient()): TelegramBot

Allows to create bot using bot urlsKeeper and already prepared client

inline fun telegramBot(urlsKeeper: TelegramAPIUrlsKeeper, noinline clientConfig: HttpClientConfig<*>.() -> Unit): RequestsExecutor

Allows to create bot using bot urlsKeeper and specify HttpClientEngine by configuring HttpClient using clientConfig

inline fun telegramBot(urlsKeeper: TelegramAPIUrlsKeeper, clientEngine: HttpClientEngine, noinline clientConfig: HttpClientConfig<*>.() -> Unit = {}): RequestsExecutor

Allows to create bot using bot urlsKeeper and specify HttpClientEngine by passing clientEngine param and optionally configure HttpClient using clientConfig

inline fun <T : HttpClientEngineConfig> telegramBot(urlsKeeper: TelegramAPIUrlsKeeper, clientFactory: HttpClientEngineFactory<T>, noinline clientConfig: HttpClientConfig<T>.() -> Unit = {}): RequestsExecutor

Allows to create bot using bot urlsKeeper and specify HttpClientEngineFactory by passing clientFactory param and optionally configure it with clientConfig

inline fun telegramBot(token: String, apiUrl: String = telegramBotAPIDefaultUrl, testServer: Boolean = false, client: HttpClient = HttpClient()): TelegramBot

Allows to create bot using bot token, apiUrl (for custom api servers) and already prepared client

inline fun telegramBot(token: String, apiUrl: String = telegramBotAPIDefaultUrl, testServer: Boolean = false, noinline clientConfig: HttpClientConfig<*>.() -> Unit): RequestsExecutor

Allows to create bot using bot token and apiUrl and specify HttpClientEngine by configuring HttpClient using clientConfig

inline fun telegramBot(token: String, clientEngine: HttpClientEngine, apiUrl: String = telegramBotAPIDefaultUrl, testServer: Boolean = false, noinline clientConfig: HttpClientConfig<*>.() -> Unit = {}): RequestsExecutor

Allows to create bot using bot token and specify HttpClientEngine by passing clientEngine param and optionally configure HttpClient using clientConfig

inline fun <T : HttpClientEngineConfig> telegramBot(token: String, clientFactory: HttpClientEngineFactory<T>, apiUrl: String = telegramBotAPIDefaultUrl, testServer: Boolean = false, noinline clientConfig: HttpClientConfig<T>.() -> Unit = {}): RequestsExecutor

Properties

Link copied to clipboard
val defaultLivePeriodDelayMillis: Long