Добрый день! Да, в Telegram Bot API вы можете отправлять текст, фото и inline-клавиатуру одновременно, но для этого нужно использовать два отдельных метода. Это делается следующим образом:
1. **Отправка фото**: Используйте метод `sendPhoto`, чтобы отправить изображение. В этот метод можно добавить параметры, такие как заголовок и описание.
2. **Inline-клавиатура**: Клавиатуру можно добавить в параметре `reply_markup` в методе `sendPhoto`.
Пример использования `sendPhoto` с текстом и inline-клавиатурой:
```python
import requests
TOKEN = 'ваш_токен_бота'
CHAT_ID = 'ваш_чат_id'
PHOTO_URL = 'ссылка_на_ваше_фото'
inline_keyboard = {
"inline_keyboard": [
[
{"text": "Кнопка 1", "callback_data": "callback_data_1"},
{"text": "Кнопка 2", "callback_data": "callback_data_2"}
]
]
}
data = {
'chat_id': CHAT_ID,
'photo': PHOTO_URL,
'caption': 'Добрый день, друзья! Я планирую создать телеграм-бота для поиска фильмов.',
'reply_markup': json.dumps(inline_keyboard),
}
response = requests.post(f'https://api.telegram.org/bot{TOKEN}/sendPhoto', data=data)
```
Обратите внимание на следующие моменты:
- `caption` используется для того, чтобы добавить текст к фотографии.
- Параметр `reply_markup` принимает JSON-структуру, содержащую вашу inline-клавиатуру.
- Вам нужно будет импортировать модуль `json`, чтобы использовать `json.dumps`.
Таким образом, вы сможете отправить фото, текст и клавиатуру в одном сообщении.