create method
Create a new instance of the type of this manager.
Implementers should ensure this method updates the cache.
Implementation
@override
Future<Member> create(MemberBuilder builder) async {
final route = HttpRoute()
..guilds(id: guildId.toString())
..members(id: builder.userId.toString());
final request = BasicRequest(route, method: 'PUT', body: jsonEncode(builder.build()));
final response = await client.httpHandler.executeSafe(request);
if (response.statusCode == 204) {
throw MemberAlreadyExistsException(guildId, builder.userId);
}
final member = parse(response.jsonBody as Map<String, Object?>, userId: builder.userId);
client.updateCacheWith(member);
return member;
}