mirror of
https://github.com/lukaszraczylo/go-telegram.git
synced 2026-06-05 22:43:59 +00:00
ac7cae8fa7
A fully-generated, strongly-typed Go client for the Telegram Bot API. * 176 methods + 301 types generated from Bot API v10.0 * 1408 auto-generated tests (8 scenarios per method) * Typed unions throughout — no 'any' in the public surface * Pluggable HTTP transport and JSON codec (default goccy/go-json) * Built-in retry middleware honouring Telegram's retry_after * Generic dispatcher with filters and conversation handlers * Self-verifying codegen pipeline (regen → audit → emit → run tests) * 14 example bots covering common patterns
23 lines
839 B
Markdown
23 lines
839 B
Markdown
# welcome
|
|
|
|
Greet new chat members as they join a group and log member departures.
|
|
|
|
## What it shows
|
|
|
|
- `OnMessageFilter` matching `Message.NewChatMembers` to send a welcome message for each joiner
|
|
- `OnMessageFilter` matching `Message.LeftChatMember` to log departures
|
|
- `OnMyChatMember` to detect when the bot itself is added to or removed from a group
|
|
|
|
## Required bot permissions
|
|
|
|
The bot must be an **admin** in the group (or at minimum have the *"Read Messages"* permission granted to non-admin bots via `setMyDefaultAdminRights`). Without this, Telegram does not forward service messages about member joins and leaves.
|
|
|
|
## Running
|
|
|
|
```bash
|
|
export TELEGRAM_BOT_TOKEN=123456:ABC...
|
|
go run ./examples/welcome
|
|
```
|
|
|
|
Add the bot to a group, then have another user join or leave — the bot will greet joiners and log departures to stdout.
|