Skip to content

Commit 27bd3e9

Browse files
ernadoclaude
andcommitted
docs(roadmap): Phase 5 surface complete (games + payments filled)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 26d1a1f commit 27bd3e9

1 file changed

Lines changed: 18 additions & 16 deletions

File tree

docs/roadmap.md

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -108,25 +108,26 @@ with the chat-management and query work in Phase 5).
108108

109109
## Phase 5 — Files, queries, chat management
110110

111-
**Done** on `main` (payments and games aside — see below). The methods are on
112-
`*Bot` with the same functional-option style as Phase 3. See `file.go`,
113-
`answer.go`, `commands.go`, `chat_member_methods.go`, `chat_admin.go`,
114-
`chat_info.go`, `chat_photo.go`, `invite_links.go`, `live_location.go`,
115-
`edit_media.go`, `poll.go`, `inline_query_result.go`,
116-
`input_message_content.go`, `sticker.go`, `sticker_set.go`.
111+
**Done** on `main` — the conformance test's deferred list is now empty: every
112+
method published in the doc snapshot is implemented (or, for
113+
`getUpdates`/webhooks/`logOut`/`close`, categorized as not-applicable to the
114+
MTProto model). The methods are on `*Bot` with the same functional-option style
115+
as Phase 3. See `file.go`, `answer.go`, `commands.go`, `chat_member_methods.go`,
116+
`chat_admin.go`, `chat_info.go`, `chat_photo.go`, `invite_links.go`,
117+
`live_location.go`, `edit_media.go`, `poll.go`, `inline_query_result.go`,
118+
`input_message_content.go`, `sticker.go`, `sticker_set.go`, `games.go`,
119+
`payments.go`, `send_invoice.go`, `passport.go`.
117120

118121
-`GetFile` + download (`DownloadFile`/`DownloadFileToPath`);
119122
`file_unique_id` resolved — derived locally from the decoded `file_id` with
120123
the TDLib scheme (web/document exact; legacy photos via volume/local id, newer
121124
photo sources fall back to media id). Resolves Decisions-needed #1. No HTTP
122125
file server in the MTProto-native model, so `GetFile` is decode-only.
123-
- `AnswerCallbackQuery` (+ `Context.AnswerCallback`) and `AnswerInlineQuery`
124-
(+ `Context.AnswerInline`) done — the `InlineQueryResult` union (article;
126+
- `AnswerCallbackQuery` (+ `Context.AnswerCallback`) and `AnswerInlineQuery`
127+
(+ `Context.AnswerInline`) — the `InlineQueryResult` union (article;
125128
photo/gif/mpeg4 gif by URL; cached photo/gif/sticker/document/video/voice/
126129
audio by file_id; contact/location/venue) and the `InputMessageContent` union
127-
(text/location/venue/contact). Payment answers
128-
`AnswerPreCheckoutQuery`/`AnswerShippingQuery` deferred (need payment-update
129-
plumbing, which has no incoming updates wired yet).
130+
(text/location/venue/contact).
130131
- ☑ Chat members: `Ban`/`Unban`/`Restrict`/`PromoteChatMember`,
131132
`GetChatMember`, `GetChatAdministrators`, `GetChatMemberCount`
132133
(supergroups/channels via `channels.*`); `ChatPermissions`/`ChatAdminRights`
@@ -145,11 +146,12 @@ with the chat-management and query work in Phase 5).
145146
- ☑ Stickers: `UploadStickerFile`, `CreateNewStickerSet`, `AddStickerToSet`,
146147
`DeleteStickerFromSet`, `SetStickerPositionInSet`, `GetStickerSet`,
147148
`SetStickerSetThumb` (`InputSticker`/`StickerFormat`/`StickerSet`).
148-
149-
Deferred within Phase 5 (need their own update/type infrastructure):
150-
**payments** (`AnswerPreCheckoutQuery`/`AnswerShippingQuery`/`SendInvoice`/
151-
`SetPassportDataErrors`) and **games** (`SendGame`/`SetGameScore`/
152-
`GetGameHighScores`).
149+
- ☑ Games: `SendGame`, `SetGameScore`, `GetGameHighScores`
150+
(`Game`/`GameHighScore`).
151+
- ☑ Payments: `SendInvoice` (`InvoiceParams`), `AnswerShippingQuery`,
152+
`AnswerPreCheckoutQuery`, incoming `ShippingQuery`/`PreCheckoutQuery`
153+
(`On{Shipping,PreCheckout}Query`), `SetPassportDataErrors`
154+
(`PassportElementError` union).
153155

154156
## Phase 6 — Errors, rate limiting, resilience
155157

0 commit comments

Comments
 (0)