func (v Board) AddTopic(params BoardAddTopicParams) (BoardAddTopicResponse, error) {
	r, err := v.API.Request("board.addTopic", params)
	if err != nil {
		return 0, err
	}
	var resp BoardAddTopicResponse
	var cnv int
	cnv, err = strconv.Atoi(string(r))
	resp = BoardAddTopicResponse(cnv)
	if err != nil {
		return 0, err
	}
	return resp, nil
}
AddTopic Creates a new topic on a community's discussion board.
package vkapi
import (
	"encoding/json"
	"strconv"
	"github.com/stek29/vk"
)
type Board struct {
	API vk.API
}
type BoardGetTopicsParams struct {
	GroupID int `url:"group_id"`
	TopicIDs CSVIntSlice `url:"topic_ids,omitempty"`
	Order int `url:"order,omitempty"`
	Offset int `url:"offset,omitempty"`
	Count int `url:"count,omitempty"`
	Extended bool `url:"extended,omitempty"`
	Preview int `url:"preview,omitempty"`
	PreviewLength int `url:"preview_length,omitempty"`
}
type BoardGetTopicsResponse interface {
	isBoardGetTopics()
}
type BoardGetTopicsResponseNormal struct {
	Count int             `json:"count,omitempty"`
	Items []vk.BoardTopic `json:"items,omitempty"`
	DefaultOrder int `json:"default_order,omitempty"`
	CanAddTopics vk.BoolInt `json:"can_add_topics,omitempty"`
}
func (BoardGetTopicsResponseNormal) isBoardGetTopics() {}
type BoardGetTopicsResponseExtended struct {
	Count int             `json:"count,omitempty"`
	Items []vk.BoardTopic `json:"items,omitempty"`
	DefaultOrder int `json:"default_order,omitempty"`
	CanAddTopics vk.BoolInt `json:"can_add_topics,omitempty"`
	Profiles     []vk.User  `json:"profiles,omitempty"`
}
func (BoardGetTopicsResponseExtended) isBoardGetTopics() {}
func (v Board) GetTopics(params BoardGetTopicsParams) (BoardGetTopicsResponse, error) {
	r, err := v.API.Request("board.getTopics", params)
	if err != nil {
		return nil, err
	}
	var resp BoardGetTopicsResponse
	if params.Extended {
		var tmp BoardGetTopicsResponseExtended
		err = json.Unmarshal(r, &tmp)
		resp = &tmp
	} else {
		var tmp BoardGetTopicsResponseNormal
		err = json.Unmarshal(r, &tmp)
		resp = &tmp
	}
	if err != nil {
		return nil, err
	}
	return resp, nil
}
type BoardGetCommentsParams struct {
	GroupID int `url:"group_id"`
	TopicID int `url:"topic_id"`
	NeedLikes      bool `url:"need_likes,omitempty"`
	StartCommentID int  `url:"start_comment_id,omitempty"`
	Offset int `url:"offset,omitempty"`
	Count int `url:"count,omitempty"`
	Extended bool `url:"extended,omitempty"`
	Sort string `url:"sort,omitempty"`
}
type BoardGetCommentsResponse interface {
	isBoardGetComments()
}
type BoardGetCommentsResponseNormal struct {
	Count int               `json:"count,omitempty"`
	Items []vk.CommentBoard `json:"items,omitempty"`
	Poll  vk.Poll           `json:"poll,omitempty"`
}
func (BoardGetCommentsResponseNormal) isBoardGetComments() {}
type BoardGetCommentsResponseExtended struct {
	Count    int               `json:"count,omitempty"`
	Items    []vk.CommentBoard `json:"items,omitempty"`
	Poll     vk.Poll           `json:"poll,omitempty"`
	Profiles []vk.User         `json:"profiles,omitempty"`
	Groups   []vk.Group        `json:"groups,omitempty"`
}
func (BoardGetCommentsResponseExtended) isBoardGetComments() {}
func (v Board) GetComments(params BoardGetCommentsParams) (BoardGetCommentsResponse, error) {
	r, err := v.API.Request("board.getComments", params)
	if err != nil {
		return nil, err
	}
	var resp BoardGetCommentsResponse
	if params.Extended {
		var tmp BoardGetCommentsResponseExtended
		err = json.Unmarshal(r, &tmp)
		resp = &tmp
	} else {
		var tmp BoardGetCommentsResponseNormal
		err = json.Unmarshal(r, &tmp)
		resp = &tmp
	}
	if err != nil {
		return nil, err
	}
	return resp, nil
}
type BoardAddTopicParams struct {
	GroupID int `url:"group_id"`
	Title string `url:"title"`
	Text string `url:"text,omitempty"`
	FromGroup bool `url:"from_group,omitempty"`
	Attachments CSVStringSlice `url:"attachments,omitempty"`
}
type BoardAddTopicResponse int