merged from gramsrv upstream

This commit is contained in:
onysd 2026-09-01 12:06:31 +03:00
parent 79c64ee916
commit 21a0856587
651 changed files with 54774 additions and 4590 deletions

View file

@ -65,6 +65,9 @@ const (
MarkupButtonSimpleWebView MarkupButtonType = "simple_webview"
MarkupButtonSwitchInline MarkupButtonType = "switch_inline"
MarkupButtonCopy MarkupButtonType = "copy"
// MarkupButtonBuy is keyboardButtonBuy. It is valid only on an inline
// keyboard attached to invoice media.
MarkupButtonBuy MarkupButtonType = "buy"
)
// MarkupButtonStyle is the protocol-neutral semantic button color. Telegram
@ -375,6 +378,11 @@ func validateMarkupButton(b MarkupButton, replyKeyboard bool) error {
if b.CopyText == "" || utf8.RuneCountInString(b.CopyText) > 256 {
return ErrButtonInvalid
}
case MarkupButtonBuy:
if len(b.Data) != 0 || b.URL != "" || b.Query != "" || b.CopyText != "" ||
b.RequiresPassword || b.LoginBotUserID != 0 || b.ButtonID != 0 {
return ErrButtonInvalid
}
default:
// webview/game/url_auth/request_* 等 P3 未实现类型:拒绝,绝不半实现下发。
return ErrButtonTypeInvalid