Lire la réponse, et lire un refus
Chaque appel répond. Comprendre les deux formes d’une réponse fait l’essentiel d’un script fiable.
Un résultat est une donnée
Presque toutes les actions répondent par un dictionnaire ou une liste. Affichez-le une fois pour voir ce qu’il contient, puis lisez le champ voulu.
Un refus est une exception
Une action refusée ne répond pas « non » : elle lève PermissionError, qui arrête le script si vous ne l’attrapez pas.
try:
avatar.pay_linden_dollars("00000000-0000-0000-0000-000000000000", "Someone Resident", 10)
except PermissionError as refusal:
print("refused:", refusal)- try exécute la ligne risquée, except attrape le refus.
- Le message indique quelle action et pourquoi.
- C’est la même exception que l’action ait été désactivée dans Action Permissions ou refusée par la licence.
Trois raisons pour un résultat inattendu
- Refusé : PermissionError, et le message nomme l’action.
- Rien à répondre : l’appel réussit mais le résultat est vide, car l’avatar est hors ligne ou la région n’a pas encore transmis l’information.
- Rien ne s’est passé, sans erreur : l’avatar était déjà dans l’état demandé. L’historique d’exécution le signale comme sans changement.
Où regarder ensuite
Automation → Execution History liste chaque appel, son auteur, son résultat et l’heure. L’onglet Erreurs rassemble ce qui a échoué, en clair, une ligne par problème. Un script peut lire la même liste.
report = avatar.get_errors(limit=20)
for problem in report["errors"]:
print(problem["area"], problem["operation"], problem["occurrences"])