negezor / vk-io

Modern VK API SDK for Node.js
https://npm.im/vk-io
MIT License
549 stars 85 forks source link

getExecuteCode обрезает количество элементов в полях #563

Closed ApeLsiN4eG closed 9 months ago

ApeLsiN4eG commented 9 months ago

What did you do?

const vk = new API({
    token: process.env.VK_TOKEN,
    apiMode: 'parallel',
    apiExecuteCount: 25,
    apiVersion: '5.199'
});

const iterator = createCollectIterator({
    api: vk,
    method: 'wall.getComments',
    params: {
        owner_id: groupId,
        post_id: post.id,
        offset: 0,
        extended: 1,
        fields: 'sex,bdate,city,first_name,last_name,photo_400_orig,status,is_closed',
    },
    countPerRequest: 100,
    maxCount: 200,
    retryLimit: 3,
    parallelRequests: 5
});

What did you expect to happen?

Количество профилей в поле profiles должно быть полным.

What was the actual result?

Не хватает одно профиля в поле profiles.

Additional Info

https://github.com/negezor/vk-io/blob/2e8d3505a9e733d5fe80c84c33cb26fbbbe910d0/packages/vk-io/src/collect/execute-code.ts#L46-L49 Я так понял, что результаты обрезаются под количество возвращенных элементов в items. В поле profiles возвращается также и профиль автора поста при вызове wall.getComments. Получаются ситуации, когда один профиль из комментариев пропадает. Предполагаю, что подобные проблемы могут возникуть в других методах. Аналогично с полем groups.

Versions

package version
vk-io 4.9.1