fetchPermissions method
Fetch the permissions for a command.
Implementation
Future<CommandPermissions> fetchPermissions(Snowflake id) async {
final route = HttpRoute()
..applications(id: applicationId.toString())
..guilds(id: guildId.toString())
..commands(id: id.toString())
..permissions();
final request = BasicRequest(route);
try {
final response = await client.httpHandler.executeSafe(request);
final permissions = parseCommandPermissions(response.jsonBody as Map<String, Object?>);
client.updateCacheWith(permissions);
return permissions;
} on HttpResponseError catch (e) {
// 10066 = Unknown application command permissions
// Means there are no overrides for this command... why is this an error, Discord?
if (e.errorCode == 10066) {
return CommandPermissions(manager: this, id: id, applicationId: applicationId, guildId: guildId, permissions: []);
}
rethrow;
}
}