Skip to content

Commit

Permalink
Merge pull request #136 from SevereCloud/v2.1.0
Browse files Browse the repository at this point in the history
v2.1.0
  • Loading branch information
SevereCloud authored Sep 14, 2020
2 parents d4cd4d9 + 1f29659 commit 580b1d2
Show file tree
Hide file tree
Showing 4 changed files with 105 additions and 86 deletions.
4 changes: 2 additions & 2 deletions doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ package vksdk

// Module constants.
const (
Version = "2.0.2"
API = "5.122"
Version = "2.1.0"
API = "5.124"
)
73 changes: 43 additions & 30 deletions marusia/skill.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,16 @@ Webhook URL, который вы указали в настройках.
resp.Text = "Скилл запущен"
resp.TTS = "Скилл запущен, жду команд"
case "картинка":
resp.Card = marusia.NewBigImage("Заголовок", "Описание", 457239017)
resp.Card = marusia.NewBigImage(
"Заголовок",
"Описание",
457239017,
)
case "картинки":
resp.Card = marusia.NewImageList(
457239017,
457239018,
)
case "кнопки":
resp.Text = "Держи кнопки"
resp.TTS = "Жми на кнопки"
Expand Down Expand Up @@ -300,29 +309,35 @@ const (
ItemsList CardType = "ItemsList"
)

// TODO: CardItem элемент карточки.
// type CardItem struct {
// // ID изображения из раздела "Медиа-файлы" настроек в VKApps.
// ImageID int `json:"image_id"`
// }
// CardItem элемент карточки.
type CardItem struct {
// TODO: Заголовок изображения.
// Title string `json:"title,omitempty"`

// TODO: Описание изображения.
// Description string `json:"description,omitempty"`

// ID изображения из раздела "Медиа-файлы" настроек в VKApps.
ImageID int `json:"image_id"`
}

// Card описание карточки — сообщения с поддержкой изображений.
type Card struct {
// Тип карточки.
Type CardType `json:"type"`

// Заголовок изображения.
Title string `json:"title"`
Title string `json:"title,omitempty"`

// Описание изображения.
Description string `json:"description"`
Description string `json:"description,omitempty"`

// ID изображения из раздела "Медиа-файлы" настроек в VKApps
// (игнорируется для типа ItemsList).
ImageID int `json:"image_id,omitempty"`

// TODO: Список изображений, каждый элемент является объектом формата BigImage.
// Items []CardItem `json:"items,omitempty"`
// Список изображений, каждый элемент является объектом формата BigImage.
Items []CardItem `json:"items,omitempty"`
}

// NewBigImage возвращает карточку с картинкой.
Expand All @@ -335,26 +350,24 @@ func NewBigImage(title, description string, imageID int) *Card {
}
}

// TODO: NewItemsList возвращает карточку с набором картинок.
// func NewItemsList(title, description string, items []CardItem) *Card {
// return &Card{
// Type: ItemsList,
// Title: title,
// Description: description,
// Items: items,
// }
// }

// TODO: NewImageList возвращает карточку с набором картинок.
// func NewImageList(title, description string, imageIDs ...int) *Card {
// items := make([]CardItem, len(imageIDs))

// for i := 0; i < len(imageIDs); i++ {
// items[i].ImageID = imageIDs[i]
// }

// return NewItemsList(title, description, items)
// }
// NewItemsList возвращает карточку с набором картинок.
func NewItemsList(items ...CardItem) *Card {
return &Card{
Type: ItemsList,
Items: items,
}
}

// NewImageList возвращает карточку с набором картинок.
func NewImageList(imageIDs ...int) *Card {
items := make([]CardItem, len(imageIDs))

for i := 0; i < len(imageIDs); i++ {
items[i].ImageID = imageIDs[i]
}

return NewItemsList(items...)
}

// Response данные для ответа пользователю.
type Response struct {
Expand Down
80 changes: 37 additions & 43 deletions marusia/skill_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,49 +54,43 @@ func TestNewBigImage(t *testing.T) {
)
}

// TODO:
// func TestNewItemsList(t *testing.T) {
// t.Parallel()

