mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2026-06-04 14:47:20 +00:00
Compare commits
101 Commits
32be275206
...
renovate/g
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f6fdbbdf64 | ||
| 97b7b3d5d7 | |||
| 62b4bc15ca | |||
| 7c2ce53713 | |||
| 035c8f469a | |||
| c982eef85b | |||
| 16e94a1e1b | |||
| 96a5508e9a | |||
| 83de9fd973 | |||
| 4a0b890697 | |||
| 0e481c3dd9 | |||
| 176d0d419a | |||
| 77bf7b6e89 | |||
| 5337f8c7cc | |||
| 57fa6fd597 | |||
| 703538a6fa | |||
| 08877a8f47 | |||
| 8d3338b79a | |||
| 243a3ca626 | |||
| 277c329ab9 | |||
| e3ae85e067 | |||
| ac51189694 | |||
| cfd74eb58c | |||
| 78c476e4c6 | |||
| a5446b5adb | |||
| 4b5aad2b85 | |||
| a0e748f9a9 | |||
| de13ddeb54 | |||
| b37dda6f47 | |||
| e604b7a3bf | |||
| 661b846a74 | |||
| ce44203941 | |||
| ba65e01c84 | |||
| 2a1bd229d6 | |||
| b30af48b8d | |||
| 083fd1b682 | |||
| a8410df038 | |||
| bd7e8ed55f | |||
| 8c6408bc2b | |||
| e5d18a421f | |||
| d3c1859338 | |||
| e6d6bbdaa0 | |||
| 75a977aebb | |||
| f48eb820bf | |||
| 9f9d890831 | |||
| da662603b0 | |||
| 2dd91f47d7 | |||
| 8eb8e5ee1f | |||
| b533bab95f | |||
| 4f97327d29 | |||
| b17d7a868a | |||
| df695ceadb | |||
| ac511d0aed | |||
| 65cd359002 | |||
| 8d7005be80 | |||
| a20368ee51 | |||
| 744149a674 | |||
| 410183e315 | |||
| 9776a2474a | |||
| aebc571307 | |||
| 26c11d9d6b | |||
| c9be5041b8 | |||
| f10cfdbe1e | |||
| 83b4d2155f | |||
| eccc687aec | |||
| 53e79b152e | |||
| b9157b1924 | |||
| e6aaa264f6 | |||
| e6cb028a71 | |||
| 10b796c88e | |||
| 62a4bf5195 | |||
| a0bb05ce4a | |||
| e02849ae5e | |||
| 4252db489a | |||
| ac05fa0fe3 | |||
| bd816b7847 | |||
| 407f2a8bf7 | |||
| 10b1c359fa | |||
| c4f2566b71 | |||
| 85fb7e42e5 | |||
| d68c70e898 | |||
| 14402f9283 | |||
| b734757062 | |||
| fd9ad8dbf1 | |||
| 734e6074ef | |||
| d642a04e01 | |||
| ecd01c9254 | |||
| 8922b80cff | |||
| 50a7c9cae2 | |||
| f7ee0828ce | |||
| 0c87cf95eb | |||
| 9fea7390e8 | |||
| 9f0ca8143c | |||
| 9d879b90bb | |||
| 2a28f8ab39 | |||
| 44ce84cb84 | |||
| cea80ccee6 | |||
| e1848aa5c9 | |||
| e40424b26a | |||
| cc5056b685 | |||
| 9713a668e2 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,4 +1,5 @@
|
||||
.idea
|
||||
.vscode/
|
||||
.kotlin
|
||||
out/*
|
||||
*.iml
|
||||
|
||||
175
CHANGELOG.md
175
CHANGELOG.md
@@ -1,5 +1,180 @@
|
||||
# TelegramBotAPI changelog
|
||||
|
||||
## 33.1.0
|
||||
|
||||
* `Versions`:
|
||||
* `Kotlin`: `2.3.10` -> `2.3.20`
|
||||
* `Serialization`: `1.10.0` -> `1.11.0`
|
||||
* `Ktor`: `3.4.1` -> `3.4.2`
|
||||
* `MicroUtils`: `0.29.1` -> `0.29.2`
|
||||
* `KSLog`: `1.6.0` -> `1.6.1`
|
||||
|
||||
## 33.0.0
|
||||
|
||||
**THIS UPDATE CONTAINS ADDING SUPPORT OF [Telegram Bots API 9.6](https://core.telegram.org/bots/api-changelog#april-3-2026)**
|
||||
|
||||
**THIS UPDATE CONTAINS BREAKING CHANGES**
|
||||
|
||||
* `Core`:
|
||||
* **THIS IS BREAKING CHANGE** `MultipleAnswersPoll` removed; `RegularPoll` now directly implements `Poll`
|
||||
* **THIS IS BREAKING CHANGE** `allowMultipleAnswers` renamed to `allowsMultipleAnswers` across poll types and requests
|
||||
* **THIS IS BREAKING CHANGE** `QuizPoll.correctOptionId: Int?` changed to `correctOptionIds: List<Int>?`
|
||||
* **THIS IS BREAKING CHANGE** `PollOption` is now a sealed interface with `PollOption.Simple` and `PollOption.LatelyAdded` subtypes; `SimplePollOption` removed
|
||||
* **THIS IS BREAKING CHANGE** `PollAnswer.Anonymous.voterChat` type changed from `ChannelChat` to `PreviewPublicChat`
|
||||
* **THIS IS BREAKING CHANGE** `requestChannelReplyButton` (group variant) renamed to `requestGroupReplyButton`
|
||||
* Added `BotToken` value class
|
||||
* Added `SavePreparedKeyboardButton` request with `PreparedKeyboardButton` and `PreparedKeyboardButtonId` types
|
||||
* Added `GetManagedBotToken` and `ReplaceManagedBotToken` requests
|
||||
* Added `KeyboardButtonRequestManagedBot` and `RequestManagedBotKeyboardButton`
|
||||
* Added `ManagedBotCreated` chat event and `ManagedBotUpdated` type with `ManagedBotUpdate`
|
||||
* Added `PollOptionPersistentId` value class
|
||||
* Added `PollOptionAdded` and `PollOptionDeleted` chat events
|
||||
* Added `pollOptionId` support in `ReplyParameters` (`reply_to_poll_option_id`)
|
||||
* Added `canManageBots` to `ExtendedBot`
|
||||
* Added `allowsRevoting`, `shuffleOptions`, `allowAddingOptions`, `hideResultsUntilCloses`, `description`/`descriptionTextSources` to poll types and send requests
|
||||
* Added `chosenPersistentIds` to `PollAnswer`
|
||||
* Added `UsernameAtLessSerializer`
|
||||
* Extended `openPeriodPollSecondsLimit` from `5..600` to `5..2628000`
|
||||
* Fixed quiz poll serialization type (was incorrectly using `regularPollType` in quiz branch)
|
||||
* Fixed quiz poll explanation serialization (now correctly uses `explanation`/`explanationTextSources`)
|
||||
* Fixed `SendQuizPoll` correct option index range validation (off-by-one)
|
||||
* Several poll validation checks changed from throwing exceptions to logging warnings
|
||||
* `API`:
|
||||
* Added `savePreparedKeyboardButton` extensions
|
||||
* Added `getManagedBotToken` and `replaceManagedBotToken` extensions
|
||||
* Added optional `pollOptionId` parameter to `reply`/`replyWith*` extensions
|
||||
* Updated `sendQuizPoll` extensions with `correctOptionIds`, `allowsMultipleAnswers`, `allowsRevoting`, `shuffleOptions`, `hideResultsUntilCloses`, `description` parameters
|
||||
* Updated `sendRegularPoll` extensions with `allowsRevoting`, `shuffleOptions`, `allowAddingOptions`, `hideResultsUntilCloses`, `description` parameters
|
||||
* `BehaviourBuilder`:
|
||||
* Added `onManagedBotCreated` and `onManagedBotUpdated` triggers
|
||||
* Added `onPollOptionAdded` and `onPollOptionDeleted` triggers
|
||||
* Added `waitManagedBotCreatedEvents` and `waitManagedBotUpdated` expectations
|
||||
* Added `waitPollOptionAddedEvents` and `waitPollOptionDeletedEvents` expectations
|
||||
* Added `ManagedBotUpdatedFilterByUser` and `ByUserManagedBotUpdatedMarkerFactory`
|
||||
* `Utils`:
|
||||
* Added `managedBotCreationLink` formatting extensions
|
||||
* Added `requestManagedBotButton` to `ReplyKeyboardBuilder`
|
||||
* Added class casts for `ManagedBotUpdate`, `ManagedBotCreated`, `PollOptionAdded`, `PollOptionDeleted`
|
||||
* Removed `MultipleAnswersPoll` class casts
|
||||
* Updated raw poll accessors to match new model (`allowsMultipleAnswers`, `correctOptionIds`, `explanation`)
|
||||
* Regenerated class casts extensions
|
||||
* `WebApps`:
|
||||
* Added `requestChat` support for `PreparedKeyboardButtonId`
|
||||
* Fixed `iconCustomEmojiId` passing in `BottomButton`
|
||||
|
||||
## 32.0.0
|
||||
|
||||
**THIS UPDATE CONTAINS BREAKING CHANGES**
|
||||
|
||||
* `Version`:
|
||||
* `Kotlin`: `2.2.21` -> `2.3.10`
|
||||
* `Kotlin Serialization`: `1.9.0` -> `1.10.0`
|
||||
* `Ktor`: `3.3.2` -> `3.4.1`
|
||||
* `KSP`: `2.3.2` -> `2.3.6`
|
||||
* `MicroUtils`: `0.26.9` -> `0.29.1`
|
||||
* `KSLog`: `1.5.2` -> `1.6.0`
|
||||
* `Core` + `API`:
|
||||
* **BREAKING CHANGES: ALL METHODS THAT PREVIOUSLY RETURNED BOOLEAN NOW RETURNS UNIT**
|
||||
* `Core`:
|
||||
* **BREAKING CHANGE** `SetChatTitle` init do not throw error in case when `title.length` is outside of `chatTitleLength`
|
||||
* **BREAKING CHANGE** `SetStickerEmojiList` init do not throw error in case when `emojis.size` is outside of `emojisInStickerLimit`
|
||||
* **BREAKING CHANGE** `DeleteMessages` init do not throw error in case when title is `messageIds.size` of `deleteMessagesLimit`
|
||||
* **BREAKING CHANGE** `ForwardMessages` init do not throw error in case when `messageIds.size` is outside of `forwardMessagesLimit`
|
||||
* **BREAKING CHANGE** `CopyMessages` init do not throw error in case when `messageIds.size` is outside of `copyMessagesLimit`
|
||||
* **BREAKING CHANGE** `SwitchInlineQueryChosenChat` init do not throw error in case when `messageIds.size` is outside of `copyMessagesLimit`
|
||||
* **BREAKING CHANGE** `SetStickerKeywords` init do not throw error in case when there are errors in `keywords`
|
||||
|
||||
## 31.2.0
|
||||
|
||||
* `Core`:
|
||||
* Potentially fix [#1027](https://github.com/InsanusMokrassar/ktgbotapi/issues/1027) - drop http request exceptions on getting updates
|
||||
* `Core` + `API`:
|
||||
* Add `supportsStreaming` in places it haven't been supported (fix of [#1026](https://github.com/InsanusMokrassar/ktgbotapi/issues/1026))
|
||||
* **PARTIALLY BREAKING CHANGE** `supportStreaming` has been renamed to `supportsStreaming`
|
||||
|
||||
## 31.1.0
|
||||
|
||||
**THIS UPDATE CONTAINS ADDING SUPPORT OF [Telegram Bots API 9.5](https://core.telegram.org/bots/api-changelog#march-1-2026)**
|
||||
|
||||
* `Core`:
|
||||
* Added `UserTag` value class and `senderTag` field to messages
|
||||
* Added `SetChatMemberTag` request and `UserTag` support in `PromoteChatMember` and `ChatPermissions`
|
||||
* Added `DateTimeTextSource` for `tg://time` links support
|
||||
* Added `DateTimeFormatPart` and `TgDateTimeFormatBuilder` for building date-time format strings
|
||||
* Added `UnitFromBooleanSerializer`
|
||||
* `API`:
|
||||
* Added `setChatMemberTag` extensions
|
||||
* `Utils`:
|
||||
* Added `dateTime` and `dateTimeln` extensions to `EntitiesBuilder`
|
||||
* Added `dateTimeMarkdown`, `dateTimeMarkdownV2`, and `dateTimeHTML` string formatting extensions
|
||||
* Regenerated class casts extensions
|
||||
* `WebApps`:
|
||||
* Added `iconCustomEmojiId` support to `BottomButton` and `BottomButtonParams`
|
||||
|
||||
## 31.0.1
|
||||
|
||||
* `Core`:
|
||||
* In `StarTransaction` property `nanostarAmount` become nullable
|
||||
|
||||
## 31.0.0
|
||||
|
||||
**THIS UPDATE CONTAINS ADDING SUPPORT OF [Telegram Bots API 9.3](https://core.telegram.org/bots/api-changelog#december-31-2025)**
|
||||
|
||||
**THIS UPDATE CONTAINS ADDING SUPPORT OF [Telegram Bots API 9.4](https://core.telegram.org/bots/api-changelog#february-9-2026)**
|
||||
|
||||
**THIS UPDATE CONTAINS BREAKING CHANGES**
|
||||
|
||||
* `Version`:
|
||||
* `MicroUtils`: `0.26.8` -> `0.26.9`
|
||||
* `Core`:
|
||||
* **THIS IS BREAKING CHANGE** All media files with sizes changed type of `fileSize` field from `Long` to `FileSize` (value class)
|
||||
* **THIS IS BREAKING CHANGE** Class `GiftSentOrReceived` have been renamed to `GiftSentOrReceivedEvent` to clarify naming
|
||||
* **THIS IS BREAKING CHANGE** New interface `OwnedGift` have been created
|
||||
* **THIS IS BREAKING CHANGE** `OwnedGifts` have changed its generic type to `OwnedGift`
|
||||
* **THIS IS BREAKING CHANGE** For `CheclistTask` have been made several changes:
|
||||
* `ChecklistTask.Done` -> `ChecklistTask.Completed`
|
||||
* `ChecklistTask.Undone` -> `ChecklistTask.Uncompleted`
|
||||
* Added several inheritors of `ChecklistTask.Completed` - for completed by chat, by user or just completed tasks
|
||||
* **THIS IS BREAKING CHANGE** `PrivateChat.id` type changed from `UserId` to `IdChatIdentifier`
|
||||
* **THIS IS BREAKING CHANGE** `ForumChat` no longer extends `SupergroupChat`; new `SupergroupForumChat` interface created for supergroup forums
|
||||
* **THIS IS BREAKING CHANGE** Added `PrivateForumChat` and `PrivateUserChat` interfaces to support private forums
|
||||
* Added support of private forums (`ExtendedPrivateForumChatImpl`, `PrivateForumContentMessage`, `PrivateForumEventMessage`)
|
||||
* Added `ChatOwnerChanged` and `ChatOwnerLeft` chat events
|
||||
* Added `SetMyProfilePhoto` and `RemoveMyProfilePhoto` requests
|
||||
* Added `GetUserProfileAudios` request and `UserProfileAudios` type
|
||||
* Added `GetChatGifts` and `GetUserGifts` requests
|
||||
* Added `RepostStory` request
|
||||
* Added `SendMessageDraft` request with `DraftId` and `DraftIdAllocator`
|
||||
* Added `KeyboardButtonStyle` support and `iconCustomEmojiId` field to keyboard buttons
|
||||
* Added `style` and `iconCustomEmojiId` fields to `InlineKeyboardButton`
|
||||
* Added `VideoCodec` and `VideoQuality` types
|
||||
* Added `Rarity`, `GiftBackground`, `UniqueGiftName`, and `UniqueGiftColors` types for gifts
|
||||
* Added new fields to `Gift.Regular`: `personalTotalCount`, `personalRemainingCount`, `isPremium`, `hasColors`, `background`, `uniqueGiftVariantCount`
|
||||
* Added `isBurned` field support in `GiftSentOrReceivedEvent`
|
||||
* Added `UserRating` type and `rating` field to `ExtendedPrivateChat`
|
||||
* Added `Level` and `Rating` value classes
|
||||
* Added `uniqueGiftColors` field to extended chats (channel, group, private)
|
||||
* Added `paidMessageStarCount` field to `ExtendedGroupChat` and `ExtendedPrivateChat`
|
||||
* Added `firstProfileAudio` field to `ExtendedPrivateChat`
|
||||
* Added `purchased_paid_media` to updates list
|
||||
* Added `effectId` support in `CopyMessage` and `ForwardMessage`
|
||||
* Added `WithOptionalPaidMessageStarCount` interface
|
||||
* Fixed serialization of `SimpleKeyboardButton`
|
||||
* Fixed support of `paidMessageStarCount`
|
||||
* `API`:
|
||||
* Added extensions for `SetMyProfilePhoto`, `RemoveMyProfilePhoto`, `GetUserProfileAudios`
|
||||
* Added extensions for `GetChatGifts` and `GetUserGifts`
|
||||
* Added extensions for `RepostStory`
|
||||
* Added extensions for `SendMessageDraft`
|
||||
* Added `effectId` parameter to `copyMessage` and `forwardMessage` extensions
|
||||
* Added `GetBusinessAccountGifts` extensions improvements
|
||||
* `BehaviourBuilder`:
|
||||
* Updated event triggers for new chat events (`ChatOwnerChanged`, `ChatOwnerLeft`, private forum events)
|
||||
* Updated expectations for new event types
|
||||
* `Utils`:
|
||||
* Regenerated class casts extensions
|
||||
* Updated `InlineKeyboardBuilder` and `ReplyKeyboardBuilder` with `style` and `iconCustomEmojiId` support
|
||||
|
||||
## 30.0.2
|
||||
|
||||
* `Version`:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# TelegramBotAPI [](https://central.sonatype.com/artifact/dev.inmo/tgbotapi) [](https://core.telegram.org/bots/api-changelog#august-15-2025)
|
||||
# TelegramBotAPI [](https://central.sonatype.com/artifact/dev.inmo/tgbotapi) [](https://core.telegram.org/bots/api-changelog#april-3-2026)
|
||||
|
||||
| Docs | [](https://tgbotapi.inmo.dev/index.html) [](https://docs.inmo.dev/tgbotapi/index.html) |
|
||||
|:----------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
|
||||
|
||||
@@ -6,4 +6,4 @@ kotlin.incremental=true
|
||||
kotlin.incremental.js=true
|
||||
|
||||
library_group=dev.inmo
|
||||
library_version=30.0.2
|
||||
library_version=33.1.0
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
[versions]
|
||||
|
||||
kotlin = "2.2.21"
|
||||
kotlin-serialization = "1.9.0"
|
||||
kotlin = "2.3.20"
|
||||
kotlin-serialization = "1.11.0"
|
||||
kotlin-coroutines = "1.10.2"
|
||||
|
||||
javax-activation = "1.1.1"
|
||||
|
||||
korlibs = "5.4.0"
|
||||
uuid = "0.8.4"
|
||||
ktor = "3.3.2"
|
||||
ktor = "3.4.2"
|
||||
|
||||
ksp = "2.3.2"
|
||||
kotlin-poet = "2.2.0"
|
||||
ksp = "2.3.6"
|
||||
kotlin-poet = "2.3.0"
|
||||
|
||||
microutils = "0.26.8"
|
||||
kslog = "1.5.2"
|
||||
microutils = "0.29.2"
|
||||
kslog = "1.6.1"
|
||||
|
||||
versions = "0.53.0"
|
||||
|
||||
@@ -22,7 +22,7 @@ github-release-plugin = "2.5.2"
|
||||
dokka = "2.0.0"
|
||||
|
||||
validator = "0.18.1"
|
||||
nmcp = "1.2.0"
|
||||
nmcp = "1.4.4"
|
||||
|
||||
[libraries]
|
||||
|
||||
|
||||
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
6
gradle/wrapper/gradle-wrapper.properties
vendored
6
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,5 +1,9 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip
|
||||
networkTimeout=10000
|
||||
retries=0
|
||||
retryBackOffMs=500
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
|
||||
|
||||
314
gradlew
vendored
314
gradlew
vendored
@@ -1,78 +1,128 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Copyright © 2015 the original authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
## Gradle start up script for UN*X
|
||||
##
|
||||
#
|
||||
# Gradle start up script for POSIX generated by Gradle.
|
||||
#
|
||||
# Important for running:
|
||||
#
|
||||
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
|
||||
# noncompliant, but you have some other compliant shell such as ksh or
|
||||
# bash, then to run this script, type that shell name before the whole
|
||||
# command line, like:
|
||||
#
|
||||
# ksh Gradle
|
||||
#
|
||||
# Busybox and similar reduced shells will NOT work, because this script
|
||||
# requires all of these POSIX shell features:
|
||||
# * functions;
|
||||
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
|
||||
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
|
||||
# * compound commands having a testable exit status, especially «case»;
|
||||
# * various built-in commands including «command», «set», and «ulimit».
|
||||
#
|
||||
# Important for patching:
|
||||
#
|
||||
# (2) This script targets any POSIX shell, so it avoids extensions provided
|
||||
# by Bash, Ksh, etc; in particular arrays are avoided.
|
||||
#
|
||||
# The "traditional" practice of packing multiple parameters into a
|
||||
# space-separated string is a well documented source of bugs and security
|
||||
# problems, so this is (mostly) avoided, by progressively accumulating
|
||||
# options in "$@", and eventually passing that to Java.
|
||||
#
|
||||
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
|
||||
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
|
||||
# see the in-line comments for details.
|
||||
#
|
||||
# There are tweaks for specific operating systems such as AIX, CygWin,
|
||||
# Darwin, MinGW, and NonStop.
|
||||
#
|
||||
# (3) This script is generated from the Groovy template
|
||||
# https://github.com/gradle/gradle/blob/3d91ce3b8caaf77ad09f381f43615b715b53f72c/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# within the Gradle project.
|
||||
#
|
||||
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
|
||||
# Resolve links: $0 may be a link
|
||||
PRG="$0"
|
||||
# Need this for relative symlinks.
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`"/$link"
|
||||
fi
|
||||
app_path=$0
|
||||
|
||||
# Need this for daisy-chained symlinks.
|
||||
while
|
||||
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
|
||||
[ -h "$app_path" ]
|
||||
do
|
||||
ls=$( ls -ld "$app_path" )
|
||||
link=${ls#*' -> '}
|
||||
case $link in #(
|
||||
/*) app_path=$link ;; #(
|
||||
*) app_path=$APP_HOME$link ;;
|
||||
esac
|
||||
done
|
||||
SAVED="`pwd`"
|
||||
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||
APP_HOME="`pwd -P`"
|
||||
cd "$SAVED" >/dev/null
|
||||
|
||||
APP_NAME="Gradle"
|
||||
APP_BASE_NAME=`basename "$0"`
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS=""
|
||||
# This is normally unused
|
||||
# shellcheck disable=SC2034
|
||||
APP_BASE_NAME=${0##*/}
|
||||
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
||||
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD="maximum"
|
||||
MAX_FD=maximum
|
||||
|
||||
warn ( ) {
|
||||
warn () {
|
||||
echo "$*"
|
||||
}
|
||||
} >&2
|
||||
|
||||
die ( ) {
|
||||
die () {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
} >&2
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
nonstop=false
|
||||
case "`uname`" in
|
||||
CYGWIN* )
|
||||
cygwin=true
|
||||
;;
|
||||
Darwin* )
|
||||
darwin=true
|
||||
;;
|
||||
MINGW* )
|
||||
msys=true
|
||||
;;
|
||||
NONSTOP* )
|
||||
nonstop=true
|
||||
;;
|
||||
case "$( uname )" in #(
|
||||
CYGWIN* ) cygwin=true ;; #(
|
||||
Darwin* ) darwin=true ;; #(
|
||||
MSYS* | MINGW* ) msys=true ;; #(
|
||||
NONSTOP* ) nonstop=true ;;
|
||||
esac
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
JAVACMD=$JAVA_HOME/jre/sh/java
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
JAVACMD=$JAVA_HOME/bin/java
|
||||
fi
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||
@@ -81,92 +131,118 @@ Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD="java"
|
||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
JAVACMD=java
|
||||
if ! command -v java >/dev/null 2>&1
|
||||
then
|
||||
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
|
||||
MAX_FD_LIMIT=`ulimit -H -n`
|
||||
if [ $? -eq 0 ] ; then
|
||||
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||
MAX_FD="$MAX_FD_LIMIT"
|
||||
fi
|
||||
ulimit -n $MAX_FD
|
||||
if [ $? -ne 0 ] ; then
|
||||
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||
fi
|
||||
else
|
||||
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||
fi
|
||||
fi
|
||||
|
||||
# For Darwin, add options to specify how the application appears in the dock
|
||||
if $darwin; then
|
||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||
fi
|
||||
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||
SEP=""
|
||||
for dir in $ROOTDIRSRAW ; do
|
||||
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||
SEP="|"
|
||||
done
|
||||
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||
# Add a user-defined pattern to the cygpath arguments
|
||||
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||
fi
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
i=0
|
||||
for arg in "$@" ; do
|
||||
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||
|
||||
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=$((i+1))
|
||||
done
|
||||
case $i in
|
||||
(0) set -- ;;
|
||||
(1) set -- "$args0" ;;
|
||||
(2) set -- "$args0" "$args1" ;;
|
||||
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
||||
case $MAX_FD in #(
|
||||
max*)
|
||||
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC2039,SC3045
|
||||
MAX_FD=$( ulimit -H -n ) ||
|
||||
warn "Could not query maximum file descriptor limit"
|
||||
esac
|
||||
case $MAX_FD in #(
|
||||
'' | soft) :;; #(
|
||||
*)
|
||||
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC2039,SC3045
|
||||
ulimit -n "$MAX_FD" ||
|
||||
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
||||
esac
|
||||
fi
|
||||
|
||||
# Escape application args
|
||||
save ( ) {
|
||||
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
||||
echo " "
|
||||
}
|
||||
APP_ARGS=$(save "$@")
|
||||
# Collect all arguments for the java command, stacking in reverse order:
|
||||
# * args from the command line
|
||||
# * the main class name
|
||||
# * -classpath
|
||||
# * -D...appname settings
|
||||
# * --module-path (only if needed)
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
|
||||
|
||||
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
||||
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||
if "$cygwin" || "$msys" ; then
|
||||
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
|
||||
|
||||
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
|
||||
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
|
||||
cd "$(dirname "$0")"
|
||||
JAVACMD=$( cygpath --unix "$JAVACMD" )
|
||||
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
for arg do
|
||||
if
|
||||
case $arg in #(
|
||||
-*) false ;; # don't mess with options #(
|
||||
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
|
||||
[ -e "$t" ] ;; #(
|
||||
*) false ;;
|
||||
esac
|
||||
then
|
||||
arg=$( cygpath --path --ignore --mixed "$arg" )
|
||||
fi
|
||||
# Roll the args list around exactly as many times as the number of
|
||||
# args, so each arg winds up back in the position where it started, but
|
||||
# possibly modified.
|
||||
#
|
||||
# NB: a `for` loop captures its iteration list before it begins, so
|
||||
# changing the positional parameters here affects neither the number of
|
||||
# iterations, nor the values presented in `arg`.
|
||||
shift # remove old arg
|
||||
set -- "$@" "$arg" # push replacement arg
|
||||
done
|
||||
fi
|
||||
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Collect all arguments for the java command:
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||
# and any embedded shellness will be escaped.
|
||||
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
||||
# treated as '${Hostname}' itself on the command line.
|
||||
|
||||
set -- \
|
||||
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
|
||||
"$@"
|
||||
|
||||
# Stop when "xargs" is not available.
|
||||
if ! command -v xargs >/dev/null 2>&1
|
||||
then
|
||||
die "xargs is not available"
|
||||
fi
|
||||
|
||||
# Use "xargs" to parse quoted args.
|
||||
#
|
||||
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
|
||||
#
|
||||
# In Bash we could simply go:
|
||||
#
|
||||
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
|
||||
# set -- "${ARGS[@]}" "$@"
|
||||
#
|
||||
# but POSIX shell has neither arrays nor command substitution, so instead we
|
||||
# post-process each arg (as a line of input to sed) to backslash-escape any
|
||||
# character that might be a shell metacharacter, then use eval to reverse
|
||||
# that process (while maintaining the separation between arguments), and wrap
|
||||
# the whole thing up as a single "set" statement.
|
||||
#
|
||||
# This will of course break if any of these variables contains a newline or
|
||||
# an unmatched quote.
|
||||
#
|
||||
|
||||
eval "set -- $(
|
||||
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
|
||||
xargs -n1 |
|
||||
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
|
||||
tr '\n' ' '
|
||||
)" '"$@"'
|
||||
|
||||
exec "$JAVACMD" "$@"
|
||||
|
||||
98
gradlew.bat
vendored
98
gradlew.bat
vendored
@@ -1,84 +1,82 @@
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
@rem SPDX-License-Identifier: Apache-2.0
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%"=="" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
@rem Set local scope for the variables, and ensure extensions are enabled
|
||||
setlocal EnableExtensions
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
if "%DIRNAME%"=="" set DIRNAME=.
|
||||
@rem This is normally unused
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS=
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto init
|
||||
if %ERRORLEVEL% equ 0 goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
echo. 1>&2
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
|
||||
echo. 1>&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||
echo location of your Java installation. 1>&2
|
||||
|
||||
goto fail
|
||||
"%COMSPEC%" /c exit 1
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto init
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
echo. 1>&2
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
|
||||
echo. 1>&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||
echo location of your Java installation. 1>&2
|
||||
|
||||
goto fail
|
||||
|
||||
:init
|
||||
@rem Get command-line arguments, handling Windows variants
|
||||
|
||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||
|
||||
:win9xME_args
|
||||
@rem Slurp the command line arguments.
|
||||
set CMD_LINE_ARGS=
|
||||
set _SKIP=2
|
||||
|
||||
:win9xME_args_slurp
|
||||
if "x%~1" == "x" goto execute
|
||||
|
||||
set CMD_LINE_ARGS=%*
|
||||
"%COMSPEC%" /c exit 1
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
||||
@rem endlocal doesn't take effect until after the line is parsed and variables are expanded
|
||||
@rem which allows us to clear the local environment before executing the java command
|
||||
endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
:exitWithErrorLevel
|
||||
@rem Use "%COMSPEC%" /c exit to allow operators to work properly in scripts
|
||||
"%COMSPEC%" /c exit %ERRORLEVEL%
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,4 +3,4 @@ package dev.inmo.tgbotapi.extensions.api
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.local.Close
|
||||
|
||||
public suspend inline fun TelegramBot.executeClose(): Boolean = execute(Close)
|
||||
public suspend inline fun TelegramBot.executeClose(): Unit = execute(Close)
|
||||
|
||||
@@ -12,42 +12,42 @@ import dev.inmo.tgbotapi.types.message.content.MediaGroupCollectionContent
|
||||
public suspend fun TelegramBot.deleteMessage(
|
||||
chatId: ChatIdentifier,
|
||||
messageId: MessageId
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
DeleteMessage(chatId, messageId)
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.deleteMessage(
|
||||
chat: Chat,
|
||||
messageId: MessageId
|
||||
): Boolean = deleteMessage(chat.id, messageId)
|
||||
): Unit = deleteMessage(chat.id, messageId)
|
||||
|
||||
public suspend fun TelegramBot.deleteMessage(
|
||||
message: AccessibleMessage
|
||||
): Boolean {
|
||||
): Unit {
|
||||
val mediaGroupContent = ((message as? ContentMessage<*>) ?.content as? MediaGroupCollectionContent<*>)
|
||||
if (mediaGroupContent == null) {
|
||||
return deleteMessage(message.chat, message.messageId)
|
||||
deleteMessage(message.chat, message.messageId)
|
||||
} else {
|
||||
return mediaGroupContent.group.map {
|
||||
mediaGroupContent.group.forEach {
|
||||
deleteMessage(it.sourceMessage)
|
||||
}.all { it }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public suspend fun TelegramBot.delete(
|
||||
chatId: ChatIdentifier,
|
||||
messageId: MessageId
|
||||
): Boolean = deleteMessage(chatId, messageId)
|
||||
): Unit = deleteMessage(chatId, messageId)
|
||||
|
||||
public suspend fun TelegramBot.delete(
|
||||
chat: Chat,
|
||||
messageId: MessageId
|
||||
): Boolean = deleteMessage(chat, messageId)
|
||||
): Unit = deleteMessage(chat, messageId)
|
||||
|
||||
public suspend fun TelegramBot.delete(
|
||||
message: AccessibleMessage
|
||||
): Boolean = deleteMessage(message)
|
||||
): Unit = deleteMessage(message)
|
||||
|
||||
public suspend fun AccessibleMessage.delete(
|
||||
requestsExecutor: TelegramBot
|
||||
): Boolean = requestsExecutor.deleteMessage(this)
|
||||
): Unit = requestsExecutor.deleteMessage(this)
|
||||
|
||||
@@ -10,52 +10,52 @@ import kotlin.jvm.JvmName
|
||||
public suspend fun TelegramBot.deleteMessages(
|
||||
chatId: ChatIdentifier,
|
||||
messageIds: List<MessageId>
|
||||
): Boolean = messageIds.chunked(deleteMessagesLimit.last).map {
|
||||
): Unit = messageIds.chunked(deleteMessagesLimit.last).forEach {
|
||||
execute(
|
||||
DeleteMessages(
|
||||
chatId = chatId,
|
||||
messageIds = it
|
||||
)
|
||||
)
|
||||
}.all { it }
|
||||
}
|
||||
|
||||
public suspend fun TelegramBot.deleteMessages(
|
||||
chatId: ChatIdentifier,
|
||||
messageIds: Array<MessageId>
|
||||
): Boolean = deleteMessages(
|
||||
): Unit = deleteMessages(
|
||||
chatId = chatId,
|
||||
messageIds = messageIds.toList()
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.deleteMessages(
|
||||
messagesMetas: List<Message.MetaInfo>
|
||||
): Boolean = messagesMetas.groupBy { it.chatId }.map { (chatId, messages) ->
|
||||
): Unit = messagesMetas.groupBy { it.chatId }.forEach { (chatId, messages) ->
|
||||
deleteMessages(
|
||||
chatId = chatId,
|
||||
messageIds = messages.map { it.messageId }
|
||||
)
|
||||
}.all { it }
|
||||
}
|
||||
|
||||
@JvmName("deleteMessagesWithMessages")
|
||||
public suspend fun TelegramBot.deleteMessages(
|
||||
messages: List<AccessibleMessage>
|
||||
): Boolean = deleteMessages(messages.map { it.metaInfo })
|
||||
): Unit = deleteMessages(messages.map { it.metaInfo })
|
||||
|
||||
public suspend fun TelegramBot.delete(
|
||||
chatId: ChatIdentifier,
|
||||
messageIds: List<MessageId>
|
||||
): Boolean = deleteMessages(chatId = chatId, messageIds = messageIds)
|
||||
): Unit = deleteMessages(chatId = chatId, messageIds = messageIds)
|
||||
|
||||
public suspend fun TelegramBot.delete(
|
||||
chatId: ChatIdentifier,
|
||||
messageIds: Array<MessageId>
|
||||
): Boolean = deleteMessages(chatId = chatId, messageIds = messageIds)
|
||||
): Unit = deleteMessages(chatId = chatId, messageIds = messageIds)
|
||||
|
||||
public suspend fun TelegramBot.delete(
|
||||
messagesMetas: List<Message.MetaInfo>
|
||||
): Boolean = deleteMessages(messagesMetas)
|
||||
): Unit = deleteMessages(messagesMetas)
|
||||
|
||||
@JvmName("deleteWithMessages")
|
||||
public suspend fun TelegramBot.delete(
|
||||
messages: List<AccessibleMessage>
|
||||
): Boolean = deleteMessages(messages)
|
||||
): Unit = deleteMessages(messages)
|
||||
|
||||
@@ -4,6 +4,7 @@ import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.ForwardMessage
|
||||
import dev.inmo.tgbotapi.types.ChatIdentifier
|
||||
import dev.inmo.tgbotapi.types.DirectMessageThreadId
|
||||
import dev.inmo.tgbotapi.types.EffectId
|
||||
import dev.inmo.tgbotapi.types.MessageId
|
||||
import dev.inmo.tgbotapi.types.MessageThreadId
|
||||
import dev.inmo.tgbotapi.types.Seconds
|
||||
@@ -21,9 +22,20 @@ public suspend fun TelegramBot.forwardMessage(
|
||||
directMessageThreadId: DirectMessageThreadId? = toChatId.directMessageThreadId,
|
||||
startTimestamp: Seconds? = null,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false
|
||||
protectContent: Boolean = false,
|
||||
effectId: EffectId? = null
|
||||
): PossiblyForwardedMessage = execute(
|
||||
ForwardMessage(fromChatId, toChatId, messageId, threadId, directMessageThreadId, startTimestamp, disableNotification, protectContent)
|
||||
ForwardMessage(
|
||||
fromChatId = fromChatId,
|
||||
toChatId = toChatId,
|
||||
messageId = messageId,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
startTimestamp = startTimestamp,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
effectId = effectId
|
||||
)
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.forwardMessage(
|
||||
@@ -34,8 +46,19 @@ public suspend fun TelegramBot.forwardMessage(
|
||||
directMessageThreadId: DirectMessageThreadId? = toChatId.directMessageThreadId,
|
||||
startTimestamp: Seconds? = null,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false
|
||||
): PossiblyForwardedMessage = forwardMessage(fromChat.id, toChatId, messageId, threadId, directMessageThreadId, startTimestamp, disableNotification, protectContent)
|
||||
protectContent: Boolean = false,
|
||||
effectId: EffectId? = null
|
||||
): PossiblyForwardedMessage = forwardMessage(
|
||||
fromChatId = fromChat.id,
|
||||
toChatId = toChatId,
|
||||
messageId = messageId,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
startTimestamp = startTimestamp,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
effectId = effectId
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.forwardMessage(
|
||||
fromChatId: ChatIdentifier,
|
||||
@@ -45,8 +68,19 @@ public suspend fun TelegramBot.forwardMessage(
|
||||
directMessageThreadId: DirectMessageThreadId? = toChat.id.directMessageThreadId,
|
||||
startTimestamp: Seconds? = null,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false
|
||||
): PossiblyForwardedMessage = forwardMessage(fromChatId, toChat.id, messageId, threadId, directMessageThreadId, startTimestamp, disableNotification, protectContent)
|
||||
protectContent: Boolean = false,
|
||||
effectId: EffectId? = null
|
||||
): PossiblyForwardedMessage = forwardMessage(
|
||||
fromChatId = fromChatId,
|
||||
toChatId = toChat.id,
|
||||
messageId = messageId,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
startTimestamp = startTimestamp,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
effectId = effectId
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.forwardMessage(
|
||||
fromChat: Chat,
|
||||
@@ -56,8 +90,19 @@ public suspend fun TelegramBot.forwardMessage(
|
||||
directMessageThreadId: DirectMessageThreadId? = toChat.id.directMessageThreadId,
|
||||
startTimestamp: Seconds? = null,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false
|
||||
): PossiblyForwardedMessage = forwardMessage(fromChat.id, toChat.id, messageId, threadId, directMessageThreadId, startTimestamp, disableNotification, protectContent)
|
||||
protectContent: Boolean = false,
|
||||
effectId: EffectId? = null
|
||||
): PossiblyForwardedMessage = forwardMessage(
|
||||
fromChatId = fromChat.id,
|
||||
toChatId = toChat.id,
|
||||
messageId = messageId,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
startTimestamp = startTimestamp,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
effectId = effectId
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.forwardMessage(
|
||||
toChatId: ChatIdentifier,
|
||||
@@ -66,8 +111,19 @@ public suspend fun TelegramBot.forwardMessage(
|
||||
directMessageThreadId: DirectMessageThreadId? = toChatId.directMessageThreadId,
|
||||
startTimestamp: Seconds? = null,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false
|
||||
): PossiblyForwardedMessage = forwardMessage(message.chat, toChatId, message.messageId, threadId, directMessageThreadId, startTimestamp, disableNotification, protectContent)
|
||||
protectContent: Boolean = false,
|
||||
effectId: EffectId? = null
|
||||
): PossiblyForwardedMessage = forwardMessage(
|
||||
fromChat = message.chat,
|
||||
toChatId = toChatId,
|
||||
messageId = message.messageId,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
startTimestamp = startTimestamp,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
effectId = effectId
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.forwardMessage(
|
||||
toChat: Chat,
|
||||
@@ -76,5 +132,16 @@ public suspend fun TelegramBot.forwardMessage(
|
||||
directMessageThreadId: DirectMessageThreadId? = toChat.id.directMessageThreadId,
|
||||
startTimestamp: Seconds? = null,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false
|
||||
): PossiblyForwardedMessage = forwardMessage(message.chat, toChat, message.messageId, threadId, directMessageThreadId, startTimestamp, disableNotification, protectContent)
|
||||
protectContent: Boolean = false,
|
||||
effectId: EffectId? = null
|
||||
): PossiblyForwardedMessage = forwardMessage(
|
||||
fromChat = message.chat,
|
||||
toChat = toChat,
|
||||
messageId = message.messageId,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
startTimestamp = startTimestamp,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
effectId = effectId
|
||||
)
|
||||
|
||||
@@ -3,4 +3,4 @@ package dev.inmo.tgbotapi.extensions.api
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.local.LogOut
|
||||
|
||||
public suspend inline fun TelegramBot.logOut(): Boolean = execute(LogOut)
|
||||
public suspend inline fun TelegramBot.logOut(): Unit = execute(LogOut)
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package dev.inmo.tgbotapi.extensions.api
|
||||
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.SavePreparedKeyboardButton
|
||||
import dev.inmo.tgbotapi.types.ChatId
|
||||
import dev.inmo.tgbotapi.types.buttons.KeyboardButton
|
||||
import dev.inmo.tgbotapi.types.buttons.PreparedKeyboardButton
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.toChatId
|
||||
|
||||
public suspend fun TelegramBot.savePreparedKeyboardButton(
|
||||
userId: ChatId,
|
||||
button: KeyboardButton
|
||||
): PreparedKeyboardButton = execute(
|
||||
SavePreparedKeyboardButton(userId = userId, button = button)
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.savePreparedKeyboardButton(
|
||||
user: User,
|
||||
button: KeyboardButton
|
||||
): PreparedKeyboardButton = savePreparedKeyboardButton(userId = user.id.toChatId(), button = button)
|
||||
@@ -11,7 +11,7 @@ public suspend fun TelegramBot.answerCallbackQuery(
|
||||
showAlert: Boolean? = null,
|
||||
url: String? = null,
|
||||
cachedTimeSeconds: Int? = null
|
||||
): Boolean = execute(AnswerCallbackQuery(callbackQueryId, text, showAlert, url, cachedTimeSeconds))
|
||||
): Unit = execute(AnswerCallbackQuery(callbackQueryId, text, showAlert, url, cachedTimeSeconds))
|
||||
|
||||
public suspend fun TelegramBot.answerCallbackQuery(
|
||||
callbackQuery: CallbackQuery,
|
||||
@@ -19,7 +19,7 @@ public suspend fun TelegramBot.answerCallbackQuery(
|
||||
showAlert: Boolean? = null,
|
||||
url: String? = null,
|
||||
cachedTimeSeconds: Int? = null
|
||||
): Boolean = answerCallbackQuery(callbackQuery.id, text, showAlert, url, cachedTimeSeconds)
|
||||
): Unit = answerCallbackQuery(callbackQuery.id, text, showAlert, url, cachedTimeSeconds)
|
||||
|
||||
public suspend fun TelegramBot.answer(
|
||||
callbackQuery: CallbackQuery,
|
||||
@@ -27,4 +27,4 @@ public suspend fun TelegramBot.answer(
|
||||
showAlert: Boolean? = null,
|
||||
url: String? = null,
|
||||
cachedTimeSeconds: Int? = null
|
||||
): Boolean = answerCallbackQuery(callbackQuery.id, text, showAlert, url, cachedTimeSeconds)
|
||||
): Unit = answerCallbackQuery(callbackQuery.id, text, showAlert, url, cachedTimeSeconds)
|
||||
|
||||
@@ -14,7 +14,7 @@ public suspend fun TelegramBot.answerInlineQuery(
|
||||
isPersonal: Boolean? = null,
|
||||
nextOffset: String? = null,
|
||||
button: InlineQueryResultsButton? = null
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
AnswerInlineQuery(inlineQueryID, results, cachedTime, isPersonal, nextOffset, button)
|
||||
)
|
||||
|
||||
@@ -25,7 +25,7 @@ public suspend fun TelegramBot.answerInlineQuery(
|
||||
isPersonal: Boolean? = null,
|
||||
nextOffset: String? = null,
|
||||
button: InlineQueryResultsButton? = null
|
||||
): Boolean = answerInlineQuery(inlineQuery.id, results, cachedTime, isPersonal, nextOffset, button)
|
||||
): Unit = answerInlineQuery(inlineQuery.id, results, cachedTime, isPersonal, nextOffset, button)
|
||||
|
||||
public suspend fun TelegramBot.answer(
|
||||
inlineQuery: InlineQuery,
|
||||
@@ -34,7 +34,7 @@ public suspend fun TelegramBot.answer(
|
||||
isPersonal: Boolean? = null,
|
||||
nextOffset: String? = null,
|
||||
button: InlineQueryResultsButton? = null
|
||||
): Boolean = answerInlineQuery(inlineQuery.id, results, cachedTime, isPersonal, nextOffset, button)
|
||||
): Unit = answerInlineQuery(inlineQuery.id, results, cachedTime, isPersonal, nextOffset, button)
|
||||
|
||||
public suspend fun TelegramBot.answerInlineQuery(
|
||||
inlineQueryID: InlineQueryId,
|
||||
@@ -44,7 +44,7 @@ public suspend fun TelegramBot.answerInlineQuery(
|
||||
nextOffset: String? = null,
|
||||
switchPmText: String?,
|
||||
switchPmParameter: String?
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
AnswerInlineQuery(inlineQueryID, results, cachedTime, isPersonal, nextOffset, switchPmText, switchPmParameter)
|
||||
)
|
||||
|
||||
@@ -56,7 +56,7 @@ public suspend fun TelegramBot.answerInlineQuery(
|
||||
nextOffset: String? = null,
|
||||
switchPmText: String?,
|
||||
switchPmParameter: String?
|
||||
): Boolean = answerInlineQuery(inlineQuery.id, results, cachedTime, isPersonal, nextOffset, switchPmText, switchPmParameter)
|
||||
): Unit = answerInlineQuery(inlineQuery.id, results, cachedTime, isPersonal, nextOffset, switchPmText, switchPmParameter)
|
||||
|
||||
public suspend fun TelegramBot.answer(
|
||||
inlineQuery: InlineQuery,
|
||||
@@ -66,4 +66,4 @@ public suspend fun TelegramBot.answer(
|
||||
nextOffset: String? = null,
|
||||
switchPmText: String?,
|
||||
switchPmParameter: String?
|
||||
): Boolean = answerInlineQuery(inlineQuery.id, results, cachedTime, isPersonal, nextOffset, switchPmText, switchPmParameter)
|
||||
): Unit = answerInlineQuery(inlineQuery.id, results, cachedTime, isPersonal, nextOffset, switchPmText, switchPmParameter)
|
||||
|
||||
@@ -8,16 +8,16 @@ import dev.inmo.tgbotapi.types.payments.PreCheckoutQuery
|
||||
|
||||
public suspend fun TelegramBot.answerPreCheckoutQueryOk(
|
||||
id: PreCheckoutQueryId
|
||||
): Boolean = execute(AnswerPreCheckoutQueryOk(id))
|
||||
): Unit = execute(AnswerPreCheckoutQueryOk(id))
|
||||
public suspend fun TelegramBot.answerPreCheckoutQueryOk(
|
||||
preCheckoutQuery: PreCheckoutQuery
|
||||
): Boolean = answerPreCheckoutQueryOk(preCheckoutQuery.id)
|
||||
): Unit = answerPreCheckoutQueryOk(preCheckoutQuery.id)
|
||||
|
||||
public suspend fun TelegramBot.answerPreCheckoutQueryError(
|
||||
id: PreCheckoutQueryId,
|
||||
error: String
|
||||
): Boolean = execute(AnswerPreCheckoutQueryError(id, error))
|
||||
): Unit = execute(AnswerPreCheckoutQueryError(id, error))
|
||||
public suspend fun TelegramBot.answerPreCheckoutQueryError(
|
||||
preCheckoutQuery: PreCheckoutQuery,
|
||||
error: String
|
||||
): Boolean = answerPreCheckoutQueryError(preCheckoutQuery.id, error)
|
||||
): Unit = answerPreCheckoutQueryError(preCheckoutQuery.id, error)
|
||||
|
||||
@@ -10,19 +10,19 @@ import dev.inmo.tgbotapi.types.payments.ShippingQuery
|
||||
public suspend fun TelegramBot.answerShippingQueryOk(
|
||||
id: ShippingQueryId,
|
||||
shippingOptions: List<ShippingOption>
|
||||
): Boolean = execute(AnswerShippingQueryOk(id, shippingOptions))
|
||||
): Unit = execute(AnswerShippingQueryOk(id, shippingOptions))
|
||||
public suspend fun TelegramBot.answerShippingQueryOk(
|
||||
shippingQuery: ShippingQuery,
|
||||
shippingOptions: List<ShippingOption>
|
||||
): Boolean = answerShippingQueryOk(shippingQuery.id, shippingOptions)
|
||||
): Unit = answerShippingQueryOk(shippingQuery.id, shippingOptions)
|
||||
|
||||
public suspend fun TelegramBot.answerShippingQueryError(
|
||||
id: ShippingQueryId,
|
||||
error: String
|
||||
): Boolean = execute(AnswerShippingQueryError(id, error))
|
||||
): Unit = execute(AnswerShippingQueryError(id, error))
|
||||
public suspend fun TelegramBot.answerShippingQueryError(
|
||||
shippingQuery: ShippingQuery,
|
||||
error: String
|
||||
): Boolean = answerShippingQueryError(shippingQuery.id, error)
|
||||
): Unit = answerShippingQueryError(shippingQuery.id, error)
|
||||
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@ import dev.inmo.tgbotapi.requests.bot.ClearMyDefaultAdministratorRights
|
||||
|
||||
public suspend fun TelegramBot.clearMyDefaultAdministratorRights(
|
||||
forChannels: Boolean? = null
|
||||
): Boolean = execute(ClearMyDefaultAdministratorRights(forChannels))
|
||||
): Unit = execute(ClearMyDefaultAdministratorRights(forChannels))
|
||||
|
||||
public suspend fun TelegramBot.clearMyDefaultAdministratorRightsForChannels(): Boolean = clearMyDefaultAdministratorRights(forChannels = true)
|
||||
public suspend fun TelegramBot.clearMyDefaultAdministratorRightsForChannels(): Unit = clearMyDefaultAdministratorRights(forChannels = true)
|
||||
|
||||
public suspend fun TelegramBot.clearMyDefaultAdministratorRightsForGroupsAndSupergroups(): Boolean = clearMyDefaultAdministratorRights(forChannels = false)
|
||||
public suspend fun TelegramBot.clearMyDefaultAdministratorRightsForGroupsAndSupergroups(): Unit = clearMyDefaultAdministratorRights(forChannels = false)
|
||||
|
||||
@@ -9,9 +9,9 @@ import dev.inmo.tgbotapi.types.commands.BotCommandScopeDefault
|
||||
public suspend fun TelegramBot.deleteMyCommands(
|
||||
scope: BotCommandScope = BotCommandScopeDefault,
|
||||
languageCode: IetfLang?
|
||||
): Boolean = execute(DeleteMyCommands(scope, languageCode))
|
||||
): Unit = execute(DeleteMyCommands(scope, languageCode))
|
||||
|
||||
public suspend fun TelegramBot.deleteMyCommands(
|
||||
scope: BotCommandScope = BotCommandScopeDefault,
|
||||
languageCode: String? = null
|
||||
): Boolean = deleteMyCommands(scope, languageCode ?.let(::IetfLang))
|
||||
): Unit = deleteMyCommands(scope, languageCode ?.let(::IetfLang))
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
package dev.inmo.tgbotapi.extensions.api.bot
|
||||
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.bot.RemoveMyProfilePhoto
|
||||
|
||||
public suspend fun TelegramBot.removeMyProfilePhoto(): Unit = execute(RemoveMyProfilePhoto)
|
||||
@@ -11,22 +11,22 @@ public suspend fun TelegramBot.setMyCommands(
|
||||
commands: List<BotCommand>,
|
||||
scope: BotCommandScope = BotCommandScopeDefault,
|
||||
languageCode: IetfLang?
|
||||
): Boolean = execute(SetMyCommands(commands, scope, languageCode))
|
||||
): Unit = execute(SetMyCommands(commands, scope, languageCode))
|
||||
|
||||
public suspend fun TelegramBot.setMyCommands(
|
||||
vararg commands: BotCommand,
|
||||
scope: BotCommandScope = BotCommandScopeDefault,
|
||||
languageCode: IetfLang?
|
||||
): Boolean = setMyCommands(commands.toList(), scope, languageCode)
|
||||
): Unit = setMyCommands(commands.toList(), scope, languageCode)
|
||||
|
||||
public suspend fun TelegramBot.setMyCommands(
|
||||
commands: List<BotCommand>,
|
||||
scope: BotCommandScope = BotCommandScopeDefault,
|
||||
languageCode: String? = null
|
||||
): Boolean = setMyCommands(commands, scope, languageCode ?.let(::IetfLang))
|
||||
): Unit = setMyCommands(commands, scope, languageCode ?.let(::IetfLang))
|
||||
|
||||
public suspend fun TelegramBot.setMyCommands(
|
||||
vararg commands: BotCommand,
|
||||
scope: BotCommandScope = BotCommandScopeDefault,
|
||||
languageCode: String? = null
|
||||
): Boolean = setMyCommands(commands.toList(), scope, languageCode)
|
||||
): Unit = setMyCommands(commands.toList(), scope, languageCode)
|
||||
|
||||
@@ -7,12 +7,12 @@ import dev.inmo.tgbotapi.types.chat.member.ChatCommonAdministratorRights
|
||||
public suspend fun TelegramBot.setMyDefaultAdministratorRights(
|
||||
rights: ChatCommonAdministratorRights,
|
||||
forChannels: Boolean? = null
|
||||
): Boolean = execute(SetMyDefaultAdministratorRights(rights, forChannels))
|
||||
): Unit = execute(SetMyDefaultAdministratorRights(rights, forChannels))
|
||||
|
||||
public suspend fun TelegramBot.setMyDefaultAdministratorRightsForChannels(
|
||||
rights: ChatCommonAdministratorRights
|
||||
): Boolean = setMyDefaultAdministratorRights(rights, forChannels = true)
|
||||
): Unit = setMyDefaultAdministratorRights(rights, forChannels = true)
|
||||
|
||||
public suspend fun TelegramBot.setMyDefaultAdministratorRightsForGroupsAndSupergroups(
|
||||
rights: ChatCommonAdministratorRights
|
||||
): Boolean = setMyDefaultAdministratorRights(rights, forChannels = false)
|
||||
): Unit = setMyDefaultAdministratorRights(rights, forChannels = false)
|
||||
|
||||
@@ -11,9 +11,9 @@ import dev.inmo.tgbotapi.types.commands.BotCommandScopeDefault
|
||||
public suspend fun TelegramBot.setMyDescription(
|
||||
description: String? = null,
|
||||
languageCode: IetfLang? = null
|
||||
): Boolean = execute(SetMyDescription(description, languageCode))
|
||||
): Unit = execute(SetMyDescription(description, languageCode))
|
||||
|
||||
public suspend fun TelegramBot.setMyDescription(
|
||||
description: String?,
|
||||
languageCode: String?
|
||||
): Boolean = setMyDescription(description, languageCode ?.let(::IetfLang))
|
||||
): Unit = setMyDescription(description, languageCode ?.let(::IetfLang))
|
||||
|
||||
@@ -11,9 +11,9 @@ import dev.inmo.tgbotapi.types.commands.BotCommandScopeDefault
|
||||
public suspend fun TelegramBot.setMyName(
|
||||
name: String? = null,
|
||||
languageCode: IetfLang? = null
|
||||
): Boolean = execute(SetMyName(name, languageCode))
|
||||
): Unit = execute(SetMyName(name, languageCode))
|
||||
|
||||
public suspend fun TelegramBot.setMyName(
|
||||
name: String?,
|
||||
languageCode: String?
|
||||
): Boolean = setMyName(name, languageCode ?.let(::IetfLang))
|
||||
): Unit = setMyName(name, languageCode ?.let(::IetfLang))
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package dev.inmo.tgbotapi.extensions.api.bot
|
||||
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.bot.SetMyProfilePhoto
|
||||
import dev.inmo.tgbotapi.requests.business_connection.InputProfilePhoto
|
||||
|
||||
public suspend fun TelegramBot.setMyProfilePhoto(
|
||||
photo: InputProfilePhoto
|
||||
): Unit = execute(SetMyProfilePhoto(photo))
|
||||
@@ -7,9 +7,9 @@ import dev.inmo.tgbotapi.requests.bot.SetMyShortDescription
|
||||
public suspend fun TelegramBot.setMyShortDescription(
|
||||
shortDescription: String? = null,
|
||||
languageCode: IetfLang? = null
|
||||
): Boolean = execute(SetMyShortDescription(shortDescription, languageCode))
|
||||
): Unit = execute(SetMyShortDescription(shortDescription, languageCode))
|
||||
|
||||
public suspend fun TelegramBot.setMyShortDescription(
|
||||
shortDescription: String?,
|
||||
languageCode: String?
|
||||
): Boolean = setMyShortDescription(shortDescription, languageCode ?.let(::IetfLang))
|
||||
): Unit = setMyShortDescription(shortDescription, languageCode ?.let(::IetfLang))
|
||||
|
||||
@@ -11,14 +11,14 @@ import dev.inmo.tgbotapi.types.gifts.Gift
|
||||
public suspend fun TelegramBot.convertGiftToStars(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
ownedGiftId: GiftId
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
ConvertGiftToStars(businessConnectionId, ownedGiftId)
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.convertGiftToStars(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
gift: Gift.Regular
|
||||
): Boolean = convertGiftToStars(
|
||||
): Unit = convertGiftToStars(
|
||||
businessConnectionId = businessConnectionId,
|
||||
ownedGiftId = with(gift) {id}
|
||||
)
|
||||
|
||||
@@ -15,6 +15,6 @@ public suspend fun TelegramBot.deleteBusinessMessages(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
@GenerationVariant(List::class, "messages.map { it.messageId }", "messages", AccessibleMessage::class)
|
||||
messageIds: List<MessageId>
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
DeleteBusinessMessages(businessConnectionId, messageIds)
|
||||
)
|
||||
|
||||
@@ -10,7 +10,7 @@ import kotlin.Boolean
|
||||
import kotlin.collections.List
|
||||
|
||||
public suspend fun TelegramBot.deleteBusinessMessages(businessConnectionId: BusinessConnectionId,
|
||||
messages: List<AccessibleMessage>): Boolean = deleteBusinessMessages(
|
||||
messages: List<AccessibleMessage>): Unit = deleteBusinessMessages(
|
||||
businessConnectionId = businessConnectionId, messageIds = with(messages) {messages.map {
|
||||
it.messageId }}
|
||||
)
|
||||
|
||||
@@ -4,7 +4,8 @@ import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.business_connection.GetBusinessAccountGifts
|
||||
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||
import dev.inmo.tgbotapi.types.OwnedGifts
|
||||
import dev.inmo.tgbotapi.types.gifts.GiftSentOrReceived
|
||||
import dev.inmo.tgbotapi.types.gifts.GiftSentOrReceivedEvent
|
||||
import dev.inmo.tgbotapi.types.gifts.OwnedGift
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.flow
|
||||
import kotlin.runCatching
|
||||
@@ -14,19 +15,23 @@ public suspend fun TelegramBot.getBusinessAccountGifts(
|
||||
excludeUnsaved: Boolean = false,
|
||||
excludeSaved: Boolean = false,
|
||||
excludeUnlimited: Boolean = false,
|
||||
excludeLimited: Boolean = false,
|
||||
excludeLimitedUpgradable: Boolean = false,
|
||||
excludeLimitedNonUpgradable: Boolean = false,
|
||||
excludeUnique: Boolean = false,
|
||||
excludeFromBlockchain: Boolean = false,
|
||||
sortByPrice: Boolean = false,
|
||||
offset: String? = null,
|
||||
limit: Int? = null
|
||||
): OwnedGifts<GiftSentOrReceived.ReceivedInBusinessAccount> = execute(
|
||||
): OwnedGifts<OwnedGift.OwnedByBusinessAccount> = execute(
|
||||
GetBusinessAccountGifts(
|
||||
businessConnectionId,
|
||||
excludeUnsaved,
|
||||
excludeSaved,
|
||||
excludeUnlimited,
|
||||
excludeLimited,
|
||||
excludeLimitedUpgradable,
|
||||
excludeLimitedNonUpgradable,
|
||||
excludeUnique,
|
||||
excludeFromBlockchain,
|
||||
sortByPrice,
|
||||
offset,
|
||||
limit
|
||||
@@ -43,8 +48,10 @@ public suspend fun TelegramBot.getBusinessAccountGifts(
|
||||
* @param excludeUnsaved Whether to exclude unsaved gifts
|
||||
* @param excludeSaved Whether to exclude saved gifts
|
||||
* @param excludeUnlimited Whether to exclude unlimited gifts
|
||||
* @param excludeLimited Whether to exclude limited gifts
|
||||
* @param excludeLimitedUpgradable Whether to exclude limited upgradable gifts
|
||||
* @param excludeLimitedNonUpgradable Whether to exclude limited non-upgradable gifts
|
||||
* @param excludeUnique Whether to exclude unique gifts
|
||||
* @param excludeFromBlockchain Whether to exclude gifts from blockchain
|
||||
* @param sortByPrice Whether to sort gifts by price
|
||||
* @param initialOffset The initial offset to start fetching from. If null, starts from the beginning
|
||||
* @param limit The maximum number of gifts to fetch per request
|
||||
@@ -57,13 +64,15 @@ public fun TelegramBot.getBusinessAccountGiftsFlow(
|
||||
excludeUnsaved: Boolean = false,
|
||||
excludeSaved: Boolean = false,
|
||||
excludeUnlimited: Boolean = false,
|
||||
excludeLimited: Boolean = false,
|
||||
excludeLimitedUpgradable: Boolean = false,
|
||||
excludeLimitedNonUpgradable: Boolean = false,
|
||||
excludeUnique: Boolean = false,
|
||||
excludeFromBlockchain: Boolean = false,
|
||||
sortByPrice: Boolean = false,
|
||||
initialOffset: String? = null,
|
||||
limit: Int? = null,
|
||||
onErrorContinueChecker: suspend (Throwable?) -> Boolean = { false }
|
||||
): Flow<OwnedGifts<GiftSentOrReceived.ReceivedInBusinessAccount>> = flow {
|
||||
): Flow<OwnedGifts<OwnedGift.OwnedByBusinessAccount>> = flow {
|
||||
var currentOffset = initialOffset
|
||||
do {
|
||||
val response = runCatching {
|
||||
@@ -72,8 +81,10 @@ public fun TelegramBot.getBusinessAccountGiftsFlow(
|
||||
excludeUnsaved,
|
||||
excludeSaved,
|
||||
excludeUnlimited,
|
||||
excludeLimited,
|
||||
excludeLimitedUpgradable,
|
||||
excludeLimitedNonUpgradable,
|
||||
excludeUnique,
|
||||
excludeFromBlockchain,
|
||||
sortByPrice,
|
||||
currentOffset,
|
||||
limit
|
||||
|
||||
@@ -17,11 +17,11 @@ public suspend fun TelegramBot.readBusinessMessage(
|
||||
@GenerationVariant(Chat::class, "chat.id.toChatId()", "chat")
|
||||
chatId: ChatId,
|
||||
messageId: MessageId
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
ReadBusinessMessage(businessConnectionId, chatId, messageId)
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.readBusinessMessage(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
message: AccessibleMessage
|
||||
): Boolean = readBusinessMessage(businessConnectionId, message.chat.id.toChatId(), message.messageId)
|
||||
): Unit = readBusinessMessage(businessConnectionId, message.chat.id.toChatId(), message.messageId)
|
||||
@@ -14,7 +14,7 @@ public suspend fun TelegramBot.readBusinessMessage(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
chat: Chat,
|
||||
messageId: MessageId,
|
||||
): Boolean = readBusinessMessage(
|
||||
): Unit = readBusinessMessage(
|
||||
businessConnectionId = businessConnectionId, chatId = with(chat) {chat.id.toChatId()}, messageId
|
||||
= messageId
|
||||
)
|
||||
|
||||
@@ -7,6 +7,6 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||
public suspend fun TelegramBot.removeBusinessAccountProfilePhoto(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
isPublic: Boolean = false
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
RemoveBusinessAccountProfilePhoto(businessConnectionId = businessConnectionId, isPublic = isPublic)
|
||||
)
|
||||
@@ -7,6 +7,6 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||
public suspend fun TelegramBot.setBusinessAccountBio(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
bio: String
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
SetBusinessAccountBio(businessConnectionId, bio)
|
||||
)
|
||||
@@ -13,7 +13,7 @@ public suspend fun TelegramBot.setBusinessAccountGiftSettings(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
showGiftButton: Boolean,
|
||||
acceptedGiftTypes: AcceptedGiftTypes
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
SetBusinessAccountGiftSettings(
|
||||
businessConnectionId = businessConnectionId,
|
||||
showGiftButton = showGiftButton,
|
||||
@@ -28,7 +28,7 @@ public suspend fun TelegramBot.setBusinessAccountGiftSettings(
|
||||
message: BusinessContentMessage<*>,
|
||||
showGiftButton: Boolean,
|
||||
acceptedGiftTypes: AcceptedGiftTypes
|
||||
): Boolean = setBusinessAccountGiftSettings(
|
||||
): Unit = setBusinessAccountGiftSettings(
|
||||
businessConnectionId = message.businessConnectionId,
|
||||
showGiftButton = showGiftButton,
|
||||
acceptedGiftTypes = acceptedGiftTypes
|
||||
|
||||
@@ -8,6 +8,6 @@ public suspend fun TelegramBot.setBusinessAccountName(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
firstName: String,
|
||||
lastName: String? = null
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
SetBusinessAccountName(businessConnectionId, firstName, lastName)
|
||||
)
|
||||
@@ -9,6 +9,6 @@ public suspend fun TelegramBot.setBusinessAccountProfilePhoto(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
photo: InputProfilePhoto,
|
||||
isPublic: Boolean = false
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
SetBusinessAccountProfilePhoto(businessConnectionId, photo, isPublic)
|
||||
)
|
||||
@@ -7,11 +7,9 @@ import dev.inmo.tgbotapi.requests.business_connection.SetBusinessAccountUsername
|
||||
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||
import dev.inmo.tgbotapi.types.Username
|
||||
|
||||
@GenerateVariations
|
||||
public suspend fun TelegramBot.setBusinessAccountUsername(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
@GenerationVariant(String::class, "Username(username)", "username")
|
||||
username: Username
|
||||
): Boolean = execute(
|
||||
username: Username? = null
|
||||
): Unit = execute(
|
||||
SetBusinessAccountUsername(businessConnectionId, username)
|
||||
)
|
||||
@@ -9,8 +9,10 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||
import kotlin.Boolean
|
||||
import kotlin.String
|
||||
|
||||
public suspend
|
||||
fun TelegramBot.setBusinessAccountUsername(businessConnectionId: BusinessConnectionId,
|
||||
username: String): Boolean = setBusinessAccountUsername(
|
||||
businessConnectionId = businessConnectionId, username = with(username) { Username.prepare(username) }
|
||||
public suspend fun TelegramBot.setBusinessAccountUsername(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
username: String?
|
||||
): Unit = setBusinessAccountUsername(
|
||||
businessConnectionId = businessConnectionId,
|
||||
username = username ?.let { Username.prepare(username) }
|
||||
)
|
||||
|
||||
@@ -7,6 +7,6 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||
public suspend fun TelegramBot.transferBusinessAccountStars(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
amount: Int
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
TransferBusinessAccountStars(businessConnectionId, amount)
|
||||
)
|
||||
@@ -21,7 +21,7 @@ public suspend fun TelegramBot.transferGift(
|
||||
ownedGiftId: GiftId,
|
||||
newOwnerChatId: ChatId,
|
||||
transferPaymentStarCount: Int? = null,
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
TransferGift(
|
||||
businessConnectionId = businessConnectionId,
|
||||
ownedGiftId = ownedGiftId,
|
||||
@@ -35,7 +35,7 @@ public suspend fun TelegramBot.transferGift(
|
||||
gift: Gift.Regular,
|
||||
newOwnerChatId: ChatId,
|
||||
transferPaymentStarCount: Int? = null,
|
||||
): Boolean = transferGift(
|
||||
): Unit = transferGift(
|
||||
businessConnectionId = businessConnectionId,
|
||||
ownedGiftId = gift.id,
|
||||
newOwnerChatId = newOwnerChatId,
|
||||
|
||||
@@ -19,7 +19,7 @@ public suspend fun TelegramBot.convertGiftToStars(
|
||||
ownedGiftId: GiftId,
|
||||
keepOriginalDetails: Boolean = false,
|
||||
starCount: Int? = null
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
UpgradeGift(
|
||||
businessConnectionId = businessConnectionId,
|
||||
ownedGiftId = ownedGiftId,
|
||||
@@ -32,7 +32,7 @@ public suspend fun TelegramBot.convertGiftToStars(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
gift: Gift.Regular,
|
||||
keepOriginalDetails: Boolean = false,
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
UpgradeGift(
|
||||
businessConnectionId = businessConnectionId,
|
||||
ownedGiftId = gift.id,
|
||||
|
||||
@@ -7,8 +7,8 @@ import dev.inmo.tgbotapi.types.chat.PublicChat
|
||||
|
||||
public suspend fun TelegramBot.leaveChat(
|
||||
chatId: ChatIdentifier
|
||||
): Boolean = execute(LeaveChat(chatId))
|
||||
): Unit = execute(LeaveChat(chatId))
|
||||
|
||||
public suspend fun TelegramBot.leaveChat(
|
||||
chat: PublicChat
|
||||
): Boolean = leaveChat(chat.id)
|
||||
): Unit = leaveChat(chat.id)
|
||||
|
||||
@@ -10,7 +10,7 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
public suspend fun TelegramBot.closeForumTopic(
|
||||
chatId: ChatIdentifier,
|
||||
messageThreadId: MessageThreadId
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
CloseForumTopic(
|
||||
chatId,
|
||||
messageThreadId
|
||||
@@ -20,9 +20,9 @@ public suspend fun TelegramBot.closeForumTopic(
|
||||
public suspend fun TelegramBot.closeForumTopic(
|
||||
chat: Chat,
|
||||
messageThreadId: MessageThreadId
|
||||
): Boolean = closeForumTopic(chat.id, messageThreadId)
|
||||
): Unit = closeForumTopic(chat.id, messageThreadId)
|
||||
|
||||
public suspend fun TelegramBot.closeForumTopic(
|
||||
chat: Chat,
|
||||
forumTopic: ForumTopic
|
||||
): Boolean = closeForumTopic(chat.id, forumTopic.messageThreadId)
|
||||
): Unit = closeForumTopic(chat.id, forumTopic.messageThreadId)
|
||||
|
||||
@@ -10,10 +10,10 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
|
||||
public suspend fun TelegramBot.closeGeneralForumTopic(
|
||||
chatId: ChatIdentifier
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
CloseGeneralForumTopic(chatId)
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.closeGeneralForumTopic(
|
||||
chat: Chat
|
||||
): Boolean = closeGeneralForumTopic(chat.id)
|
||||
): Unit = closeGeneralForumTopic(chat.id)
|
||||
|
||||
@@ -10,7 +10,7 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
public suspend fun TelegramBot.deleteForumTopic(
|
||||
chatId: ChatIdentifier,
|
||||
messageThreadId: MessageThreadId
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
DeleteForumTopic(
|
||||
chatId,
|
||||
messageThreadId
|
||||
@@ -20,14 +20,14 @@ public suspend fun TelegramBot.deleteForumTopic(
|
||||
public suspend fun TelegramBot.deleteForumTopic(
|
||||
chatId: ChatIdentifier,
|
||||
forumTopic: ForumTopic
|
||||
): Boolean = deleteForumTopic(chatId, forumTopic.messageThreadId)
|
||||
): Unit = deleteForumTopic(chatId, forumTopic.messageThreadId)
|
||||
|
||||
public suspend fun TelegramBot.deleteForumTopic(
|
||||
chat: Chat,
|
||||
messageThreadId: MessageThreadId
|
||||
): Boolean = deleteForumTopic(chat.id, messageThreadId)
|
||||
): Unit = deleteForumTopic(chat.id, messageThreadId)
|
||||
|
||||
public suspend fun TelegramBot.deleteForumTopic(
|
||||
chat: Chat,
|
||||
forumTopic: ForumTopic
|
||||
): Boolean = deleteForumTopic(chat.id, forumTopic.messageThreadId)
|
||||
): Unit = deleteForumTopic(chat.id, forumTopic.messageThreadId)
|
||||
|
||||
@@ -13,7 +13,7 @@ public suspend fun TelegramBot.editForumTopic(
|
||||
messageThreadId: MessageThreadId,
|
||||
name: String? = null,
|
||||
iconEmojiId: CustomEmojiId? = null
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
EditForumTopic(
|
||||
chatId,
|
||||
messageThreadId,
|
||||
@@ -27,10 +27,10 @@ public suspend fun TelegramBot.editForumTopic(
|
||||
messageThreadId: MessageThreadId,
|
||||
name: String? = null,
|
||||
iconEmojiId: CustomEmojiId? = null
|
||||
): Boolean = editForumTopic(chat.id, messageThreadId, name, iconEmojiId)
|
||||
): Unit = editForumTopic(chat.id, messageThreadId, name, iconEmojiId)
|
||||
|
||||
public suspend fun TelegramBot.editForumTopic(
|
||||
chatIdentifier: ChatIdentifier,
|
||||
forumTopic: ForumTopic,
|
||||
iconEmojiId: CustomEmojiId? = forumTopic.iconEmojiId
|
||||
): Boolean = editForumTopic(chatIdentifier, forumTopic.messageThreadId, forumTopic.name, iconEmojiId)
|
||||
): Unit = editForumTopic(chatIdentifier, forumTopic.messageThreadId, forumTopic.name, iconEmojiId)
|
||||
|
||||
@@ -12,7 +12,7 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
public suspend fun TelegramBot.editGeneralForumTopic(
|
||||
chatId: ChatIdentifier,
|
||||
name: String
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
EditGeneralForumTopic(
|
||||
chatId,
|
||||
name
|
||||
@@ -22,9 +22,9 @@ public suspend fun TelegramBot.editGeneralForumTopic(
|
||||
public suspend fun TelegramBot.editGeneralForumTopic(
|
||||
chat: Chat,
|
||||
name: String
|
||||
): Boolean = editGeneralForumTopic(chat.id, name)
|
||||
): Unit = editGeneralForumTopic(chat.id, name)
|
||||
|
||||
public suspend fun TelegramBot.editGeneralForumTopic(
|
||||
chatIdentifier: ChatIdentifier,
|
||||
forumTopic: ForumTopic,
|
||||
): Boolean = editGeneralForumTopic(chatIdentifier, forumTopic.name)
|
||||
): Unit = editGeneralForumTopic(chatIdentifier, forumTopic.name)
|
||||
|
||||
@@ -11,10 +11,10 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
|
||||
public suspend fun TelegramBot.hideGeneralForumTopic(
|
||||
chatId: ChatIdentifier
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
HideGeneralForumTopic(chatId)
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.hideGeneralForumTopic(
|
||||
chat: Chat
|
||||
): Boolean = hideGeneralForumTopic(chat.id)
|
||||
): Unit = hideGeneralForumTopic(chat.id)
|
||||
|
||||
@@ -10,7 +10,7 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
public suspend fun TelegramBot.reopenForumTopic(
|
||||
chatId: ChatIdentifier,
|
||||
messageThreadId: MessageThreadId
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
ReopenForumTopic(
|
||||
chatId,
|
||||
messageThreadId
|
||||
@@ -20,9 +20,9 @@ public suspend fun TelegramBot.reopenForumTopic(
|
||||
public suspend fun TelegramBot.reopenForumTopic(
|
||||
chat: Chat,
|
||||
messageThreadId: MessageThreadId
|
||||
): Boolean = reopenForumTopic(chat.id, messageThreadId)
|
||||
): Unit = reopenForumTopic(chat.id, messageThreadId)
|
||||
|
||||
public suspend fun TelegramBot.reopenForumTopic(
|
||||
chat: Chat,
|
||||
forumTopic: ForumTopic
|
||||
): Boolean = reopenForumTopic(chat.id, forumTopic.messageThreadId)
|
||||
): Unit = reopenForumTopic(chat.id, forumTopic.messageThreadId)
|
||||
|
||||
@@ -10,10 +10,10 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
|
||||
public suspend fun TelegramBot.reopenGeneralForumTopic(
|
||||
chatId: ChatIdentifier
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
ReopenGeneralForumTopic(chatId)
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.reopenGeneralForumTopic(
|
||||
chat: Chat
|
||||
): Boolean = reopenGeneralForumTopic(chat.id)
|
||||
): Unit = reopenGeneralForumTopic(chat.id)
|
||||
|
||||
@@ -12,10 +12,10 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
|
||||
public suspend fun TelegramBot.unhideGeneralForumTopic(
|
||||
chatId: ChatIdentifier
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
UnhideGeneralForumTopic(chatId)
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.unhideGeneralForumTopic(
|
||||
chat: Chat
|
||||
): Boolean = unhideGeneralForumTopic(chat.id)
|
||||
): Unit = unhideGeneralForumTopic(chat.id)
|
||||
|
||||
@@ -10,7 +10,7 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
public suspend fun TelegramBot.unpinAllForumTopicMessages(
|
||||
chatId: ChatIdentifier,
|
||||
messageThreadId: MessageThreadId
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
UnpinAllForumTopicMessages(
|
||||
chatId,
|
||||
messageThreadId
|
||||
@@ -20,9 +20,9 @@ public suspend fun TelegramBot.unpinAllForumTopicMessages(
|
||||
public suspend fun TelegramBot.unpinAllForumTopicMessages(
|
||||
chat: Chat,
|
||||
messageThreadId: MessageThreadId
|
||||
): Boolean = unpinAllForumTopicMessages(chat.id, messageThreadId)
|
||||
): Unit = unpinAllForumTopicMessages(chat.id, messageThreadId)
|
||||
|
||||
public suspend fun TelegramBot.unpinAllForumTopicMessages(
|
||||
chat: Chat,
|
||||
forumTopic: ForumTopic
|
||||
): Boolean = unpinAllForumTopicMessages(chat.id, forumTopic.messageThreadId)
|
||||
): Unit = unpinAllForumTopicMessages(chat.id, forumTopic.messageThreadId)
|
||||
|
||||
@@ -10,7 +10,7 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
|
||||
public suspend fun TelegramBot.unpinAllGeneralForumTopicMessages(
|
||||
chatId: ChatIdentifier
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
UnpinAllGeneralForumTopicMessages(
|
||||
chatId
|
||||
)
|
||||
@@ -18,4 +18,4 @@ public suspend fun TelegramBot.unpinAllGeneralForumTopicMessages(
|
||||
|
||||
public suspend fun TelegramBot.unpinAllGeneralForumTopicMessages(
|
||||
chat: Chat
|
||||
): Boolean = unpinAllGeneralForumTopicMessages(chat.id)
|
||||
): Unit = unpinAllGeneralForumTopicMessages(chat.id)
|
||||
|
||||
@@ -117,6 +117,17 @@ public suspend fun TelegramBot.getChat(
|
||||
chat: PrivateChatImpl
|
||||
): ExtendedPrivateChatImpl = getChat(chat.id) as ExtendedPrivateChatImpl
|
||||
|
||||
/**
|
||||
* Will cast incoming [dev.inmo.tgbotapi.types.chat.ExtendedChat] to a
|
||||
* [ExtendedPrivateForumChatImpl] with unsafe operator "as"
|
||||
*
|
||||
* @throws ClassCastException
|
||||
*/
|
||||
@PreviewFeature
|
||||
public suspend fun TelegramBot.getChat(
|
||||
chat: PrivateForumChatImpl
|
||||
): ExtendedPrivateForumChatImpl = getChat(chat.id) as ExtendedPrivateForumChatImpl
|
||||
|
||||
/**
|
||||
* Will cast incoming [dev.inmo.tgbotapi.types.chat.ExtendedChat] to a
|
||||
* [ExtendedUser] with unsafe operator "as"
|
||||
|
||||
@@ -12,31 +12,31 @@ import dev.inmo.tgbotapi.types.update.ChatJoinRequestUpdate
|
||||
public suspend fun TelegramBot.approveChatJoinRequest(
|
||||
chatId: ChatIdentifier,
|
||||
userId: UserId
|
||||
): Boolean = execute(ApproveChatJoinRequest(chatId, userId))
|
||||
): Unit = execute(ApproveChatJoinRequest(chatId, userId))
|
||||
|
||||
public suspend fun TelegramBot.approveChatJoinRequest(
|
||||
chat: PublicChat,
|
||||
userId: UserId
|
||||
): Boolean = approveChatJoinRequest(chat.id, userId)
|
||||
): Unit = approveChatJoinRequest(chat.id, userId)
|
||||
|
||||
public suspend fun TelegramBot.approveChatJoinRequest(
|
||||
chatId: ChatIdentifier,
|
||||
user: User
|
||||
): Boolean = approveChatJoinRequest(chatId, user.id)
|
||||
): Unit = approveChatJoinRequest(chatId, user.id)
|
||||
|
||||
public suspend fun TelegramBot.approveChatJoinRequest(
|
||||
chat: PublicChat,
|
||||
user: User
|
||||
): Boolean = approveChatJoinRequest(chat.id, user.id)
|
||||
): Unit = approveChatJoinRequest(chat.id, user.id)
|
||||
|
||||
public suspend fun TelegramBot.approveChatJoinRequest(
|
||||
chatJoinRequest: ChatJoinRequest
|
||||
): Boolean = approveChatJoinRequest(chatJoinRequest.chat, chatJoinRequest.user)
|
||||
): Unit = approveChatJoinRequest(chatJoinRequest.chat, chatJoinRequest.user)
|
||||
|
||||
public suspend fun TelegramBot.approve(
|
||||
chatJoinRequest: ChatJoinRequest
|
||||
): Boolean = approveChatJoinRequest(chatJoinRequest)
|
||||
): Unit = approveChatJoinRequest(chatJoinRequest)
|
||||
|
||||
public suspend fun TelegramBot.approveChatJoinRequest(
|
||||
chatJoinRequestUpdate: ChatJoinRequestUpdate
|
||||
): Boolean = approveChatJoinRequest(chatJoinRequestUpdate.data)
|
||||
): Unit = approveChatJoinRequest(chatJoinRequestUpdate.data)
|
||||
|
||||
@@ -12,31 +12,31 @@ import dev.inmo.tgbotapi.types.update.ChatJoinRequestUpdate
|
||||
public suspend fun TelegramBot.declineChatJoinRequest(
|
||||
chatId: ChatIdentifier,
|
||||
userId: UserId
|
||||
): Boolean = execute(DeclineChatJoinRequest(chatId, userId))
|
||||
): Unit = execute(DeclineChatJoinRequest(chatId, userId))
|
||||
|
||||
public suspend fun TelegramBot.declineChatJoinRequest(
|
||||
chat: PublicChat,
|
||||
userId: UserId
|
||||
): Boolean = declineChatJoinRequest(chat.id, userId)
|
||||
): Unit = declineChatJoinRequest(chat.id, userId)
|
||||
|
||||
public suspend fun TelegramBot.declineChatJoinRequest(
|
||||
chatId: ChatIdentifier,
|
||||
user: User
|
||||
): Boolean = declineChatJoinRequest(chatId, user.id)
|
||||
): Unit = declineChatJoinRequest(chatId, user.id)
|
||||
|
||||
public suspend fun TelegramBot.declineChatJoinRequest(
|
||||
chat: PublicChat,
|
||||
user: User
|
||||
): Boolean = declineChatJoinRequest(chat.id, user.id)
|
||||
): Unit = declineChatJoinRequest(chat.id, user.id)
|
||||
|
||||
public suspend fun TelegramBot.declineChatJoinRequest(
|
||||
chatJoinRequest: ChatJoinRequest
|
||||
): Boolean = declineChatJoinRequest(chatJoinRequest.chat, chatJoinRequest.user)
|
||||
): Unit = declineChatJoinRequest(chatJoinRequest.chat, chatJoinRequest.user)
|
||||
|
||||
public suspend fun TelegramBot.decline(
|
||||
chatJoinRequest: ChatJoinRequest
|
||||
): Boolean = declineChatJoinRequest(chatJoinRequest)
|
||||
): Unit = declineChatJoinRequest(chatJoinRequest)
|
||||
|
||||
public suspend fun TelegramBot.declineChatJoinRequest(
|
||||
chatJoinRequestUpdate: ChatJoinRequestUpdate
|
||||
): Boolean = declineChatJoinRequest(chatJoinRequestUpdate.data)
|
||||
): Unit = declineChatJoinRequest(chatJoinRequestUpdate.data)
|
||||
|
||||
@@ -14,25 +14,25 @@ public suspend fun TelegramBot.banChatMember(
|
||||
userId: UserId,
|
||||
untilDate: TelegramDate? = null,
|
||||
revokeMessages: Boolean? = null
|
||||
): Boolean = execute(BanChatMember(chatId, userId, untilDate, revokeMessages))
|
||||
): Unit = execute(BanChatMember(chatId, userId, untilDate, revokeMessages))
|
||||
|
||||
public suspend fun TelegramBot.banChatMember(
|
||||
chat: PublicChat,
|
||||
userId: UserId,
|
||||
untilDate: TelegramDate? = null,
|
||||
revokeMessages: Boolean? = null
|
||||
): Boolean = banChatMember(chat.id, userId, untilDate, revokeMessages)
|
||||
): Unit = banChatMember(chat.id, userId, untilDate, revokeMessages)
|
||||
|
||||
public suspend fun TelegramBot.banChatMember(
|
||||
chatId: IdChatIdentifier,
|
||||
user: User,
|
||||
untilDate: TelegramDate? = null,
|
||||
revokeMessages: Boolean? = null
|
||||
): Boolean = banChatMember(chatId, user.id, untilDate, revokeMessages)
|
||||
): Unit = banChatMember(chatId, user.id, untilDate, revokeMessages)
|
||||
|
||||
public suspend fun TelegramBot.banChatMember(
|
||||
chat: PublicChat,
|
||||
user: User,
|
||||
untilDate: TelegramDate? = null,
|
||||
revokeMessages: Boolean? = null
|
||||
): Boolean = banChatMember(chat.id, user.id, untilDate, revokeMessages)
|
||||
): Unit = banChatMember(chat.id, user.id, untilDate, revokeMessages)
|
||||
|
||||
@@ -9,19 +9,19 @@ import dev.inmo.tgbotapi.types.chat.PublicChat
|
||||
public suspend fun TelegramBot.banChatSenderChat(
|
||||
chatId: ChatIdentifier,
|
||||
senderChatId: IdChatIdentifier
|
||||
): Boolean = execute(BanChatSenderChat(chatId, senderChatId))
|
||||
): Unit = execute(BanChatSenderChat(chatId, senderChatId))
|
||||
|
||||
public suspend fun TelegramBot.banChatSenderChat(
|
||||
chat: PublicChat,
|
||||
senderChatId: IdChatIdentifier
|
||||
): Boolean = banChatSenderChat(chat.id, senderChatId)
|
||||
): Unit = banChatSenderChat(chat.id, senderChatId)
|
||||
|
||||
public suspend fun TelegramBot.banChatSenderChat(
|
||||
chatId: IdChatIdentifier,
|
||||
senderChat: PublicChat
|
||||
): Boolean = banChatSenderChat(chatId, senderChat.id)
|
||||
): Unit = banChatSenderChat(chatId, senderChat.id)
|
||||
|
||||
public suspend fun TelegramBot.banChatSenderChat(
|
||||
chat: PublicChat,
|
||||
senderChat: PublicChat,
|
||||
): Boolean = banChatSenderChat(chat.id, senderChat)
|
||||
): Unit = banChatSenderChat(chat.id, senderChat)
|
||||
|
||||
@@ -27,7 +27,7 @@ public suspend fun TelegramBot.promoteChannelAdministrator(
|
||||
canEditStories: Boolean? = null,
|
||||
canDeleteStories: Boolean? = null,
|
||||
canManageDirectMessages: Boolean? = null,
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
PromoteChannelAdministrator(
|
||||
chatId = chatId,
|
||||
userId = userId,
|
||||
@@ -67,7 +67,7 @@ public suspend fun TelegramBot.promoteChannelAdministrator(
|
||||
canEditStories: Boolean? = null,
|
||||
canDeleteStories: Boolean? = null,
|
||||
canManageDirectMessages: Boolean? = null,
|
||||
): Boolean = promoteChannelAdministrator(
|
||||
): Unit = promoteChannelAdministrator(
|
||||
chat.id,
|
||||
userId,
|
||||
untilDate = untilDate,
|
||||
@@ -105,7 +105,7 @@ public suspend fun TelegramBot.promoteChannelAdministrator(
|
||||
canEditStories: Boolean? = null,
|
||||
canDeleteStories: Boolean? = null,
|
||||
canManageDirectMessages: Boolean? = null,
|
||||
): Boolean = promoteChannelAdministrator(
|
||||
): Unit = promoteChannelAdministrator(
|
||||
chatId,
|
||||
user.id,
|
||||
untilDate = untilDate,
|
||||
@@ -143,7 +143,7 @@ public suspend fun TelegramBot.promoteChannelAdministrator(
|
||||
canEditStories: Boolean? = null,
|
||||
canDeleteStories: Boolean? = null,
|
||||
canManageDirectMessages: Boolean? = null,
|
||||
): Boolean = promoteChannelAdministrator(
|
||||
): Unit = promoteChannelAdministrator(
|
||||
chat.id,
|
||||
user.id,
|
||||
untilDate = untilDate,
|
||||
|
||||
@@ -21,19 +21,21 @@ public suspend fun TelegramBot.promoteChatAdministrator(
|
||||
canPromoteMembers: Boolean? = null,
|
||||
canManageVideoChats: Boolean? = null,
|
||||
canManageChat: Boolean? = null,
|
||||
): Boolean = execute(
|
||||
canManageTags: Boolean? = null,
|
||||
): Unit = execute(
|
||||
PromoteChatMember(
|
||||
chatId,
|
||||
userId,
|
||||
untilDate,
|
||||
isAnonymous,
|
||||
canChangeInfo,
|
||||
canDeleteMessages,
|
||||
canInviteUsers,
|
||||
canRestrictMembers,
|
||||
canPromoteMembers,
|
||||
canManageVideoChats,
|
||||
canManageChat
|
||||
chatId = chatId,
|
||||
userId = userId,
|
||||
untilDate = untilDate,
|
||||
isAnonymous = isAnonymous,
|
||||
canChangeInfo = canChangeInfo,
|
||||
canDeleteMessages = canDeleteMessages,
|
||||
canInviteUsers = canInviteUsers,
|
||||
canRestrictMembers = canRestrictMembers,
|
||||
canPromoteMembers = canPromoteMembers,
|
||||
canManageVideoChats = canManageVideoChats,
|
||||
canManageChat = canManageChat,
|
||||
canManageTags = canManageTags
|
||||
)
|
||||
)
|
||||
|
||||
@@ -49,18 +51,20 @@ public suspend fun TelegramBot.promoteChatAdministrator(
|
||||
canPromoteMembers: Boolean? = null,
|
||||
canManageVideoChats: Boolean? = null,
|
||||
canManageChat: Boolean? = null,
|
||||
): Boolean = promoteChatAdministrator(
|
||||
chat.id,
|
||||
userId,
|
||||
untilDate,
|
||||
isAnonymous,
|
||||
canChangeInfo,
|
||||
canDeleteMessages,
|
||||
canInviteUsers,
|
||||
canRestrictMembers,
|
||||
canPromoteMembers,
|
||||
canManageVideoChats,
|
||||
canManageChat
|
||||
canManageTags: Boolean? = null,
|
||||
): Unit = promoteChatAdministrator(
|
||||
chatId = chat.id,
|
||||
userId = userId,
|
||||
untilDate = untilDate,
|
||||
isAnonymous = isAnonymous,
|
||||
canChangeInfo = canChangeInfo,
|
||||
canDeleteMessages = canDeleteMessages,
|
||||
canInviteUsers = canInviteUsers,
|
||||
canRestrictMembers = canRestrictMembers,
|
||||
canPromoteMembers = canPromoteMembers,
|
||||
canManageVideoChats = canManageVideoChats,
|
||||
canManageChat = canManageChat,
|
||||
canManageTags = canManageTags
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.promoteChatAdministrator(
|
||||
@@ -75,18 +79,20 @@ public suspend fun TelegramBot.promoteChatAdministrator(
|
||||
canPromoteMembers: Boolean? = null,
|
||||
canManageVideoChats: Boolean? = null,
|
||||
canManageChat: Boolean? = null,
|
||||
): Boolean = promoteChatAdministrator(
|
||||
chatId,
|
||||
user.id,
|
||||
untilDate,
|
||||
isAnonymous,
|
||||
canChangeInfo,
|
||||
canDeleteMessages,
|
||||
canInviteUsers,
|
||||
canRestrictMembers,
|
||||
canPromoteMembers,
|
||||
canManageVideoChats,
|
||||
canManageChat
|
||||
canManageTags: Boolean? = null,
|
||||
): Unit = promoteChatAdministrator(
|
||||
chatId = chatId,
|
||||
userId = user.id,
|
||||
untilDate = untilDate,
|
||||
isAnonymous = isAnonymous,
|
||||
canChangeInfo = canChangeInfo,
|
||||
canDeleteMessages = canDeleteMessages,
|
||||
canInviteUsers = canInviteUsers,
|
||||
canRestrictMembers = canRestrictMembers,
|
||||
canPromoteMembers = canPromoteMembers,
|
||||
canManageVideoChats = canManageVideoChats,
|
||||
canManageChat = canManageChat,
|
||||
canManageTags = canManageTags
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.promoteChatAdministrator(
|
||||
@@ -101,16 +107,18 @@ public suspend fun TelegramBot.promoteChatAdministrator(
|
||||
canPromoteMembers: Boolean? = null,
|
||||
canManageVideoChats: Boolean? = null,
|
||||
canManageChat: Boolean? = null,
|
||||
): Boolean = promoteChatAdministrator(
|
||||
chat.id,
|
||||
user.id,
|
||||
untilDate,
|
||||
isAnonymous,
|
||||
canChangeInfo,
|
||||
canDeleteMessages,
|
||||
canInviteUsers,
|
||||
canRestrictMembers,
|
||||
canPromoteMembers,
|
||||
canManageVideoChats,
|
||||
canManageChat
|
||||
canManageTags: Boolean? = null,
|
||||
): Unit = promoteChatAdministrator(
|
||||
chatId = chat.id,
|
||||
userId = user.id,
|
||||
untilDate = untilDate,
|
||||
isAnonymous = isAnonymous,
|
||||
canChangeInfo = canChangeInfo,
|
||||
canDeleteMessages = canDeleteMessages,
|
||||
canInviteUsers = canInviteUsers,
|
||||
canRestrictMembers = canRestrictMembers,
|
||||
canPromoteMembers = canPromoteMembers,
|
||||
canManageVideoChats = canManageVideoChats,
|
||||
canManageChat = canManageChat,
|
||||
canManageTags = canManageTags
|
||||
)
|
||||
|
||||
@@ -27,8 +27,9 @@ public suspend fun TelegramBot.promoteChatMember(
|
||||
canPostStories: Boolean? = null,
|
||||
canEditStories: Boolean? = null,
|
||||
canDeleteStories: Boolean? = null,
|
||||
canManageDirectMessages: Boolean? = null
|
||||
): Boolean = execute(
|
||||
canManageDirectMessages: Boolean? = null,
|
||||
canManageTags: Boolean? = null
|
||||
): Unit = execute(
|
||||
PromoteChatMember(
|
||||
chatId = chatId,
|
||||
userId = userId,
|
||||
@@ -49,6 +50,7 @@ public suspend fun TelegramBot.promoteChatMember(
|
||||
canEditStories = canEditStories,
|
||||
canDeleteStories = canDeleteStories,
|
||||
canManageDirectMessages = canManageDirectMessages,
|
||||
canManageTags = canManageTags,
|
||||
)
|
||||
)
|
||||
|
||||
@@ -72,8 +74,9 @@ public suspend fun TelegramBot.promoteChatMember(
|
||||
canPostStories: Boolean? = null,
|
||||
canEditStories: Boolean? = null,
|
||||
canDeleteStories: Boolean? = null,
|
||||
canManageDirectMessages: Boolean? = null
|
||||
): Boolean = promoteChatMember(
|
||||
canManageDirectMessages: Boolean? = null,
|
||||
canManageTags: Boolean? = null
|
||||
): Unit = promoteChatMember(
|
||||
chat.id,
|
||||
userId,
|
||||
untilDate = untilDate,
|
||||
@@ -93,6 +96,7 @@ public suspend fun TelegramBot.promoteChatMember(
|
||||
canEditStories = canEditStories,
|
||||
canDeleteStories = canDeleteStories,
|
||||
canManageDirectMessages = canManageDirectMessages,
|
||||
canManageTags = canManageTags,
|
||||
)
|
||||
|
||||
@Warning("This method is too common. Use it with caution")
|
||||
@@ -115,8 +119,9 @@ public suspend fun TelegramBot.promoteChatMember(
|
||||
canPostStories: Boolean? = null,
|
||||
canEditStories: Boolean? = null,
|
||||
canDeleteStories: Boolean? = null,
|
||||
canManageDirectMessages: Boolean? = null
|
||||
): Boolean = promoteChatMember(
|
||||
canManageDirectMessages: Boolean? = null,
|
||||
canManageTags: Boolean? = null
|
||||
): Unit = promoteChatMember(
|
||||
chatId,
|
||||
user.id,
|
||||
untilDate = untilDate,
|
||||
@@ -136,6 +141,7 @@ public suspend fun TelegramBot.promoteChatMember(
|
||||
canEditStories = canEditStories,
|
||||
canDeleteStories = canDeleteStories,
|
||||
canManageDirectMessages = canManageDirectMessages,
|
||||
canManageTags = canManageTags,
|
||||
)
|
||||
|
||||
@Warning("This method is too common. Use it with caution")
|
||||
@@ -158,8 +164,9 @@ public suspend fun TelegramBot.promoteChatMember(
|
||||
canPostStories: Boolean? = null,
|
||||
canEditStories: Boolean? = null,
|
||||
canDeleteStories: Boolean? = null,
|
||||
canManageDirectMessages: Boolean? = null
|
||||
): Boolean = promoteChatMember(
|
||||
canManageDirectMessages: Boolean? = null,
|
||||
canManageTags: Boolean? = null
|
||||
): Unit = promoteChatMember(
|
||||
chat.id,
|
||||
user.id,
|
||||
untilDate = untilDate,
|
||||
@@ -179,4 +186,5 @@ public suspend fun TelegramBot.promoteChatMember(
|
||||
canEditStories = canEditStories,
|
||||
canDeleteStories = canDeleteStories,
|
||||
canManageDirectMessages = canManageDirectMessages,
|
||||
canManageTags = canManageTags,
|
||||
)
|
||||
|
||||
@@ -24,7 +24,7 @@ public suspend fun TelegramBot.promoteSupergroupAdministrator(
|
||||
canManageVideoChats: Boolean? = null,
|
||||
canManageChat: Boolean? = null,
|
||||
canManageTopics: Boolean? = null,
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
PromoteSupergroupAdministrator(
|
||||
chatId = chatId,
|
||||
userId = userId,
|
||||
@@ -56,7 +56,7 @@ public suspend fun TelegramBot.promoteSupergroupAdministrator(
|
||||
canManageVideoChats: Boolean? = null,
|
||||
canManageChat: Boolean? = null,
|
||||
canManageTopics: Boolean? = null,
|
||||
): Boolean = promoteSupergroupAdministrator(
|
||||
): Unit = promoteSupergroupAdministrator(
|
||||
chat.id,
|
||||
userId,
|
||||
untilDate = untilDate,
|
||||
@@ -86,7 +86,7 @@ public suspend fun TelegramBot.promoteSupergroupAdministrator(
|
||||
canManageVideoChats: Boolean? = null,
|
||||
canManageChat: Boolean? = null,
|
||||
canManageTopics: Boolean? = null,
|
||||
): Boolean = promoteSupergroupAdministrator(
|
||||
): Unit = promoteSupergroupAdministrator(
|
||||
chatId,
|
||||
user.id,
|
||||
untilDate = untilDate,
|
||||
@@ -116,7 +116,7 @@ public suspend fun TelegramBot.promoteSupergroupAdministrator(
|
||||
canManageVideoChats: Boolean? = null,
|
||||
canManageChat: Boolean? = null,
|
||||
canManageTopics: Boolean? = null,
|
||||
): Boolean = promoteSupergroupAdministrator(
|
||||
): Unit = promoteSupergroupAdministrator(
|
||||
chat.id,
|
||||
user.id,
|
||||
untilDate = untilDate,
|
||||
|
||||
@@ -16,7 +16,7 @@ public suspend fun TelegramBot.restrictChatMember(
|
||||
untilDate: TelegramDate? = null,
|
||||
permissions: ChatPermissions = ChatPermissions(),
|
||||
useIndependentChatPermissions: Boolean? = permissions.isGranular.takeIf { it }
|
||||
): Boolean = execute(RestrictChatMember(chatId, userId, untilDate, permissions, useIndependentChatPermissions))
|
||||
): Unit = execute(RestrictChatMember(chatId, userId, untilDate, permissions, useIndependentChatPermissions))
|
||||
|
||||
public suspend fun TelegramBot.restrictChatMember(
|
||||
chat: PublicChat,
|
||||
@@ -24,7 +24,7 @@ public suspend fun TelegramBot.restrictChatMember(
|
||||
untilDate: TelegramDate? = null,
|
||||
permissions: ChatPermissions = ChatPermissions(),
|
||||
useIndependentChatPermissions: Boolean? = permissions.isGranular.takeIf { it }
|
||||
): Boolean = restrictChatMember(chat.id, userId, untilDate, permissions, useIndependentChatPermissions)
|
||||
): Unit = restrictChatMember(chat.id, userId, untilDate, permissions, useIndependentChatPermissions)
|
||||
|
||||
public suspend fun TelegramBot.restrictChatMember(
|
||||
chatId: IdChatIdentifier,
|
||||
@@ -32,7 +32,7 @@ public suspend fun TelegramBot.restrictChatMember(
|
||||
untilDate: TelegramDate? = null,
|
||||
permissions: ChatPermissions = ChatPermissions(),
|
||||
useIndependentChatPermissions: Boolean? = permissions.isGranular.takeIf { it }
|
||||
): Boolean = restrictChatMember(chatId, user.id, untilDate, permissions, useIndependentChatPermissions)
|
||||
): Unit = restrictChatMember(chatId, user.id, untilDate, permissions, useIndependentChatPermissions)
|
||||
|
||||
public suspend fun TelegramBot.restrictChatMember(
|
||||
chat: PublicChat,
|
||||
@@ -40,5 +40,5 @@ public suspend fun TelegramBot.restrictChatMember(
|
||||
untilDate: TelegramDate? = null,
|
||||
permissions: ChatPermissions = ChatPermissions(),
|
||||
useIndependentChatPermissions: Boolean? = permissions.isGranular.takeIf { it }
|
||||
): Boolean = restrictChatMember(chat.id, user.id, untilDate, permissions, useIndependentChatPermissions)
|
||||
): Unit = restrictChatMember(chat.id, user.id, untilDate, permissions, useIndependentChatPermissions)
|
||||
|
||||
|
||||
@@ -11,22 +11,22 @@ public suspend fun TelegramBot.setChatAdministratorCustomTitle(
|
||||
chatId: IdChatIdentifier,
|
||||
userId: UserId,
|
||||
customTitle: String
|
||||
): Boolean = execute(SetChatAdministratorCustomTitle(chatId, userId, customTitle))
|
||||
): Unit = execute(SetChatAdministratorCustomTitle(chatId, userId, customTitle))
|
||||
|
||||
public suspend fun TelegramBot.setChatAdministratorCustomTitle(
|
||||
chat: PublicChat,
|
||||
userId: UserId,
|
||||
customTitle: String
|
||||
): Boolean = setChatAdministratorCustomTitle(chat.id, userId, customTitle)
|
||||
): Unit = setChatAdministratorCustomTitle(chat.id, userId, customTitle)
|
||||
|
||||
public suspend fun TelegramBot.setChatAdministratorCustomTitle(
|
||||
chatId: IdChatIdentifier,
|
||||
user: User,
|
||||
customTitle: String
|
||||
): Boolean = setChatAdministratorCustomTitle(chatId, user.id, customTitle)
|
||||
): Unit = setChatAdministratorCustomTitle(chatId, user.id, customTitle)
|
||||
|
||||
public suspend fun TelegramBot.setChatAdministratorCustomTitle(
|
||||
chat: PublicChat,
|
||||
user: User,
|
||||
customTitle: String
|
||||
): Boolean = setChatAdministratorCustomTitle(chat.id, user.id, customTitle)
|
||||
): Unit = setChatAdministratorCustomTitle(chat.id, user.id, customTitle)
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package dev.inmo.tgbotapi.extensions.api.chat.members
|
||||
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.chat.members.SetChatMemberTag
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.PublicChat
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
|
||||
public suspend fun TelegramBot.setChatMemberTag(
|
||||
chatId: ChatIdentifier,
|
||||
userId: UserId,
|
||||
tag: UserTag? = null
|
||||
): Unit = execute(SetChatMemberTag(chatId, userId, tag))
|
||||
|
||||
public suspend fun TelegramBot.setChatMemberTag(
|
||||
chat: PublicChat,
|
||||
userId: UserId,
|
||||
tag: UserTag? = null
|
||||
): Unit = setChatMemberTag(chat.id, userId, tag)
|
||||
|
||||
public suspend fun TelegramBot.setChatMemberTag(
|
||||
chatId: ChatIdentifier,
|
||||
user: User,
|
||||
tag: UserTag? = null
|
||||
): Unit = setChatMemberTag(chatId, user.id, tag)
|
||||
|
||||
public suspend fun TelegramBot.setChatMemberTag(
|
||||
chat: PublicChat,
|
||||
user: User,
|
||||
tag: UserTag? = null
|
||||
): Unit = setChatMemberTag(chat.id, user.id, tag)
|
||||
@@ -12,23 +12,23 @@ public suspend fun TelegramBot.unbanChatMember(
|
||||
chatId: ChatIdentifier,
|
||||
userId: UserId,
|
||||
onlyIfBanned: Boolean? = null
|
||||
): Boolean = execute(UnbanChatMember(chatId, userId, onlyIfBanned))
|
||||
): Unit = execute(UnbanChatMember(chatId, userId, onlyIfBanned))
|
||||
|
||||
public suspend fun TelegramBot.unbanChatMember(
|
||||
chat: PublicChat,
|
||||
userId: UserId,
|
||||
onlyIfBanned: Boolean? = null
|
||||
): Boolean = unbanChatMember(chat.id, userId, onlyIfBanned)
|
||||
): Unit = unbanChatMember(chat.id, userId, onlyIfBanned)
|
||||
|
||||
public suspend fun TelegramBot.unbanChatMember(
|
||||
chatId: IdChatIdentifier,
|
||||
user: User,
|
||||
onlyIfBanned: Boolean? = null
|
||||
): Boolean = unbanChatMember(chatId, user.id, onlyIfBanned)
|
||||
): Unit = unbanChatMember(chatId, user.id, onlyIfBanned)
|
||||
|
||||
public suspend fun TelegramBot.unbanChatMember(
|
||||
chat: PublicChat,
|
||||
user: User,
|
||||
onlyIfBanned: Boolean? = null
|
||||
): Boolean = unbanChatMember(chat.id, user.id, onlyIfBanned)
|
||||
): Unit = unbanChatMember(chat.id, user.id, onlyIfBanned)
|
||||
|
||||
|
||||
@@ -9,19 +9,19 @@ import dev.inmo.tgbotapi.types.chat.PublicChat
|
||||
public suspend fun TelegramBot.unbanChatSenderChat(
|
||||
chatId: ChatIdentifier,
|
||||
senderChatId: IdChatIdentifier
|
||||
): Boolean = execute(UnbanChatSenderChat(chatId, senderChatId))
|
||||
): Unit = execute(UnbanChatSenderChat(chatId, senderChatId))
|
||||
|
||||
public suspend fun TelegramBot.unbanChatSenderChat(
|
||||
chat: PublicChat,
|
||||
senderChatId: IdChatIdentifier
|
||||
): Boolean = unbanChatSenderChat(chat.id, senderChatId)
|
||||
): Unit = unbanChatSenderChat(chat.id, senderChatId)
|
||||
|
||||
public suspend fun TelegramBot.unbanChatSenderChat(
|
||||
chatId: IdChatIdentifier,
|
||||
senderChat: PublicChat
|
||||
): Boolean = unbanChatSenderChat(chatId, senderChat.id)
|
||||
): Unit = unbanChatSenderChat(chatId, senderChat.id)
|
||||
|
||||
public suspend fun TelegramBot.unbanChatSenderChat(
|
||||
chat: PublicChat,
|
||||
senderChat: PublicChat,
|
||||
): Boolean = unbanChatSenderChat(chat.id, senderChat)
|
||||
): Unit = unbanChatSenderChat(chat.id, senderChat)
|
||||
|
||||
@@ -7,8 +7,8 @@ import dev.inmo.tgbotapi.types.chat.PublicChat
|
||||
|
||||
public suspend fun TelegramBot.deleteChatPhoto(
|
||||
chatId: ChatIdentifier
|
||||
): Boolean = execute(DeleteChatPhoto(chatId))
|
||||
): Unit = execute(DeleteChatPhoto(chatId))
|
||||
|
||||
public suspend fun TelegramBot.deleteChatPhoto(
|
||||
chat: PublicChat
|
||||
): Boolean = deleteChatPhoto(chat.id)
|
||||
): Unit = deleteChatPhoto(chat.id)
|
||||
|
||||
@@ -14,17 +14,17 @@ public suspend fun TelegramBot.pinChatMessage(
|
||||
messageId: MessageId,
|
||||
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||
disableNotification: Boolean = false
|
||||
): Boolean = execute(PinChatMessage(chatId, messageId, businessConnectionId, disableNotification))
|
||||
): Unit = execute(PinChatMessage(chatId, messageId, businessConnectionId, disableNotification))
|
||||
|
||||
public suspend fun TelegramBot.pinChatMessage(
|
||||
chat: Chat,
|
||||
messageId: MessageId,
|
||||
businessConnectionId: BusinessConnectionId? = chat.id.businessConnectionId,
|
||||
disableNotification: Boolean = false
|
||||
): Boolean = pinChatMessage(chat.id, messageId, businessConnectionId, disableNotification)
|
||||
): Unit = pinChatMessage(chat.id, messageId, businessConnectionId, disableNotification)
|
||||
|
||||
public suspend fun TelegramBot.pinChatMessage(
|
||||
message: AccessibleMessage,
|
||||
businessConnectionId: BusinessConnectionId? = message.chat.id.businessConnectionId,
|
||||
disableNotification: Boolean = false
|
||||
): Boolean = pinChatMessage(message.chat.id, message.messageId, businessConnectionId, disableNotification)
|
||||
): Unit = pinChatMessage(message.chat.id, message.messageId, businessConnectionId, disableNotification)
|
||||
|
||||
@@ -8,9 +8,9 @@ import dev.inmo.tgbotapi.types.chat.PublicChat
|
||||
public suspend fun TelegramBot.setChatDescription(
|
||||
chatId: ChatIdentifier,
|
||||
description: String
|
||||
): Boolean = execute(SetChatDescription(chatId, description))
|
||||
): Unit = execute(SetChatDescription(chatId, description))
|
||||
|
||||
public suspend fun TelegramBot.setChatDescription(
|
||||
chat: PublicChat,
|
||||
description: String
|
||||
): Boolean = setChatDescription(chat.id, description)
|
||||
): Unit = setChatDescription(chat.id, description)
|
||||
|
||||
@@ -9,9 +9,9 @@ import dev.inmo.tgbotapi.types.chat.PrivateChat
|
||||
public suspend fun TelegramBot.setChatMenuButton(
|
||||
chatId: IdChatIdentifier,
|
||||
menuButton: MenuButton
|
||||
): Boolean = execute(SetChatMenuButton(chatId, menuButton))
|
||||
): Unit = execute(SetChatMenuButton(chatId, menuButton))
|
||||
|
||||
public suspend fun TelegramBot.setChatMenuButton(
|
||||
chat: PrivateChat,
|
||||
menuButton: MenuButton
|
||||
): Boolean = setChatMenuButton(chat.id, menuButton)
|
||||
): Unit = setChatMenuButton(chat.id, menuButton)
|
||||
|
||||
@@ -10,10 +10,10 @@ public suspend fun TelegramBot.setDefaultChatMembersPermissions(
|
||||
chatId: ChatIdentifier,
|
||||
permissions: ChatPermissions,
|
||||
useIndependentChatPermissions: Boolean? = permissions.isGranular.takeIf { it }
|
||||
): Boolean = execute(SetChatPermissions(chatId, permissions, useIndependentChatPermissions))
|
||||
): Unit = execute(SetChatPermissions(chatId, permissions, useIndependentChatPermissions))
|
||||
|
||||
public suspend fun TelegramBot.setDefaultChatMembersPermissions(
|
||||
chat: PublicChat,
|
||||
permissions: ChatPermissions,
|
||||
useIndependentChatPermissions: Boolean? = permissions.isGranular.takeIf { it }
|
||||
): Boolean = setDefaultChatMembersPermissions(chat.id, permissions, useIndependentChatPermissions)
|
||||
): Unit = setDefaultChatMembersPermissions(chat.id, permissions, useIndependentChatPermissions)
|
||||
|
||||
@@ -9,9 +9,9 @@ import dev.inmo.tgbotapi.types.chat.PublicChat
|
||||
public suspend fun TelegramBot.setChatPhoto(
|
||||
chatId: ChatIdentifier,
|
||||
photo: MultipartFile
|
||||
): Boolean = execute(SetChatPhoto(chatId, photo))
|
||||
): Unit = execute(SetChatPhoto(chatId, photo))
|
||||
|
||||
public suspend fun TelegramBot.setChatPhoto(
|
||||
chat: PublicChat,
|
||||
photo: MultipartFile
|
||||
): Boolean = setChatPhoto(chat.id, photo)
|
||||
): Unit = setChatPhoto(chat.id, photo)
|
||||
|
||||
@@ -8,9 +8,9 @@ import dev.inmo.tgbotapi.types.chat.PublicChat
|
||||
public suspend fun TelegramBot.setChatTitle(
|
||||
chatId: ChatIdentifier,
|
||||
title: String
|
||||
): Boolean = execute(SetChatTitle(chatId, title))
|
||||
): Unit = execute(SetChatTitle(chatId, title))
|
||||
|
||||
public suspend fun TelegramBot.setChatTitle(
|
||||
chat: PublicChat,
|
||||
title: String
|
||||
): Boolean = setChatTitle(chat.id, title)
|
||||
): Unit = setChatTitle(chat.id, title)
|
||||
|
||||
@@ -6,4 +6,4 @@ import dev.inmo.tgbotapi.types.MenuButton
|
||||
|
||||
public suspend fun TelegramBot.setDefaultChatMenuButton(
|
||||
menuButton: MenuButton
|
||||
): Boolean = execute(SetDefaultChatMenuButton(menuButton))
|
||||
): Unit = execute(SetDefaultChatMenuButton(menuButton))
|
||||
|
||||
@@ -7,8 +7,8 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
|
||||
public suspend fun TelegramBot.unpinAllChatMessages(
|
||||
chatId: ChatIdentifier
|
||||
): Boolean = execute(UnpinAllChatMessages(chatId))
|
||||
): Unit = execute(UnpinAllChatMessages(chatId))
|
||||
|
||||
public suspend fun TelegramBot.unpinAllChatMessages(
|
||||
chat: Chat
|
||||
): Boolean = unpinAllChatMessages(chat.id)
|
||||
): Unit = unpinAllChatMessages(chat.id)
|
||||
|
||||
@@ -13,15 +13,15 @@ public suspend fun TelegramBot.unpinChatMessage(
|
||||
chatId: ChatIdentifier,
|
||||
messageId: MessageId? = null,
|
||||
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId
|
||||
): Boolean = execute(UnpinChatMessage(chatId, messageId, businessConnectionId))
|
||||
): Unit = execute(UnpinChatMessage(chatId, messageId, businessConnectionId))
|
||||
|
||||
public suspend fun TelegramBot.unpinChatMessage(
|
||||
chat: Chat,
|
||||
messageId: MessageId? = null,
|
||||
businessConnectionId: BusinessConnectionId? = chat.id.businessConnectionId
|
||||
): Boolean = unpinChatMessage(chat.id, messageId, businessConnectionId)
|
||||
): Unit = unpinChatMessage(chat.id, messageId, businessConnectionId)
|
||||
|
||||
public suspend fun TelegramBot.unpinChatMessage(
|
||||
message: AccessibleMessage,
|
||||
businessConnectionId: BusinessConnectionId? = message.chat.id.businessConnectionId,
|
||||
): Boolean = unpinChatMessage(message.chat.id, message.messageId, businessConnectionId)
|
||||
): Unit = unpinChatMessage(message.chat.id, message.messageId, businessConnectionId)
|
||||
|
||||
@@ -7,8 +7,8 @@ import dev.inmo.tgbotapi.types.chat.SupergroupChat
|
||||
|
||||
public suspend fun TelegramBot.deleteChatStickerSet(
|
||||
chatId: ChatIdentifier
|
||||
): Boolean = execute(DeleteChatStickerSet(chatId))
|
||||
): Unit = execute(DeleteChatStickerSet(chatId))
|
||||
|
||||
public suspend fun TelegramBot.deleteChatStickerSet(
|
||||
chat: SupergroupChat
|
||||
): Boolean = deleteChatStickerSet(chat.id)
|
||||
): Unit = deleteChatStickerSet(chat.id)
|
||||
|
||||
@@ -9,9 +9,9 @@ import dev.inmo.tgbotapi.types.chat.SupergroupChat
|
||||
public suspend fun TelegramBot.setChatStickerSet(
|
||||
chatId: ChatIdentifier,
|
||||
stickerSetName: StickerSetName
|
||||
): Boolean = execute(SetChatStickerSet(chatId, stickerSetName))
|
||||
): Unit = execute(SetChatStickerSet(chatId, stickerSetName))
|
||||
|
||||
public suspend fun TelegramBot.setChatStickerSet(
|
||||
chat: SupergroupChat,
|
||||
stickerSetName: StickerSetName
|
||||
): Boolean = setChatStickerSet(chat.id, stickerSetName)
|
||||
): Unit = setChatStickerSet(chat.id, stickerSetName)
|
||||
|
||||
@@ -27,7 +27,7 @@ public suspend fun TelegramBot.edit(
|
||||
heading: Degrees? = null,
|
||||
proximityAlertRadius: Meters? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = editLiveLocation(messageId, latitude, longitude, horizontalAccuracy, heading, proximityAlertRadius, replyMarkup)
|
||||
): Unit = editLiveLocation(messageId, latitude, longitude, horizontalAccuracy, heading, proximityAlertRadius, replyMarkup)
|
||||
|
||||
/**
|
||||
* @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard]
|
||||
@@ -37,7 +37,7 @@ public suspend fun TelegramBot.edit(
|
||||
messageId: InlineMessageId,
|
||||
location: LiveLocation,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = editLiveLocation(
|
||||
): Unit = editLiveLocation(
|
||||
messageId, location, replyMarkup
|
||||
)
|
||||
|
||||
@@ -49,7 +49,7 @@ public suspend fun TelegramBot.edit(
|
||||
messageId: InlineMessageId,
|
||||
media: TelegramFreeMedia,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = editMessageMedia(messageId, media, replyMarkup)
|
||||
): Unit = editMessageMedia(messageId, media, replyMarkup)
|
||||
|
||||
/**
|
||||
* @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard]
|
||||
@@ -58,7 +58,7 @@ public suspend fun TelegramBot.edit(
|
||||
public suspend fun TelegramBot.edit(
|
||||
messageId: InlineMessageId,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = editMessageReplyMarkup(messageId, replyMarkup)
|
||||
): Unit = editMessageReplyMarkup(messageId, replyMarkup)
|
||||
|
||||
/**
|
||||
* @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard]
|
||||
@@ -71,7 +71,7 @@ public suspend fun TelegramBot.edit(
|
||||
showCaptionAboveMedia: Boolean = false,
|
||||
linkPreviewOptions: LinkPreviewOptions? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = editMessageText(messageId, text, parseMode, showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
): Unit = editMessageText(messageId, text, parseMode, showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
|
||||
/**
|
||||
* @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard]
|
||||
@@ -83,7 +83,7 @@ public suspend fun TelegramBot.edit(
|
||||
showCaptionAboveMedia: Boolean = false,
|
||||
linkPreviewOptions: LinkPreviewOptions? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = editMessageText(messageId, entities, showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
): Unit = editMessageText(messageId, entities, showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
|
||||
/**
|
||||
* @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard]
|
||||
@@ -96,7 +96,7 @@ public suspend fun TelegramBot.edit(
|
||||
linkPreviewOptions: LinkPreviewOptions? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null,
|
||||
builderBody: EntitiesBuilderBody
|
||||
): Boolean = edit(messageId, buildEntities(separator, builderBody), showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
): Unit = edit(messageId, buildEntities(separator, builderBody), showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
|
||||
/**
|
||||
* @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard]
|
||||
@@ -109,4 +109,4 @@ public suspend fun TelegramBot.edit(
|
||||
linkPreviewOptions: LinkPreviewOptions? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null,
|
||||
builderBody: EntitiesBuilderBody
|
||||
): Boolean = edit(messageId, buildEntities(separator, builderBody), showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
): Unit = edit(messageId, buildEntities(separator, builderBody), showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
|
||||
@@ -16,7 +16,7 @@ public suspend fun TelegramBot.editMessageCaption(
|
||||
text: String,
|
||||
parseMode: ParseMode? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = execute(EditInlineMessageCaption(inlineMessageId, text, parseMode, replyMarkup))
|
||||
): Unit = execute(EditInlineMessageCaption(inlineMessageId, text, parseMode, replyMarkup))
|
||||
|
||||
/**
|
||||
* @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard]
|
||||
@@ -26,4 +26,4 @@ public suspend fun TelegramBot.editMessageCaption(
|
||||
inlineMessageId: InlineMessageId,
|
||||
entities: TextSourcesList,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = execute(EditInlineMessageCaption(inlineMessageId, entities, replyMarkup))
|
||||
): Unit = execute(EditInlineMessageCaption(inlineMessageId, entities, replyMarkup))
|
||||
|
||||
@@ -14,7 +14,7 @@ public suspend fun TelegramBot.editLiveLocation(
|
||||
heading: Degrees? = null,
|
||||
proximityAlertRadius: Meters? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
EditInlineMessageLiveLocation(
|
||||
inlineMessageId, latitude, longitude, horizontalAccuracy, heading, proximityAlertRadius, replyMarkup
|
||||
)
|
||||
@@ -23,4 +23,4 @@ public suspend fun TelegramBot.editLiveLocation(
|
||||
inlineMessageId: InlineMessageId,
|
||||
location: LiveLocation,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = editLiveLocation(inlineMessageId, location.latitude, location.longitude, location.horizontalAccuracy, location.heading, location.proximityAlertRadius, replyMarkup)
|
||||
): Unit = editLiveLocation(inlineMessageId, location.latitude, location.longitude, location.horizontalAccuracy, location.heading, location.proximityAlertRadius, replyMarkup)
|
||||
|
||||
@@ -12,7 +12,7 @@ import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
||||
public suspend fun TelegramBot.stopLiveLocation(
|
||||
inlineMessageId: InlineMessageId,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
StopInlineMessageLiveLocation(
|
||||
inlineMessageId, replyMarkup
|
||||
)
|
||||
|
||||
@@ -14,4 +14,4 @@ public suspend fun TelegramBot.editMessageMedia(
|
||||
inlineMessageId: InlineMessageId,
|
||||
media: TelegramFreeMedia,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = execute(EditInlineMessageMedia(inlineMessageId, media, replyMarkup))
|
||||
): Unit = execute(EditInlineMessageMedia(inlineMessageId, media, replyMarkup))
|
||||
|
||||
@@ -10,7 +10,7 @@ public suspend fun TelegramBot.editUserStarSubscription(
|
||||
userId: UserId,
|
||||
telegramPaymentChargeId: TelegramPaymentChargeId,
|
||||
isCanceled: Boolean
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
EditUserStarSubscription(
|
||||
userId = userId,
|
||||
telegramPaymentChargeId = telegramPaymentChargeId,
|
||||
@@ -22,7 +22,7 @@ public suspend fun TelegramBot.editUserStarSubscription(
|
||||
user: User,
|
||||
telegramPaymentChargeId: TelegramPaymentChargeId,
|
||||
isCanceled: Boolean
|
||||
): Boolean = editUserStarSubscription(
|
||||
): Unit = editUserStarSubscription(
|
||||
userId = user.id,
|
||||
telegramPaymentChargeId = telegramPaymentChargeId,
|
||||
isCanceled = isCanceled
|
||||
@@ -31,7 +31,7 @@ public suspend fun TelegramBot.editUserStarSubscription(
|
||||
public suspend fun TelegramBot.cancelUserStarSubscription(
|
||||
userId: UserId,
|
||||
telegramPaymentChargeId: TelegramPaymentChargeId,
|
||||
): Boolean = editUserStarSubscription(
|
||||
): Unit = editUserStarSubscription(
|
||||
userId = userId,
|
||||
telegramPaymentChargeId = telegramPaymentChargeId,
|
||||
isCanceled = true
|
||||
@@ -40,7 +40,7 @@ public suspend fun TelegramBot.cancelUserStarSubscription(
|
||||
public suspend fun TelegramBot.cancelUserStarSubscription(
|
||||
user: User,
|
||||
telegramPaymentChargeId: TelegramPaymentChargeId,
|
||||
): Boolean = editUserStarSubscription(
|
||||
): Unit = editUserStarSubscription(
|
||||
user = user,
|
||||
telegramPaymentChargeId = telegramPaymentChargeId,
|
||||
isCanceled = true
|
||||
@@ -49,7 +49,7 @@ public suspend fun TelegramBot.cancelUserStarSubscription(
|
||||
public suspend fun TelegramBot.enableUserStarSubscription(
|
||||
userId: UserId,
|
||||
telegramPaymentChargeId: TelegramPaymentChargeId,
|
||||
): Boolean = editUserStarSubscription(
|
||||
): Unit = editUserStarSubscription(
|
||||
userId = userId,
|
||||
telegramPaymentChargeId = telegramPaymentChargeId,
|
||||
isCanceled = false
|
||||
@@ -58,7 +58,7 @@ public suspend fun TelegramBot.enableUserStarSubscription(
|
||||
public suspend fun TelegramBot.enableUserStarSubscription(
|
||||
user: User,
|
||||
telegramPaymentChargeId: TelegramPaymentChargeId,
|
||||
): Boolean = editUserStarSubscription(
|
||||
): Unit = editUserStarSubscription(
|
||||
user = user,
|
||||
telegramPaymentChargeId = telegramPaymentChargeId,
|
||||
isCanceled = false
|
||||
|
||||
@@ -12,4 +12,4 @@ import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
||||
public suspend fun TelegramBot.editMessageReplyMarkup(
|
||||
inlineMessageId: InlineMessageId,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = execute(EditInlineMessageReplyMarkup(inlineMessageId, replyMarkup))
|
||||
): Unit = execute(EditInlineMessageReplyMarkup(inlineMessageId, replyMarkup))
|
||||
|
||||
@@ -22,7 +22,7 @@ public suspend fun TelegramBot.editMessageText(
|
||||
showCaptionAboveMedia: Boolean = false,
|
||||
linkPreviewOptions: LinkPreviewOptions? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = execute(EditInlineMessageText(inlineMessageId, text, parseMode, showCaptionAboveMedia, linkPreviewOptions, replyMarkup))
|
||||
): Unit = execute(EditInlineMessageText(inlineMessageId, text, parseMode, showCaptionAboveMedia, linkPreviewOptions, replyMarkup))
|
||||
|
||||
/**
|
||||
* @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard]
|
||||
@@ -34,7 +34,7 @@ public suspend fun TelegramBot.editMessageText(
|
||||
showCaptionAboveMedia: Boolean = false,
|
||||
linkPreviewOptions: LinkPreviewOptions? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = execute(EditInlineMessageText(inlineMessageId, entities, showCaptionAboveMedia, linkPreviewOptions, replyMarkup))
|
||||
): Unit = execute(EditInlineMessageText(inlineMessageId, entities, showCaptionAboveMedia, linkPreviewOptions, replyMarkup))
|
||||
|
||||
/**
|
||||
* @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard]
|
||||
@@ -47,7 +47,7 @@ public suspend fun TelegramBot.editMessageText(
|
||||
linkPreviewOptions: LinkPreviewOptions? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null,
|
||||
builderBody: EntitiesBuilderBody
|
||||
): Boolean = editMessageText(inlineMessageId, buildEntities(separator, builderBody), showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
): Unit = editMessageText(inlineMessageId, buildEntities(separator, builderBody), showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
|
||||
/**
|
||||
* @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard]
|
||||
@@ -60,4 +60,4 @@ public suspend fun TelegramBot.editMessageText(
|
||||
linkPreviewOptions: LinkPreviewOptions? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null,
|
||||
builderBody: EntitiesBuilderBody
|
||||
): Boolean = editMessageText(inlineMessageId, buildEntities(separator, builderBody), showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
): Unit = editMessageText(inlineMessageId, buildEntities(separator, builderBody), showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
|
||||
@@ -15,7 +15,7 @@ public suspend fun TelegramBot.setGameScore(
|
||||
messageId: MessageId,
|
||||
force: Boolean = false,
|
||||
disableEditMessage: Boolean = false
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
SetGameScoreByChatId(userId, score, chatId, messageId, force, disableEditMessage)
|
||||
)
|
||||
|
||||
@@ -26,7 +26,7 @@ public suspend fun TelegramBot.setGameScore(
|
||||
messageId: MessageId,
|
||||
force: Boolean = false,
|
||||
disableEditMessage: Boolean = false
|
||||
): Boolean = setGameScore(
|
||||
): Unit = setGameScore(
|
||||
user.id, score, chatId, messageId, force, disableEditMessage
|
||||
)
|
||||
|
||||
@@ -37,7 +37,7 @@ public suspend fun TelegramBot.setGameScore(
|
||||
messageId: MessageId,
|
||||
force: Boolean = false,
|
||||
disableEditMessage: Boolean = false
|
||||
): Boolean = setGameScore(
|
||||
): Unit = setGameScore(
|
||||
userId, score, chat.id, messageId, force, disableEditMessage
|
||||
)
|
||||
|
||||
@@ -48,7 +48,7 @@ public suspend fun TelegramBot.setGameScore(
|
||||
messageId: MessageId,
|
||||
force: Boolean = false,
|
||||
disableEditMessage: Boolean = false
|
||||
): Boolean = setGameScore(
|
||||
): Unit = setGameScore(
|
||||
user.id, score, chat.id, messageId, force, disableEditMessage
|
||||
)
|
||||
|
||||
@@ -58,7 +58,7 @@ public suspend fun TelegramBot.setGameScore(
|
||||
message: ContentMessage<GameContent>,
|
||||
force: Boolean = false,
|
||||
disableEditMessage: Boolean = false
|
||||
): Boolean = setGameScore(
|
||||
): Unit = setGameScore(
|
||||
userId, score, message.chat.id, message.messageId, force, disableEditMessage
|
||||
)
|
||||
|
||||
@@ -68,6 +68,6 @@ public suspend fun TelegramBot.setGameScore(
|
||||
message: ContentMessage<GameContent>,
|
||||
force: Boolean = false,
|
||||
disableEditMessage: Boolean = false
|
||||
): Boolean = setGameScore(
|
||||
): Unit = setGameScore(
|
||||
user.id, score, message.chat.id, message.messageId, force, disableEditMessage
|
||||
)
|
||||
|
||||
@@ -11,7 +11,7 @@ public suspend fun TelegramBot.setGameScore(
|
||||
inlineMessageId: InlineMessageId,
|
||||
force: Boolean = false,
|
||||
disableEditMessage: Boolean = false
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
SetGameScoreByInlineMessageId(
|
||||
userId, score, inlineMessageId, force, disableEditMessage
|
||||
)
|
||||
@@ -23,4 +23,4 @@ public suspend fun TelegramBot.setGameScore(
|
||||
inlineMessageId: InlineMessageId,
|
||||
force: Boolean = false,
|
||||
disableEditMessage: Boolean = false
|
||||
): Boolean = setGameScore(user.id, score, inlineMessageId, force, disableEditMessage)
|
||||
): Unit = setGameScore(user.id, score, inlineMessageId, force, disableEditMessage)
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package dev.inmo.tgbotapi.extensions.api.get
|
||||
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.get.GetUserProfileAudios
|
||||
import dev.inmo.tgbotapi.types.chat.CommonUser
|
||||
import dev.inmo.tgbotapi.types.UserId
|
||||
import dev.inmo.tgbotapi.types.UserProfileAudios
|
||||
|
||||
public suspend fun TelegramBot.getUserProfileAudios(
|
||||
userId: UserId,
|
||||
offset: Int? = null,
|
||||
limit: Int? = null
|
||||
): UserProfileAudios = execute(
|
||||
GetUserProfileAudios(
|
||||
userId = userId, offset = offset, limit = limit
|
||||
)
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.getUserProfileAudios(
|
||||
user: CommonUser,
|
||||
offset: Int? = null,
|
||||
limit: Int? = null
|
||||
): UserProfileAudios = getUserProfileAudios(userId = user.id, offset = offset, limit = limit)
|
||||
@@ -0,0 +1,83 @@
|
||||
package dev.inmo.tgbotapi.extensions.api.gifts
|
||||
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.gifts.GetChatGifts
|
||||
import dev.inmo.tgbotapi.types.ChatIdentifier
|
||||
import dev.inmo.tgbotapi.types.OwnedGifts
|
||||
import dev.inmo.tgbotapi.types.gifts.GiftSentOrReceivedEvent
|
||||
import dev.inmo.tgbotapi.types.gifts.OwnedGift
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.flow
|
||||
|
||||
public suspend fun TelegramBot.getChatGifts(
|
||||
chatId: ChatIdentifier,
|
||||
excludeUnsaved: Boolean = false,
|
||||
excludeSaved: Boolean = false,
|
||||
excludeUnlimited: Boolean = false,
|
||||
excludeLimitedUpgradable: Boolean = false,
|
||||
excludeLimitedNonUpgradable: Boolean = false,
|
||||
excludeFromBlockchain: Boolean = false,
|
||||
excludeUnique: Boolean = false,
|
||||
sortByPrice: Boolean = false,
|
||||
offset: String? = null,
|
||||
limit: Int? = null
|
||||
): OwnedGifts<OwnedGift.Common> = execute(
|
||||
GetChatGifts(
|
||||
chatId,
|
||||
excludeUnsaved,
|
||||
excludeSaved,
|
||||
excludeUnlimited,
|
||||
excludeLimitedUpgradable,
|
||||
excludeLimitedNonUpgradable,
|
||||
excludeFromBlockchain,
|
||||
excludeUnique,
|
||||
sortByPrice,
|
||||
offset,
|
||||
limit
|
||||
)
|
||||
)
|
||||
|
||||
public fun TelegramBot.getChatGiftsFlow(
|
||||
chatId: ChatIdentifier,
|
||||
excludeUnsaved: Boolean = false,
|
||||
excludeSaved: Boolean = false,
|
||||
excludeUnlimited: Boolean = false,
|
||||
excludeLimitedUpgradable: Boolean = false,
|
||||
excludeLimitedNonUpgradable: Boolean = false,
|
||||
excludeFromBlockchain: Boolean = false,
|
||||
excludeUnique: Boolean = false,
|
||||
sortByPrice: Boolean = false,
|
||||
initialOffset: String? = null,
|
||||
limit: Int? = null,
|
||||
onErrorContinueChecker: suspend (Throwable?) -> Boolean = { false }
|
||||
): Flow<OwnedGifts<OwnedGift.Common>> = flow {
|
||||
var currentOffset = initialOffset
|
||||
do {
|
||||
val response = runCatching {
|
||||
getChatGifts(
|
||||
chatId,
|
||||
excludeUnsaved,
|
||||
excludeSaved,
|
||||
excludeUnlimited,
|
||||
excludeLimitedUpgradable,
|
||||
excludeLimitedNonUpgradable,
|
||||
excludeFromBlockchain,
|
||||
excludeUnique,
|
||||
sortByPrice,
|
||||
currentOffset,
|
||||
limit
|
||||
)
|
||||
}
|
||||
if (response.isSuccess) {
|
||||
val result = response.getOrThrow()
|
||||
emit(result)
|
||||
currentOffset = result.nextOffset
|
||||
} else {
|
||||
if (onErrorContinueChecker(response.exceptionOrNull())) {
|
||||
continue
|
||||
} else {
|
||||
break
|
||||
}
|
||||
}
|
||||
} while (currentOffset != null)
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package dev.inmo.tgbotapi.extensions.api.gifts
|
||||
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.gifts.GetUserGifts
|
||||
import dev.inmo.tgbotapi.types.OwnedGifts
|
||||
import dev.inmo.tgbotapi.types.UserId
|
||||
import dev.inmo.tgbotapi.types.gifts.GiftSentOrReceivedEvent
|
||||
import dev.inmo.tgbotapi.types.gifts.OwnedGift
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.flow
|
||||
|
||||
public suspend fun TelegramBot.getUserGifts(
|
||||
userId: UserId,
|
||||
excludeUnlimited: Boolean = false,
|
||||
excludeLimitedUpgradable: Boolean = false,
|
||||
excludeLimitedNonUpgradable: Boolean = false,
|
||||
excludeFromBlockchain: Boolean = false,
|
||||
excludeUnique: Boolean = false,
|
||||
sortByPrice: Boolean = false,
|
||||
offset: String? = null,
|
||||
limit: Int? = null
|
||||
): OwnedGifts<OwnedGift.Common> = execute(
|
||||
GetUserGifts(
|
||||
userId,
|
||||
excludeUnlimited,
|
||||
excludeLimitedUpgradable,
|
||||
excludeLimitedNonUpgradable,
|
||||
excludeFromBlockchain,
|
||||
excludeUnique,
|
||||
sortByPrice,
|
||||
offset,
|
||||
limit
|
||||
)
|
||||
)
|
||||
|
||||
public fun TelegramBot.getUserGiftsFlow(
|
||||
userId: UserId,
|
||||
excludeUnlimited: Boolean = false,
|
||||
excludeLimitedUpgradable: Boolean = false,
|
||||
excludeLimitedNonUpgradable: Boolean = false,
|
||||
excludeFromBlockchain: Boolean = false,
|
||||
excludeUnique: Boolean = false,
|
||||
sortByPrice: Boolean = false,
|
||||
initialOffset: String? = null,
|
||||
limit: Int? = null,
|
||||
onErrorContinueChecker: suspend (Throwable?) -> Boolean = { false }
|
||||
): Flow<OwnedGifts<OwnedGift.Common>> = flow {
|
||||
var currentOffset = initialOffset
|
||||
do {
|
||||
val response = runCatching {
|
||||
getUserGifts(
|
||||
userId,
|
||||
excludeUnlimited,
|
||||
excludeLimitedUpgradable,
|
||||
excludeLimitedNonUpgradable,
|
||||
excludeFromBlockchain,
|
||||
excludeUnique,
|
||||
sortByPrice,
|
||||
currentOffset,
|
||||
limit
|
||||
)
|
||||
}
|
||||
if (response.isSuccess) {
|
||||
val result = response.getOrThrow()
|
||||
emit(result)
|
||||
currentOffset = result.nextOffset
|
||||
} else {
|
||||
if (onErrorContinueChecker(response.exceptionOrNull())) {
|
||||
continue
|
||||
} else {
|
||||
break
|
||||
}
|
||||
}
|
||||
} while (currentOffset != null)
|
||||
}
|
||||
@@ -15,7 +15,7 @@ public suspend fun TelegramBot.giftPremiumSubscription(
|
||||
starCount: Int,
|
||||
text: String,
|
||||
parseMode: ParseMode? = null
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
GiftPremiumSubscription(
|
||||
userId = userId,
|
||||
monthCount = monthCount,
|
||||
@@ -30,7 +30,7 @@ public suspend fun TelegramBot.giftPremiumSubscription(
|
||||
monthCount: Int,
|
||||
starCount: Int,
|
||||
textSources: TextSourcesList? = null,
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
GiftPremiumSubscription(
|
||||
userId = userId,
|
||||
monthCount = monthCount,
|
||||
@@ -45,7 +45,7 @@ public suspend fun TelegramBot.giftPremiumSubscription(
|
||||
starCount: Int,
|
||||
separator: TextSource? = null,
|
||||
textBuilder: EntitiesBuilderBody
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
GiftPremiumSubscription(
|
||||
userId = userId,
|
||||
monthCount = monthCount,
|
||||
|
||||
@@ -30,7 +30,7 @@ public suspend fun TelegramBot.sendGift(
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
upgradableToUnique: Boolean = false
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
SendGift.toUser(
|
||||
userId = userId,
|
||||
giftId = giftId,
|
||||
@@ -57,7 +57,7 @@ public suspend fun TelegramBot.sendGiftToChat(
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
upgradableToUnique: Boolean = false
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
SendGift.toChat(
|
||||
chatId = chatId,
|
||||
giftId = giftId,
|
||||
@@ -83,7 +83,7 @@ public suspend fun TelegramBot.sendGift(
|
||||
giftId: GiftId,
|
||||
textSources: TextSourcesList,
|
||||
upgradableToUnique: Boolean = false,
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
SendGift.toUser(
|
||||
userId = userId,
|
||||
giftId = giftId,
|
||||
@@ -108,7 +108,7 @@ public suspend fun TelegramBot.sendGiftToChat(
|
||||
giftId: GiftId,
|
||||
textSources: TextSourcesList,
|
||||
upgradableToUnique: Boolean = false,
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
SendGift.toChat(
|
||||
chatId = chatId,
|
||||
giftId = giftId,
|
||||
|
||||
@@ -17,7 +17,7 @@ public suspend fun TelegramBot.sendGift(
|
||||
giftId: GiftId,
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
): Boolean = sendGift(
|
||||
): Unit = sendGift(
|
||||
userId = with(user) {id}, giftId = giftId, text = text, parseMode = parseMode
|
||||
)
|
||||
|
||||
@@ -27,7 +27,7 @@ public suspend fun TelegramBot.sendGift(
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
upgradableToUnique: Boolean,
|
||||
): Boolean = sendGift(
|
||||
): Unit = sendGift(
|
||||
userId = with(user) {id}, giftId = giftId, text = text, parseMode = parseMode,
|
||||
upgradableToUnique = upgradableToUnique
|
||||
)
|
||||
@@ -37,7 +37,7 @@ public suspend fun TelegramBot.sendGift(
|
||||
gift: Gift.Regular,
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
): Boolean = sendGift(
|
||||
): Unit = sendGift(
|
||||
userId = userId, giftId = with(gift) {id}, text = text, parseMode = parseMode
|
||||
)
|
||||
|
||||
@@ -47,7 +47,7 @@ public suspend fun TelegramBot.sendGift(
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
upgradableToUnique: Boolean,
|
||||
): Boolean = sendGift(
|
||||
): Unit = sendGift(
|
||||
userId = userId, giftId = with(gift) {id}, text = text, parseMode = parseMode,
|
||||
upgradableToUnique = upgradableToUnique
|
||||
)
|
||||
@@ -57,7 +57,7 @@ public suspend fun TelegramBot.sendGift(
|
||||
gift: Gift.Regular,
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
): Boolean = sendGift(
|
||||
): Unit = sendGift(
|
||||
user = user, giftId = with(gift) {id}, text = text, parseMode = parseMode
|
||||
)
|
||||
|
||||
@@ -67,7 +67,7 @@ public suspend fun TelegramBot.sendGift(
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
upgradableToUnique: Boolean,
|
||||
): Boolean = sendGift(
|
||||
): Unit = sendGift(
|
||||
user = user, giftId = with(gift) {id}, text = text, parseMode = parseMode, upgradableToUnique =
|
||||
upgradableToUnique
|
||||
)
|
||||
|
||||
@@ -17,7 +17,7 @@ public suspend fun TelegramBot.sendGiftToChat(
|
||||
giftId: GiftId,
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
): Boolean = sendGiftToChat(
|
||||
): Unit = sendGiftToChat(
|
||||
chatId = with(chat) {id}, giftId = giftId, text = text, parseMode = parseMode
|
||||
)
|
||||
|
||||
@@ -27,7 +27,7 @@ public suspend fun TelegramBot.sendGiftToChat(
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
upgradableToUnique: Boolean,
|
||||
): Boolean = sendGiftToChat(
|
||||
): Unit = sendGiftToChat(
|
||||
chatId = with(chat) {id}, giftId = giftId, text = text, parseMode = parseMode,
|
||||
upgradableToUnique = upgradableToUnique
|
||||
)
|
||||
@@ -37,7 +37,7 @@ public suspend fun TelegramBot.sendGiftToChat(
|
||||
gift: Gift.Regular,
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
): Boolean = sendGiftToChat(
|
||||
): Unit = sendGiftToChat(
|
||||
chatId = chatId, giftId = with(gift) {id}, text = text, parseMode = parseMode
|
||||
)
|
||||
|
||||
@@ -47,7 +47,7 @@ public suspend fun TelegramBot.sendGiftToChat(
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
upgradableToUnique: Boolean,
|
||||
): Boolean = sendGiftToChat(
|
||||
): Unit = sendGiftToChat(
|
||||
chatId = chatId, giftId = with(gift) {id}, text = text, parseMode = parseMode,
|
||||
upgradableToUnique = upgradableToUnique
|
||||
)
|
||||
@@ -57,7 +57,7 @@ public suspend fun TelegramBot.sendGiftToChat(
|
||||
gift: Gift.Regular,
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
): Boolean = sendGiftToChat(
|
||||
): Unit = sendGiftToChat(
|
||||
chat = chat, giftId = with(gift) {id}, text = text, parseMode = parseMode
|
||||
)
|
||||
|
||||
@@ -67,7 +67,7 @@ public suspend fun TelegramBot.sendGiftToChat(
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
upgradableToUnique: Boolean,
|
||||
): Boolean = sendGiftToChat(
|
||||
): Unit = sendGiftToChat(
|
||||
chat = chat, giftId = with(gift) {id}, text = text, parseMode = parseMode, upgradableToUnique =
|
||||
upgradableToUnique
|
||||
)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user