Skip to content

Telegram button surface — input gathering #112

Description

@jfberry

Summary

Gathering end-user input on whether Telegram should grow a button surface analogous to the Discord buttons being designed in #108#110, and if so what it should look like. No spec yet — this issue is here to collect Telegram operators' and users' input.

Context

#108#110 design a Discord-side button surface: alert messages get inline buttons that, on click, either render an ephemeral follow-up or dispatch a named action (mute, unsubscribe, redeliver, …). The Discord work is the priority because that's where the volume is, but Telegram operators have asked about parity in the past.

Telegram's primitive is different — inline keyboards with callback_data instead of Discord components. Key technical differences:

  • callback_data is capped at 64 bytes, which is too tight for the Discord-style poracle:btn:<messageID>:<actionID> format. A Telegram surface would need either a server-side token table (short hash → real action) or rely on Telegram's own message ID for context.
  • There's no ephemeral message primitive in Telegram. The Discord-style "click button → only you see the response" pattern doesn't exist. Closest equivalents: edit the original message (visible to everyone), send a private message back to the clicker (if Poracle has DM access), or use Telegram's answerCallbackQuery to show a transient toast.
  • Inline keyboard layout, button styles, and click model are all different from Discord. A like-for-like port is probably wrong.

What we want input on

  1. Do you want this on Telegram at all? The most useful data point. Comment with a 👍 or describe your use case.
  2. What buttons matter to you on Telegram alerts? Mute? "Show PVP details"? Something Discord doesn't offer? Different priorities are fine.
  3. How should the "ephemeral response" pattern map? Options to weigh:
    • Toast popup via answerCallbackQuery (max ~200 chars, transient)
    • DM the clicker (requires Poracle DM access; visible to that user only)
    • Edit the original message inline (visible to everyone in the chat)
  4. Group chats vs. private chats — different needs? Telegram's group dynamics differ from Discord channels; what makes sense in each?
  5. What user-facing problems would buttons solve for you that commands don't already? Honest answer here helps weigh whether the work is worth doing.

What this issue is NOT

  • A design spec — that comes after the input gathering.
  • A commitment to deliver — depends on demand and feasibility.
  • A timeline — Discord ships first; Telegram follows only if there's demand to justify the (substantial) extra work.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions