Email/fr

From Second Life Wiki
Jump to navigation Jump to search

Description

! Event: email( string temps, string adresse, string sujet, string message, integer nombre restant ){ ; }

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

Notes complémentaires

Problèmes

   La région peut suspendre l'envoi des emails vers les scripts

Notes de bas de page

  1. ^ Les adresses emails des autres grilles sont construites autrement : llGetKey() + "@lsl." + grille + ".lindenlab.com"; ainsi pour la beta : grille ="aditi".
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.