Миграция до v2 - SevereCloud/vksdk GitHub Wiki
О новых функциях, можно прочитать на странице релиза
Функции конструкторы
- Все функции
Init
удалены New...
функции возвращают указатель- Удален
api.NewVKWithPool
, можно пользоватьсяapi.NewVK(token ...string)
(лимит указывается только на один токен) Longpoll
переименован вLongPoll
API
Версия VK API обновлена с 5.103
до 5.122
.
Ошибки
Все ошибки переработаны для работы с Go 1.13
API
object.Error
, заменен наapi.Error
- Отказ от github.com/pkg/errors
- Все ошибки из
api/errors
в api (файлerrors.go
) - Коды ошибок теперь имеют префикс
Err
- Поддержка
errors.Is
иerrors.As
из 1.13
if errors.Is(err, api.ErrAuth) {
// ошибка авторизации
}
var e *api.Error
if errors.As(err, &e) {
log.Printf("Ошибка с кодом %d\n", e.Code)
}
- новый тип ошибки для execute
api.ExecuteError
- новый тип ошибки для методов загрузки
api.UploadError
- новый тип ошибки для неверного ответа от сервера
api.InvalidContentType
Streaming
- Отказ от github.com/pkg/errors
- Коды ошибок теперь имеют префикс
Err
- Поддержка
errors.Is
иerrors.As
из 1.13
События
- типы для событий были перенесены из
object
вevents
- все функции должны передавать ctx context.Context
groupID
,eventID
,ts
теперь передаются через контекст
groupID := events.GroupIDFromContext(ctx)
eventID := events.EventIDFromContext(ctx)
ts := longpoll.TsFromContext(ctx)
Разное
Клавиатура
- У методов клавиатуры аргумент
payload
теперьinterface{}
Теперь аргумент payload
у методов MessagesKeyboard
имеет тип interface{}
вместо string
.
Если json.Marshal не сможет обработать payload возникнет паника.
New...
функции возвращают указатель
NewMessagesKeyboard
и NewMessagesKeyboardInline
теперь возвращают *MessagesKeyboard