-
Notifications
You must be signed in to change notification settings - Fork 37
Миграция до 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