create method

  1. @override
Future<GuildSticker> create(
  1. covariant StickerBuilder builder,
  2. {String? auditLogReason}
)
override

Create a new instance of the type of this manager.

Implementers should ensure this method updates the cache.

Implementation

@override
Future<GuildSticker> create(StickerBuilder builder, {String? auditLogReason}) async {
  final route = HttpRoute()
    ..guilds(id: guildId.toString())
    ..stickers();
  final request = FormDataRequest(route,
      method: 'POST',
      formParams: builder.build().cast<String, String>(),
      files: [MultipartFile.fromBytes('file', builder.file.buildRawData())],
      auditLogReason: auditLogReason);

  final response = await client.httpHandler.executeSafe(request);
  final sticker = parse(response.jsonBody as Map<String, Object?>);

  client.updateCacheWith(sticker);
  return sticker;
}