WebhookService extends RestService { public Mono<WebhookData> createWebhook(long channelId, WebhookCreateRequest request, @Nullable String reason) { return Routes.CHANNEL_WEBHOOK_CREATE.newRequest(channelId) .body(request) .optionalHeader("X-Audit-Log-Reason", reason) .exchange(getRouter()) .bodyToMono(WebhookData.class); } WebhookService(Router router); Mono<WebhookData> createWebhook(long channelId, WebhookCreateRequest request, @Nullable String reason); Flux<WebhookData> getChannelWebhooks(long channelId); Flux<WebhookData> getGuildWebhooks(long guildId); Mono<WebhookData> getWebhook(long webhookId); Mono<WebhookData> getWebhookWithToken(long webhookId, String token); Mono<WebhookData> modifyWebhook(long webhookId, WebhookModifyRequest request, @Nullable String reason); Mono<WebhookData> modifyWebhookWithToken(long webhookId, String token,
                                                    WebhookModifyWithTokenRequest request); Mono<Void> deleteWebhook(long webhookId, @Nullable String reason); Mono<Void> deleteWebhookWithToken(long webhookId, String token); Mono<MessageData> executeWebhook(long webhookId, String token, boolean wait,
                                            MultipartRequest<WebhookExecuteRequest> request);  }
@Test public void testCreateWebhook() { }