-
-
Notifications
You must be signed in to change notification settings - Fork 36
Миграция до v2
Daniil Suvorov edited this page Sep 4, 2020
·
8 revisions
О новых функциях, можно прочитать на странице релиза
- Все функции
Init
удалены -
New...
функции возвращают указатель - Удален
api.NewVKWithPool
, можно пользоватьсяapi.NewVK(token ...string)
(лимит указывается только на один токен) -
Longpoll
переименован вLongPoll
Версия VK API обновлена с 5.103
до 5.122
.
Все ошибки переработаны для работы с Go 1.13
-
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
- Отказ от 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