Accueil





Messages Delivery Service


Description

Connaissez-vous MemoServ ? Il s'agit d'un service disponible sur certains serveurs IRC et permettant d'envoyer un message à un utilisateur, qu'il soit connecté ou non. Bonne idée en soi si certains défauts majeurs ne le rendaient pas quasiment inutile : Et voici Messages Delivery Service, que j'appellerai MDS pour plus de simplicité.

MDS permet d'envoyer un message à une personne (qui n'a pas besoin d'être connectée) et de s'assurer que le message sera bien délivré dans les meilleurs délais.
Dès que le destinataire rejoindra un des chans sur lesquels le bot se trouve ou qu'il y parlera, donc dès qu'on pourra être certain qu'il y porte attention, un message lui sera affiché afin de lui indiquer qu'il a des messages non-lus.
Il pourra alors taper !lire (par défaut) pour les recevoir.
Si l'utilisateur ne lit pas ses messages, un rappel lui indiquant qu'il a des messages en attente s'affichera toutes les 30mn (réglable) s'il manifeste sa présence en parlant. Ce compteur de 30mn est réinitialisé si de nouveaux messages lui sont envoyés entre temps.

screenshot

Lorsqu'un message est reçu, un accusé de réception est automatiquement envoyé à l'expéditeur pour l'en informer (optionnel).

screenshot

Il est également possible pour le destinataire de confirmer avoir lu le message au moyen de la commande !lu <n° d'identifiant du message> (optionnel). Si une confirmation de lecture est envoyée, elle remplace l'accusé de réception.
Notez qu'il est possible d'effacer un message que vous avez envoyé tant qu'il n'a pas été reçu par son destinataire.

Concernant la confidentialité, MDS s'assure du mieux qu'il peut qu'il ne délivrera pas un message à la mauvaise personne.
De plus, si l'identité de l'expéditeur d'un message présente une incohérence, le fait sera signalé au destinataire ainsi qu'une estimation du niveau de confiance qu'il peut lui accorder en fonction du nombre et de la gravité des anomalies détectées. Il sera alors libre de lui accorder ou non du crédit.
Ce système fonctionne conjointement avec les handles enregistrés sur l'eggdrop (et leurs listes de hosts associés), la vérification d'identité auprès de NickServ ou tout serveur de nick similaire (si disponible) et le recoupement de diverses informations disponibles afin de détecter les anomalies.
Avoir un nick enregistré ou un handle sur l'eggdrop augmente donc considérablement le niveau de sécurité et permet de s'assurer que personne ne pourra lire vos messages à votre place. Pour ceux qui n'ont ni handle, ni nick enregistré, le bot ne pourra faire mieux que de délivrer le message à la première personne portant le même nick.
Veuillez noter que le bon fonctionnement de ce système repose en partie sur une liste d'accès bien tenue, avec des masques de hosts pertinents et aussi précis que possible (je parle évidemment de la liste d'accès de l'eggdrop).
Si vous utilisez des handles génériques, il est possible de les déclarer afin que le système de sécurité de MDS n'accorde pas trop de crédit à la reconnaissance par handle en ce qui les concerne.
L'idée de base d'un handle générique est de regrouper plusieurs utilisateurs ayant un host identique (utilisateurs d'un même bnc, d'un cybercafé, etc..) sous un même handle dit "générique".
Enfin, dans le but d'améliorer encore la confidentialité des messages envoyés, la base de données est cryptée par défaut et la clé de cryptage est différente pour chaque message.

Si l'on tente d'envoyer un message trop long pour être affiché intégralement chez le destinataire, le bot nous en informe et affiche la limite à ne pas dépasser. Cette limite est dynamique et est calculée en fonction du nom du chan, du nick de l'expéditeur, de la fioriture que vous avez choisie pour rendre bien visibles les messages recus, etc...

