@d54e3dafc1c0a95a01

Можно ли с помощью Telethon нажимать или отправлять запросы по Inline клавиатуре?

Допустим я отправил сообщение боту, а он мне вывел сообщение с inline клавиатурой:
6395dc8da98e8120918980.png

Могу ли я с помощью какого-то метода отправить запрос или нажать на кнопку "Статистика" или любую другую?
  • Вопрос задан
  • 901 просмотр
Пригласить эксперта
Ответы на вопрос 2
gnifajio
@gnifajio
Совершенствуюсь каждый день
Чтобы нажать inline кнопку с помощью Telethon, вы можете воспользоваться методом
client.send_callback_query(callback_query_id: str, text: Optional[str] = None, show_alert: Optional[bool] = None, url: Optional[str] = None, cache_time: Optional[int] = None)
клиента Telethon.

Пример использования:

from telethon import TelegramClient, events

API_ID = 12345
API_HASH = 'your_api_hash'

client = TelegramClient('session_name', api_id, api_hash)
client.start()

@client.on(events.CallbackQuery)
async def callback_query_handler(event):
    # Получаем ID inline кнопки
    callback_query_id = event.data

    # Нажимаем кнопку
    await client.send_callback_query(callback_query_id)

В этом примере мы создаем хендлер события CallbackQuery, который будет вызываться каждый раз, когда пользователь нажимает inline кнопку. Мы получаем ID inline кнопки из события, а затем нажимаем кнопку с помощью метода send_callback_query().
Ответ написан
Комментировать
@SawaPlayGO
api_id = ... 
api_hash = ... 
app = TelegramClient('session', api_id, api_hash)

async def main():
    messages = await app.get_messages('...') # Получение объекта(ов) сообщений. Просто укажите чат в котором хотите получить сообщения, а после из списка выберите нужное вам.
    await messages[0].click(text='text') # Где text - текст кнопки

app.start()
app.loop.run_until_complete(main())
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы