Tant qu'à faire des défis pratiques, voici je ce que je vous ai concocté pour ce mois-ci:
Vous avez remarqué que, lorsque vous parlez en privé avec une personne, il n'y a aucun moyen de savoir si cette personne est toujours en ligne ou non. Ainsi, il est parfois énervant de pondre une tirade tres longue, et de se voir finalement remercier d'un *No such nick* après l'envoi de ladite tirade, car la personne s'est tirée en douce pendant que vous lui parliez!
Le défi de ce mois-ci est le suivant: il s'agit de mettre au point un système qui, a tout moment (disons, avec une incertitude de 30 secondes au plus), vous prévient si la personne à qui vous êtes entrain de parler n'est plus en ligne. Pour corser un peu le défi,
je vous interdis d'utiliser la fonction notify! En effet, la fonction notify a la fâcheuse tendance à retenir tous les pseudos notifiés d'une session à l'autre, alors que ce que l'on recherche ici est la connaissance de l'état
des seules personnes avec qui on discute en privé pendant la session courante.
Une chose nécessaire à signaler mais qui peut paraître triviale: le système devra vous prévenir
une fois de la déconnexion de la personne, et pas toutes les 30 secondes! Un bonus sera accordée à ceux qui auront prévu de détecter une reconnexion.
Votre but va être d'émuler cette la fonction notify: pour vous aider, sachez que cette instruction se traduit par l'envoi, toutes les 30 secondes, d'une ligne commençant par ISON et suivie des pseudos notifiés séparés par des espaces. Le serveur répond par un
raw de numéro 303 suivi de la liste des pseudos connectés parmi ceux demandés,
et seulement ceux-là.
Par ailleurs, émuler le notify signifie aussi se servir des informations prélevées sur le serveur
autres que ISON: par exemple, si vous avez un channel en commun avec votre interlocuteur, et que celui-ci se déconnecte, vous devez en être
immédiatement informé (ce que fait mirc avec le /notify).
Vu la facilité de la chose, je demande aussi que
le système vous renseigne si la personne change de pseudo pendant que vous lui parlez, à la condition que vous soyiez sur un canal commun avec elle (évidemment).
Vous avez un morceau du mois d'octobre et tout le mois de novembre pour plancher sur le défi! Bonne chance!
|
|
Règlement |
Doit fonctionner sous mirc 6.16
Doit etre le plus leger possible, tout en restant fonctionnel
Ne doit pas utiliser la fonction /notify
Un seul script par personne
pas de DLL
|
| |
|