Aller au contenu

Identifier un utilisateur lanceur de scène en LUA


DrPepper

Messages recommandés

Bonjour à tous !

 

Je cherche à identifier l'id de l'utilisateur qui lance une scène quand elle n'est pas lancée automatiquement ! J'ai cherché, rien trouvé...

 

Vous avez une idée de comment le récupérer ?

 

Y'a bien http://ip_box//api/users qui donne la liste des users, mais comment avoir CELUI qui lance la scène ...

 

Merci de votre aide !

 

++

 

Lien vers le commentaire
Partager sur d’autres sites

Pas sûr que ça soit la meilleure méthode, mais au début de ta scène, tu peux commencer par regarder le user qui a la plus faible valeur de "lastActivity" dans /api/userActivity

Normalement, si tu as un 0 dans ce champ, c'est que c'est l'utilisateur actif.

 

Le risque c'est qu'un autre utilisateur fasse une action au même moment, du coup tu aurais 2 utilisateurs avec cette valeur à 0, donc impossible à différencier.

Lien vers le commentaire
Partager sur d’autres sites

Trouvé, en fait il faut regarder directement dans /api/loginStatus

{
	"status": true,
	"userID": 2,
	"username": "user@domaine.com",
	"type": "superuser",
	"analyticsUserIdHash": "abcdefghijklmnopqrstuvwxyz"
}
{
	"status": true,
	"userID": 127,
	"username": "Lazer",
	"type": "user",
	"analyticsUserIdHash": "abcdefghijklmnopqrstuvwxyz"
}

 

Donc au début de ta scène, tu vas chercher cette info avec api:get("/loginStatus"), puis tu l'affiches dans le debug de ta scène.

Ainsi, en regardant la zone de debug, tu verras tous les utilisateurs qui ont exécuté ta scène, avec l'heure précise.

 

Modifié par Lazer
  • Like 2
Lien vers le commentaire
Partager sur d’autres sites

Ca marchait et bim... depuis la 4.55 ca ne marche plus !

 

Ce qui est étonnant, car en pointant l'URL vers

http://<ip>/api/loginStatus 

on a bien les éléments du tableau

 

Mais dans le code LUA, on a autre chose..
 

 

{
['limit'] = 5,
['timeLeft'] = 0,
['status'] = false,
['retryNumber'] = 0
}


Une idée ?

Mes fonctions buguent...

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Ca veut dire que le code LUA est exécuté sans qu'il y aie un utilisateur de connecté.

Pour cela, il faut d'abord tester 'status' et si il est à true alors prendre le 'username'.

Voilà ... :D

 

Modifié par Kana-chan
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...