Il est possible de créer des groupes de destinataires grâce à la commande !msggroup (reportez-vous à la syntaxe plus bas).
Mettons que vous souhaitiez créer un groupe "admins" afin d'envoyer facilement un message à tous les administrateurs de vos chans, il vous suffira de faire :
!msggroup admins paulo joe robert ursule
puis : !msg @admins coucou les gars, vous êtes virés.
Notez qu'un destinataire peut appartenir à plusieurs groupes à la fois.

L'activation/désactivation du script sur chaque chan se fait au moyen de la commande de partyline .chanset #nomduchan [+/-]MDS
Notez que ceci concerne uniquement l'utilisation des commandes de la messagerie, ce qui veut dire qu'une personne ayant un message et manifestant sa présence sur un chan inactif sera quand même avertie qu'elle a un message non-lu.

Il est possible d'utiliser MDS pour envoyer des messages à des utilisateurs depuis d'autres scripts, une procédure existe dans ce but précis.
Voici comment utiliser cette fonction :
send_msg_to <destinataire>[,destinataire,...] <nom_du_script_appelant> <message>
- Le nom du ou des destinataires peut être un nick, un handle ou un groupe (reportez-vous aux explications concernant les groupes de destinataires).
- nom_du_script_appelant doit être le nom du script qui envoie le message.
Le destinataire recevra le message sous la forme :
"Message de nom_du_script_appelant envoyé le xx/xx/xxxx à xxhxx : blablabla".
MDS déclare le package "MDS" afin que vous puissiez vérifier sa présence depuis d'autres scripts au moyen de "package require MDS".
Les messages envoyés par ce biais ne sont pas soumis au contrôle de longueur minimale et maximale du message ou du nombre maximum de destinataires, et l'anti-flood ne s'en occupe pas. Soyez donc responsable dans la façon dont vous l'utilisez.



Syntaxe

Envoyer un message depuis un chan :
!msg <destinataire>[,destinataire,...] <message>

Envoyer un message depuis un message privé à l'Eggdrop :
/msg nom_du_bot msg <destinataire>[,destinataire,...] <message>

Effacer un message envoyé dont on est l'auteur depuis un chan :
!msg -del <n° d'identification du message>

Effacer un message envoyé dont on est l'auteur depuis un message privé à l'Eggdrop :
/msg nom_du_bot msg -del <n° d'identification du message>

Lire ses messages non-lus depuis un chan :
!lire

Lire ses messages non-lus depuis un message privé à l'Eggdrop :
/msg nom_du_bot lire

Confirmer la lecture d'un message depuis un chan :
!lu <n° d'identifiant du message>

Confirmer la lecture d'un message depuis un message privé à l'Eggdrop :
/msg nom_du_bot lu <n° d'identifiant du message>

Afficher la liste des messages envoyés dont on est l'auteur et qui n'ont pas encore été délivrés depuis un chan :
!sentmessages

Afficher la liste des messages envoyés dont on est l'auteur et qui n'ont pas encore été délivrés depuis un message privé à l'Eggdrop :
/msg nom_du_bot sentmessages

Afficher la liste des destinataires ayant des messages en attente depuis un chan :
!messages

Ajouter un ou plusieurs destinataires à un groupe (handles ou nicks) :
!msggroup add <nom_du_groupe> <handle1/nick1[,handle2/nick2[,...]]>

Supprimer un ou plusieurs destinataires d'un groupe (handles ou nicks) :
!msggroup del <nom_du_groupe> [handle1/nick1[,handle2/nick2[,...]]]

Afficher la liste des destinataires d'un groupe :
!msggroup list [nom_du_groupe]

Afficher la liste des groupes de destinataires disponibles :
!msggroup list

Les commandes !messages et !msggroup ont leur équivalent en partyline en remplaçant le "!" par un "."



Changelog

1.0 1.01b 1.02 2.0 2.1 2.11 3.0



Téléchargement

Messages Delivery Service 3.0

Laissez vos commentaires / questions / suggestions / rapports de bugs ici.

©2005-2016 Menz Agitat