registerServer method
Implementation
@override
Future<void> registerServer(Bot bot, Server server) async {
final List<CommandBuilder> guildCommands =
_getContext(CommandContextType.server);
final payload = _serializeCommand(guildCommands);
final req = Request.json(
endpoint: '/applications/${bot.id}/guilds/${server.id}/commands',
body: payload);
final response = await _dataStore.client.put(req);
if (response.statusCode == 400) {
final error = Map<String, dynamic>.from(response.body['errors'] as Map<dynamic, dynamic>)
.values
.firstOrNull?['name'];
final errors = List.from(error?['_errors'] as Iterable<dynamic>? ?? []).firstOrNull;
throw InvalidCommandException('${errors['code']}: ${errors['message']}');
}
}