Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.google.gson.JsonElement;
- import com.vk.api.sdk.client.AbstractQueryBuilder;
- import com.vk.api.sdk.client.VkApiClient;
- import com.vk.api.sdk.client.actors.UserActor;
- import com.vk.api.sdk.exceptions.ApiException;
- import com.vk.api.sdk.exceptions.ClientException;
- import com.vk.api.sdk.httpclient.HttpTransportClient;
- import com.vk.api.sdk.objects.photos.responses.PhotoUploadResponse;
- import org.jetbrains.annotations.Nullable;
- import java.io.File;
- import java.util.*;
- public final class Main {
- static final VkApiClient vkApiClient = new VkApiClient(new HttpTransportClient());
- private static UserActor zabl;//Этот долбоеб бля
- static String path;
- static int albumId;
- private Main() {}
- /**
- * {@value размер партии}
- */
- private static final int CHUNK = 20;
- public static void main(String[] args) throws InterruptedException, ClientException, ApiException {
- initial();
- File[] listFiles = new File(path).listFiles();
- if(listFiles == null) {
- System.out.println("И где путь?");
- return;
- }
- if(listFiles.length == 0) {
- System.out.println("И где мемы?");
- return;
- }
- List<AbstractQueryBuilder> listUpload = new ArrayList<>();//Здесь я буду собирать ссылки для загрузки
- for(int len = listFiles.length, i = 0; i < len; ++i) {
- listUpload.add(vkApiClient.photos().getUploadServer(zabl).albumId(albumId));
- System.out.println(listFiles[i]);
- if(i % CHUNK == 0) {//Каждый чанк отправляю
- int s = i;
- List<AbstractQueryBuilder> list = new ArrayList<>();
- for (JsonElement o : Objects.requireNonNull(push(listUpload)).getAsJsonArray()) {
- PhotoUploadResponse photoQuery = vkApiClient.upload()
- .photo(o.getAsJsonObject().get("upload_url").getAsString(), listFiles[s++])
- .execute();
- list.add(vkApiClient.photos()
- .save(zabl)
- .albumId(albumId)
- .photosList(photoQuery.getPhotosList())
- .hash(photoQuery.getHash())
- .server(photoQuery.getServer())
- );
- }
- listUpload.clear();//очищаю старый ссылки
- push(list);
- }
- //на всякий случай
- Thread.sleep(10);
- }
- }
- @Nullable
- static JsonElement push(List<AbstractQueryBuilder> list) {
- System.out.println("push");
- try {
- return vkApiClient.execute().batch(zabl, list).execute();
- } catch (ApiException | ClientException e) {
- e.printStackTrace();
- }
- return null;
- }
- static void initial() {
- try (Scanner scanner = new Scanner(System.in)) {
- System.out.println("Введи айди своей стр: ");
- int id = Integer.parseInt(scanner.nextLine());
- //Просим пароль от пизды
- System.out.println("Введи access_token от своей стр: ");
- zabl = new UserActor(id, scanner.nextLine());
- System.out.println("Введи путь к мемам: ");
- path = scanner.nextLine();
- System.out.println("Введи айди альбома: ");
- albumId = Integer.parseInt(scanner.nextLine());
- }
- }
- }
Add Comment
Please, Sign In to add comment