package co.phoenixlab.discord.api.request.channel.message;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Size;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.stream.Collectors;

@Getter
@NoArgsConstructor
@AllArgsConstructor
public class BulkMessageDeleteRequest {

    @Size(min = 2, max = 100)
    private String[] messages;

    static class Builder {

        private ArrayList<String> pending;

        public Builder() {
            pending = new ArrayList<>();
        }

        public Builder messages(String[] msgIds) {
            pending.addAll(Arrays.asList(msgIds));
            return this;
        }

        public Builder addMessage(String msgId) {
            pending.add(msgId);
            return this;
        }

        public Builder messages(long[] msgIds) {
            pending.addAll(Arrays.stream(msgIds).
                mapToObj(Long::toUnsignedString).
                collect(Collectors.toList()));
            return this;
        }

        public Builder addMessage(long msgId) {
            pending.add(Long.toUnsignedString(msgId));
            return this;
        }

        public BulkMessageDeleteRequest build() {
            return new BulkMessageDeleteRequest(pending.toArray(new String[pending.size()]));
        }
    }
}

@@ -56,24 +56,78 @@
 ge;%0A%0Aimport 
+co.phoenixlab.discord.api.util.SnowflakeUtils;%0Aimport 
 lombok.AllAr
@@ -142,31 +142,8 @@
 ucto
-r;%0Aimport lombok.Builde
 r;%0Ai
@@ -1014,24 +1014,35 @@
 Obj(
-Long::toUnsigned
+SnowflakeUtils::snowflakeTo
 Stri
@@ -1205,23 +1205,34 @@
 add(
-Long.toUnsigned
+SnowflakeUtils.snowflakeTo
 Stri

Use snowflakeToString