2 Commits

Author SHA1 Message Date
83dca1ab39 v0.4.2.1 2026-02-10 14:27:24 +03:00
2cc2f96f02 v0.4.2 2026-02-10 14:17:44 +03:00
3 changed files with 21 additions and 15 deletions

View File

@@ -7,10 +7,16 @@ import (
"git.nix13.pw/scuroneko/extypes" "git.nix13.pw/scuroneko/extypes"
) )
const (
ButtonStyleDanger KeyboardButtonStyle = "danger"
ButtonStyleSuccess KeyboardButtonStyle = "success"
ButtonStylePrimary KeyboardButtonStyle = "primary"
)
type InlineKbButtonBuilder struct { type InlineKbButtonBuilder struct {
text string text string
iconCustomEmojiID string iconCustomEmojiID string
style InlineKeyboardButtonStyle style KeyboardButtonStyle
url string url string
callbackData string callbackData string
} }
@@ -22,7 +28,7 @@ func (b InlineKbButtonBuilder) SetIconCustomEmojiId(id string) InlineKbButtonBui
b.iconCustomEmojiID = id b.iconCustomEmojiID = id
return b return b
} }
func (b InlineKbButtonBuilder) SetStyle(style InlineKeyboardButtonStyle) InlineKbButtonBuilder { func (b InlineKbButtonBuilder) SetStyle(style KeyboardButtonStyle) InlineKbButtonBuilder {
b.style = style b.style = style
return b return b
} }
@@ -30,8 +36,8 @@ func (b InlineKbButtonBuilder) SetUrl(url string) InlineKbButtonBuilder {
b.url = url b.url = url
return b return b
} }
func (b InlineKbButtonBuilder) SetCallbackData(data *CallbackData) InlineKbButtonBuilder { func (b InlineKbButtonBuilder) SetCallbackData(cmd string, args ...any) InlineKbButtonBuilder {
b.callbackData = data.ToJson() b.callbackData = NewCallbackData(cmd, args...).ToJson()
return b return b
} }
@@ -74,12 +80,12 @@ func (in *InlineKeyboard) AddCallbackButton(text string, cmd string, args ...any
Text: text, CallbackData: NewCallbackData(cmd, args...).ToJson(), Text: text, CallbackData: NewCallbackData(cmd, args...).ToJson(),
}) })
} }
func (in *InlineKeyboard) AddCustomButton(button InlineKeyboardButton) *InlineKeyboard {
return in.append(button)
}
func (in *InlineKeyboard) AddButton(b InlineKbButtonBuilder) *InlineKeyboard { func (in *InlineKeyboard) AddButton(b InlineKbButtonBuilder) *InlineKeyboard {
return in.append(b.build()) return in.append(b.build())
} }
func (in *InlineKeyboard) AddCustomButton(button InlineKeyboardButton) *InlineKeyboard {
return in.append(button)
}
func (in *InlineKeyboard) AddLine() *InlineKeyboard { func (in *InlineKeyboard) AddLine() *InlineKeyboard {
if in.CurrentLine.Len() == 0 { if in.CurrentLine.Len() == 0 {

View File

@@ -128,12 +128,12 @@ type InlineKeyboardMarkup struct {
InlineKeyboard [][]InlineKeyboardButton `json:"inline_keyboard,omitempty"` InlineKeyboard [][]InlineKeyboardButton `json:"inline_keyboard,omitempty"`
} }
type InlineKeyboardButtonStyle string type KeyboardButtonStyle string
type InlineKeyboardButton struct { type InlineKeyboardButton struct {
Text string `json:"text"` Text string `json:"text"`
URL string `json:"url,omitempty"` URL string `json:"url,omitempty"`
CallbackData string `json:"callback_data,omitempty"` CallbackData string `json:"callback_data,omitempty"`
Style InlineKeyboardButtonStyle `json:"style,omitempty"` Style KeyboardButtonStyle `json:"style,omitempty"`
IconCustomEmojiID string `json:"icon_custom_emoji_id,omitempty"` IconCustomEmojiID string `json:"icon_custom_emoji_id,omitempty"`
} }

View File

@@ -1,8 +1,8 @@
package laniakea package laniakea
const ( const (
VersionString = "0.4.1" VersionString = "0.4.2"
VersionMajor = 0 VersionMajor = 0
VersionMinor = 4 VersionMinor = 4
VersionPatch = 1 VersionPatch = 2
) )