Leer la respuesta, y leer un rechazo
Toda llamada responde. Entender las dos formas de una respuesta es casi todo lo que hace fiable a un script.
Un resultado son datos
Casi todas las acciones responden con un diccionario o una lista de ellos. Imprímelo una vez para ver qué lleva dentro y luego lee el campo que quieras.
Un rechazo es una excepción
Una acción rechazada no responde "no": lanza PermissionError, que detiene el script si no lo capturas.
try:
avatar.pay_linden_dollars("00000000-0000-0000-0000-000000000000", "Someone Resident", 10)
except PermissionError as refusal:
print("refused:", refusal)- try ejecuta la línea arriesgada y except captura el rechazo.
- El mensaje dice qué acción y por qué.
- Es la misma excepción tanto si la acción estaba desactivada en Action Permissions como si la rechazó la licencia.
Tres motivos para un resultado inesperado
- Rechazado: PermissionError, y el mensaje nombra la acción.
- Nada que responder: la llamada tiene éxito pero el resultado está vacío, porque el avatar está desconectado o la región aún no ha enviado el dato.
- No pasó nada, sin error: el avatar ya estaba en el estado pedido. El historial de ejecución lo marca como sin cambio.
Dónde mirar después
Automation, Execution History lista cada llamada con su autor, su resultado y la hora. La pestaña Errores reúne lo que no funcionó, en palabras claras, una fila por problema. Un script puede leer esa misma lista.
report = avatar.get_errors(limit=20)
for problem in report["errors"]:
print(problem["area"], problem["operation"], problem["occurrences"])