update readmes

This commit is contained in:
2026-08-21 15:51:06 +06:00
parent 016400a821
commit ce48393895
104 changed files with 2615 additions and 333 deletions

50
GuestQueryBot/README.md Normal file
View File

@@ -0,0 +1,50 @@
# GuestQueryBot
Demonstrates guest queries through long polling in chats where the bot is not a member.
## Behavior
At startup, the bot calls `getMe` and prints its bot information and the value of
`supportsGuestQueries`.
For each guest request, it prints the query ID, caller, chat, and content, then
answers with an inline article whose message contains:
```text
Guest mode reply
Query ID: <guest-query-id>
```
For ordinary content messages carrying guest-call metadata, the bot also replies
with the initiating user's name and/or the public chat's title. Every received
update is printed to standard output. The bot defines no commands.
## Setup and permissions
1. Create a bot and obtain its token; keep the token private.
2. Enable guest queries in BotFather so that `supports_guest_queries` is enabled.
3. For ordinary messages outside guest mode, add the bot to the relevant chat and
allow it to send messages there.
The guest-query flow does not require the bot to be a chat member. This example
uses no admin-only methods and does not configure a webhook.
## Run
From the repository root:
```bash
./gradlew :GuestQueryBot:run --args="BOT_TOKEN"
```
The first argument is the required bot token. Optional, case-sensitive flags may
follow it in either order:
- `debug` enables formatted library logging on standard output;
- `testServer` connects to Telegram's Bot API test environment.
For example:
```bash
./gradlew :GuestQueryBot:run --args="BOT_TOKEN debug testServer"
```

View File

@@ -19,19 +19,12 @@ import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
/**
* This bot demonstrates guest mode support introduced in Telegram Bot API.
* Starts the long-polling guest-query example.
*
* Guest mode allows bots to receive messages and reply within chats they are not a member of.
* To enable guest queries for your bot, set `supports_guest_queries` in BotFather settings.
*
* Key concepts demonstrated:
* - `supportsGuestQueries` field on the bot itself (via getMe())
* - `GuestMessageUpdate` — a new update type for messages sent in guest mode
* - `guestQueryId` — unique ID used to answer the guest query
* - `guestBotCallerUser` — the user who initiated the guest query
* - `guestBotCallerChat` — the chat from which the guest query was sent
* - `answerGuestQuery` / `reply(GuestMessage, InlineQueryResult)` — how to respond
* - `SentGuestMessage` — the result returned after answering, containing the inline_message_id
* The first element of [args] must be the bot token. The optional, case-sensitive
* values `debug` and `testServer` enable diagnostic logging and Telegram's test
* environment, respectively. Guest requests receive an inline article response;
* regular content messages with guest-caller metadata receive an acknowledgement.
*/
suspend fun main(vararg args: String) {
val botToken = args.first()