// f := func(title, description string, items []marusia.CardItem, actual *marusia.Card) {
// t.Helper()

// card := marusia.NewItemsList(title, description, items)

// assert.Equal(t, card, actual)
// }

// f("title", "description", []marusia.CardItem{{1}, {2}},
// &marusia.Card{
// Type: marusia.ItemsList,
// Title: "title",
// Description: "description",
// Items: []marusia.CardItem{{1}, {2}},
// },
// )
// }

// TODO:
// func TestNewImageList(t *testing.T) {
// t.Parallel()

// f := func(title, description string, items []int, actual *marusia.Card) {
// t.Helper()

// card := marusia.NewImageList(title, description, items...)

// assert.Equal(t, card, actual)
// }

// f("title", "description", []int{1, 2},
// &marusia.Card{
// Type: marusia.ItemsList,
// Title: "title",
// Description: "description",
// Items: []marusia.CardItem{{1}, {2}},
// },
// )
// }
func TestNewItemsList(t *testing.T) {
t.Parallel()

f := func(items []marusia.CardItem, actual *marusia.Card) {
t.Helper()

card := marusia.NewItemsList(items...)

assert.Equal(t, card, actual)
}

f([]marusia.CardItem{{1}, {2}},
&marusia.Card{
Type: marusia.ItemsList,
Items: []marusia.CardItem{{1}, {2}},
},
)
}

func TestNewImageList(t *testing.T) {
t.Parallel()

f := func(items []int, actual *marusia.Card) {
t.Helper()

card := marusia.NewImageList(items...)

assert.Equal(t, card, actual)
}

f([]int{1, 2},
&marusia.Card{
Type: marusia.ItemsList,
Items: []marusia.CardItem{{1}, {2}},
},
)
}

func TestResponse_AddURL(t *testing.T) {
t.Parallel()
Expand Down
34 changes: 23 additions & 11 deletions object/groups.go
Original file line number Diff line number Diff line change
Expand Up @@ -683,19 +683,31 @@ type GroupsLongPollSettings struct {
IsEnabled BaseBoolInt `json:"is_enabled"` // Shows whether Long Poll is enabled
}

// GroupsMarketType ...
type GroupsMarketType string

// Possible values.
const (
GroupsMarketBasic GroupsMarketType = "basic"
GroupsMarketAdvanced GroupsMarketType = "advanced"
)

// GroupsMarketInfo struct.
type GroupsMarketInfo struct {
ContactID int `json:"contact_id"` // Contact person ID
Currency MarketCurrency `json:"currency"`
CurrencyText string `json:"currency_text"` // Currency name
Enabled BaseBoolInt `json:"enabled"` // Information whether the market is enabled
CommentsEnabled BaseBoolInt `json:"comments_enabled"`
CanMessage BaseBoolInt `json:"can_message"`
MainAlbumID int `json:"main_album_id"` // Main market album ID
PriceMax string `json:"price_max"` // Maximum price
PriceMin string `json:"price_min"` // Minimum price
Wiki PagesWikipageFull `json:"wiki"`
CountryIDs []int `json:"country_ids"`
// information about the type of store. Returned if the group includes
// the "Products" section.
Type GroupsMarketType `json:"type,omitempty"`
ContactID int `json:"contact_id,omitempty"` // Contact person ID
Currency MarketCurrency `json:"currency,omitempty"`
CurrencyText string `json:"currency_text,omitempty"` // Currency name
Enabled BaseBoolInt `json:"enabled"` // Information whether the market is enabled
CommentsEnabled BaseBoolInt `json:"comments_enabled,omitempty"`
CanMessage BaseBoolInt `json:"can_message,omitempty"`
MainAlbumID int `json:"main_album_id,omitempty"` // Main market album ID
PriceMax string `json:"price_max,omitempty"` // Maximum price
PriceMin string `json:"price_min,omitempty"` // Minimum price
Wiki PagesWikipageFull `json:"wiki,omitempty"`
CountryIDs []int `json:"country_ids,omitempty"`
}

// GroupsGroupRole Role type.
Expand Down

0 comments on commit 580b1d2

Please sign in to comment.