Gem: Telegram How To

Сделать инлайн-выдачу и игры

Что это

Инлайн-режим позволяет в любом чате набрать `@your_bot` и запрос, а потом отправить один из результатов бота. Игры — это HTML5-страницы: бот присылает их сообщением с кнопкой запуска, и в нём видны рекорды этого чата.

Как сделать

  1. В @BotFather: /setinline с подсказкой для поля ввода, /setinlinegeo — чтобы… В @BotFather: /setinline с подсказкой для поля ввода, /setinlinegeo — чтобы запрашивать геопозицию, /setinlinefeedback — чтобы получать `chosen_inline_result`.
  2. На каждый `inline_query` отвечай через `answerInlineQuery`: до 50 результатов… На каждый `inline_query` отвечай через `answerInlineQuery`: до 50 результатов 20 типов. Следующие страницы отдавай через `next_offset`, а кнопка `button` над выдачей ведёт в чат с ботом (`start_parameter`) или в мини-приложение (`web_app`).
  3. Игра: отправь @BotFather /newgame, пришли описание, картинку и, если хочешь,… Игра: отправь @BotFather /newgame, пришли описание, картинку и, если хочешь, GIF, прими условия и задай короткое имя игры.
  4. Отправляй игру через `sendGame` с `game_short_name` или как `InlineQueryResultGame`.
  5. Нажатие кнопки запуска приходит как `callback_query` с `game_short_name`:… Нажатие кнопки запуска приходит как `callback_query` с `game_short_name`: ответь `answerCallbackQuery` и передай в `url` адрес игры для этого игрока.
  6. Очки записывай через `setGameScore`; `getGameHighScores` вернёт игрока, по два соседа с каждой стороны и первую тройку.

Осторожно

С Gem

Gem не делает для твоего бота ни инлайн-выдачи, ни игр Bot API. Рядом другое: /newapp в @gembot собирает по описанию небольшое мини-приложение со своей ссылкой `t.me/gembot?startapp=<slug>`, хранилищем, таблицами лидеров и комнатами для совместной игры.

Источники

Открыть в Telegram ↗