# Dokumentasi Telegram Bot API v10+

Telegram Bot API terus diperbarui dengan berbagai fitur dari aplikasi klien Telegram terbaru. Sejak rilis Bot API versi 7.0 hingga v10+, Telegram memperkenalkan banyak fungsionalitas besar. Berikut adalah ringkasan fitur-fitur baru yang bisa dimanfaatkan oleh bot Anda.

## 1. Telegram Stars dan Pembayaran Digital (API v7.4+)

Bot kini dapat menjual barang digital, langganan, dan menerima donasi (paid media) menggunakan mata uang in-app: **Telegram Stars**.
- **Kirim Invoice Stars**: Gunakan `sendInvoice` dengan currency `XTR`.
- **Refund Stars**: Gunakan method `refundStarPayment`.
- **Media Berbayar**: Kirim foto/video eksklusif yang hanya bisa dibuka jika user membayar menggunakan Stars (`sendPaidMedia`).
- Web App Mini App bisa mengarahkan user untuk top up Stars secara langsung.

## 2. Reactions (API v7.0+)

Bot dapat berinteraksi secara organik dengan menambahkan dan merespons reaction emoji pada pesan pengguna.
- **Mendeteksi Reaction**: Update tipe `message_reaction` ketika pengguna mengubah reaksi mereka pada pesan.
- **Memberikan Reaction**: Bot dapat menggunakan method `setMessageReaction` untuk memberikan reaction pada pesan pengguna (misal: bereaksi dengan emoji 👍 jika pesan berhasil diproses).

## 3. Fitur Bisnis (Telegram Business) (API v7.2+)

Pengguna dengan Telegram Premium dapat mengubah akun mereka menjadi akun Bisnis dan mengaktifkan integrasi Bot. Fitur ini mengizinkan bot untuk membalas pesan atas nama pengguna di obrolan pribadi mereka.
- **Update Baru**: `business_connection` dan `business_message`.
- Saat bot membalas obrolan bisnis, bot menggunakan parameter `business_connection_id` saat memanggil method API `sendMessage`.

## 4. Giveaways (API v7.0+)

Bot dapat memfasilitasi pembuatan Giveaway secara resmi yang didukung Telegram untuk Channel.
- **Membuat Giveaway**: Channels dapat memberikan Telegram Premium kepada pemenang secara acak.
- Tipe pesan khusus: `giveaway`, `giveaway_winners`, `giveaway_completed`.

## 5. Telegram Web Apps / Mini Apps Updates

Web App API (Mini Apps) menerima banyak penyempurnaan besar di v7+:
- **Cloud Storage**: Mini Apps dapat menyimpan dan membaca data sinkron menggunakan fungsi `CloudStorage`.
- **Biometric Authentication**: Dukungan FaceID/TouchID untuk konfirmasi di dalam Mini App.
- **Haptic Feedback**: Mini Apps dapat memicu getaran di handphone user.
- **Orientasi Perangkat & Gyroscope**: Deteksi rotasi dan orientasi device.
- Tampilan Web App bisa diubah menjadi layar penuh secara menyeluruh.

## 6. Boosts, Chat Backgrounds & Profile Photos

- **Boosts (v7.0)**: Bot dapat memonitor status Boost sebuah channel dengan update `chat_boost` dan mendapatkan daftar boosters dengan `getUserChatBoosts`.
- **Set Profil Channel (v7.6+)**: Jika bot memiliki hak admin di Channel, bot dapat mengubah Background Channel, foto profil Channel, deskripsi, hingga merubah title (`setChatBackground`).

## 7. Quote & Reply Parameters Baru (v7.0+)

Sistem *reply* telah ditingkatkan. Bot dapat me-reply spesifik kalimat dari sebuah pesan, bukan keseluruhan pesan.
- Menggantikan parameter usang `reply_to_message_id`.
- Sekarang menggunakan object `ReplyParameters` dalam `send_message`, yang mencakup field:
  - `message_id`
  - `quote`: Teks spesifik yang dikutip.
  - `quote_position`: Posisi persis di mana kutipan berada dalam pesan asli.

## 8. Link Preview Parameters Baru

Telegram memperkenalkan kustomisasi yang sangat mendalam terkait *Link Preview*.
- Parameter `disable_web_page_preview` sudah kadaluarsa (deprecated).
- Sekarang diganti dengan objek `LinkPreviewOptions`, memungkinkan kontrol atas:
  - `is_disabled`: Matikan preview
  - `url`: Atur spesifik url mana yang akan di preview (jika dalam teks ada 2 link)
  - `prefer_small_media` / `prefer_large_media`: Ubah ukuran preview (di-expand atau tidak).
  - `show_above_text`: Letakkan preview link di atas pesan teks.

## 9. Bot API 10.0 (Major Update — Mei 2026)

Pembaruan masif yang memperluas batas cara bot berinteraksi, baik dengan pengguna maupun dengan bot lainnya:

- **Guest Mode (Mode Tamu)**
  Fitur ramah privasi yang memungkinkan bot untuk ditambahkan (`@mention`) di grup atau obrolan tanpa harus bergabung secara penuh sebagai *member*. Bot hanya akan menerima pesan yang secara eksplisit me-mention dirinya, dan bot dapat merespons interaksi ini menggunakan method baru `answerGuestQuery`.
  
- **Bot-to-Bot Communication Mode**
  Telegram kini merilis komunikasi antar-bot secara *native*! Sebuah bot kini bisa memanggil, me-mention, atau mengirim pesan secara langsung ke bot lain menggunakan *username* mereka tanpa perlu server perantara (*intermediary*). Sangat ideal untuk membangun skema *multi-agent workflow* (misal: bot eksekutor kode berinteraksi dengan bot *reviewer*).

- **Managed Bots (Bot Manajer)**
  Sebagai kelanjutan fitur di akhir Maret, sekarang sebuah "Manager Bot" bisa membuat dan mengonfigurasi *agent bot* personal untuk pengguna secara terprogram dan otomatis. Hal ini menggunakan method `getManagedBotToken` dan `replaceManagedBotToken`, mengeliminasi kebutuhan bagi pengguna untuk membuat token secara manual via `@BotFather`.

- **Media & Polls Baru**
  - **Live Photos**: Sekarang bot dapat mengirim dukungan native untuk Live Photos menggunakan method `sendLivePhoto`.
  - **Kuis Multi-Jawaban**: Polling jenis kuis kini mendukung pengiriman banyak opsi jawaban yang benar (multiple correct answers) melalui parameter `correct_option_ids` (berbentuk array).

## Kesimpulan Implementasi

Dalam migrasi ke `grammY`, sangat direkomendasikan untuk beralih ke parameter baru ini. Contoh implementasinya di kode:

**Contoh Reply Baru:**
```javascript
// Usang (Deprecated)
ctx.reply('Jawaban', { reply_to_message_id: 1234 });

// Baru (Modern API 7.0+)
ctx.reply('Jawaban', { reply_parameters: { message_id: 1234 } });
```

**Contoh Link Preview:**
```javascript
// Usang (Deprecated)
ctx.reply('Cek link ini: https://google.com', { disable_web_page_preview: true });

// Baru (Modern API 7.0+)
ctx.reply('Cek link ini: https://google.com', { link_preview_options: { is_disabled: true } });
```
