Email/fr
LSL Portail Francophone | LSL Portail Anglophone | Fonctions | Évènements | Types | Operateurs | Constantes | Contrôle d'exécution | Bibliothèque | Tutoriels |
Description
! Event: email( string temps, string adresse, string sujet, string message, integer nombre restant ){ ; }21 | Event ID |
Se déclenche suite à llGetNextEmail lorsqu'un mail correspondant aux critères est présent.
• string | temps | – | Dans le format de (string)llGetUnixTime
|
|
• string | adresse | |||
• string | sujet | |||
• string | message | |||
• integer | nombre restant | – | Nombre de mails restant à traiter. |
La liste des emails à traiter est liée à la prim et tout script présent dans la prim peut y accéder.
L'adresse email de la prim se termine par "@lsl.secondlife.com" , llGetKey() + "@lsl.secondlife.com"
[1].
Spécification
Cet évènement est déclenché par llGetNextEmail lorsqu'un email correspond aux filtres de llGetNextEmail (les filtres sont optionnels). Le premier mail correspondant est supprimé de la liste et ses données sont utilisées comme paramètres de l'évènement Email. Si aucun email ne correspond au filtres, l'évènement ne sera pas lancé, même si des emails ont été reçus. En complément des filtres, notez que les emails sont classés dans l'ordre FIFO.
Défauts
- La queue de traitement des emails est limitée à 100 mails, tout email supplémentaire sera perdu.
- La zone message peut contenir 1000 caractères au maximum. Ce décompte inclut les informations d'en-tête (adresse, sujet, etc.)
- Les mails envoyés depuis SL contiendront dans leur en-tête des informations relatives à la prim. Cf. llEmail pour de plus amples informations.
- A cause du bug SVC-23 (present depuis 2005), les objets peuvent arréter de recevoir des emails jusqu'à ce que la région soit redemarrée ou que l'objet change de région (relancer le script ne résoud par le problème). Les emails reçus peuvent éventuellement être lus aprés un redemarrage/un changement de région. Donc, ne comptez pas trop sur cet évènement pour des échanges inter-région.
Exemples
<lsl>default {
state_entry() { llSetTimerEvent(5.0); } timer() { llGetNextEmail("", ""); } email( string time, string address, string subject, string message, integer num_left ) { if (llGetSubString(address, -19, -1) == "@lsl.secondlife.com") {//Le Message a été envoyé depuis SL. //Pour cet exemple, nous nous contentons de supprimer l'en-tête //et d'envoyer le message dans le chat local. message = llDeleteSubString(message, 0, llSubStringIndex(message, "\n\n") + 1); } llSay(0, message);
if(num_left) llGetNextEmail("", ""); }
}</lsl>
Notes
Pour des astuces sur l'utilisation des emails dans SL, consultez cet article : llEmail.
Voir aussi
Fonctions
• | llEmail | – | Envoie un mail | |
• | llGetNextEmail | – | Lit le mail suivant |