bivashy / java-vk-bots-long-poll-api

A Java library to create VK bots using Bots Long Poll API
MIT License
3 stars 0 forks source link

Ошибка в AttachmentDeserializer.class #122

Closed Tmosk closed 2 years ago

Tmosk commented 2 years ago

В AttachmentDeserializer.class нет типа event, из за этого при попытке отправки поста с ивентом бот завершает работу с NullPointerException

Stack trace: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "api.longpoll.bots.model.objects.media.AttachmentType.ordinal()" because "attachmentType" is null at api.longpoll.bots.adapters.deserializers.AttachmentDeserializer.getType(AttachmentDeserializer.java:51) at api.longpoll.bots.adapters.deserializers.AttachmentDeserializer.deserialize(AttachmentDeserializer.java:44) at api.longpoll.bots.adapters.deserializers.AttachmentDeserializer.deserialize(AttachmentDeserializer.java:29) at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) at com.google.gson.TypeAdapter$1.read(TypeAdapter.java:199) at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82) at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:131) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:222) at com.google.gson.Gson.fromJson(Gson.java:927) at com.google.gson.Gson.fromJson(Gson.java:994) at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:162) at api.longpoll.bots.adapters.deserializers.AttachmentDeserializer.deserialize(AttachmentDeserializer.java:42) at api.longpoll.bots.adapters.deserializers.AttachmentDeserializer.deserialize(AttachmentDeserializer.java:29) at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) at com.google.gson.TypeAdapter$1.read(TypeAdapter.java:199) at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82) at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:131) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:222) at com.google.gson.Gson.fromJson(Gson.java:927) at com.google.gson.Gson.fromJson(Gson.java:994) at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:162) at api.longpoll.bots.adapters.deserializers.EventDeserializer.deserialize(EventDeserializer.java:58) at api.longpoll.bots.adapters.deserializers.EventDeserializer.deserialize(EventDeserializer.java:46) at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) at com.google.gson.TypeAdapter$1.read(TypeAdapter.java:199) at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82) at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:131) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:222) at com.google.gson.Gson.fromJson(Gson.java:927) at com.google.gson.Gson.fromJson(Gson.java:994) at com.google.gson.Gson.fromJson(Gson.java:967) at api.longpoll.bots.methods.impl.VkMethod.execute(VkMethod.java:118) at api.longpoll.bots.LongPollBot.startPolling(LongPollBot.java:61)

Tmosk commented 2 years ago

Так же ломает и меню. Пример поста с меню: https://vk.com/wall-101965347_477

yvasyliev commented 2 years ago

Какую версию java-vk-bots-longpoll-api вы используете? AttachmentDeserializer был удален с проекта в версии 3.3.0.

Tmosk commented 2 years ago

Ага, прошу прощения. Использую 3.2.10

yvasyliev commented 2 years ago

Проблема актуальна для версий 3.3.0 и выше, только теперь Attachment будет null (NPE не упадет). Надо обновить модель.

Tmosk commented 2 years ago

Спасибо, обновил версию, всё работает исправно.

yvasyliev commented 2 years ago

@Tmosk, у вас есть пример event?

Tmosk commented 2 years ago

Да, единственное что удалось найти:https://vk.com/wall-197201193_1978 Ошибок на event не появлялось.