Notice messenger ! la version parfaite, sans aucun bug, incroyable :)

Description

Rappelez vous : http://www.ircfr.com/article.aspx?Val=836
Cette version comportait des problemes. Les messages n'arrivaient pas, il fallait modifier quelquechose dans le code, et pour les débutants ce n'était pas facile, et puis de maniere générale ce n'est pas pratique. Cette version est completement débuguée, et même améliorée ! Elle est aussi allégée dans le code (merci au passage à SornDrixer). Maintenant, dès que vous recevez un message, pas la peine de fermer le Notice Messenger puis de le réouvrir pour que le message apparaisse, c'est immédiat ! De plus, maintenant, dès que vous recevez un message, un message en echo vous previendra de l'arrivée de ce message dans votre "boite à messages".
Et le must c'est qu'il n'y plus rien à configurer contrairement à la derniere version, à part juste à mettre un bip.wav a(vec le son de votre choix) dans le répertoire de mIRC, c'est tout. Et je parle de ceux qui ne prennent pas le zip, ceux qui copient juste le code. Pour ceux qui prennent le zip, tout est fait, un bip.wav et le logo de Notice Messenger (pour la fenetre à propos, c'est quand même plus joli lol) y sont fournis.
Voila, nous avons atteint ce que l'on peut appeler la perfection :)
Le logiciel est à votre disposition, servez vous et parlez en à vos amis pour que le logiciel puisse se répandre :)

Source / Exemple :


; Ici je vous fourni le code pour la version sans le jpg.

ON *:LOAD:{
  /dialog -m about about
  echo -a 4Merci d'avoir choisi la qualité : Notice Messenger 1.1 par G-FACTION
  write messages.txt Bienvenue dans le Notice Messenger 1.1
  write messages.txt Tous les messages reçus s'afficheront ici.
  write contacts.txt G-FACTION
}

alias noticemessenger {
  dialog -md noticemessenger noticemessenger
}

dialog noticemessenger {
  title "Notice messenger"
  size 310 235 279 285
  option dbu
  menu "Fichier", 1
  item "Effacer tous les messages", 4, 1
  item "Liste de contacts", 5, 1
  item "Liste des bannis", 6, 1
  item "Rédiger messages", 15, 1
  item "Quitter", 20, 1, ok
  menu "...", 2
  item "A propos de Notice Messenger 1.1", 222, 2
  box "", 10, 0 190 279 75
  list 7, 1 0 276 186, hsbar vsbar size
  text "Je désire...", 8, 3 195 28 6
  button "Effacer le message selectionné", 9, 1 204 276 9
  button "Effacer tous les messages", 11, 1 213 276 9
  button "Voir ma liste des bannis", 12, 1 222 276 9
  button "Voir ma liste de contacts", 13, 1 231 276 9
  button "Quitter Notice Messenger", 14, 1 249 276 9, cancel
  text "Créé par G-FACTION", 3, 63 267 52 6
  link "qdeme@yahoo.fr", 16, 174 267 90 13
  text ":)", 17, 139 267 9 6
  button "Rédiger messages", 21, 1 240 276 9
}

alias actualiser {
  did -r noticemessenger 7
  loadbuf -o noticemessenger 7 messages.txt
}

alias bannedlist {
  //echo $dialog(noticemsgrbanned,noticemsgrbanned,-4)
}

alias contactlist {
  //echo $dialog(noticemsgrcontacts,noticemsgrcontacts,-4)
}

alias msgrconfig {
  //echo $dialog(noticemsgrconfig,noticemsgrconfig,-4)
}

alias redigmsg {
  //echo $dialog(noticemsgrredig,noticemsgrredig,-4)
}

on *:dialog:noticemessenger:init:0:{
  actualiser
}

on *:dialog:noticemessenger:menu:222: {
  about
}

alias about {
  dialog -m about about
}

on *:dialog:noticemessenger:menu:4: {
  remove messages.txt
  did -a noticemessenger 7 $read(messages.txt)
  did -r noticemessenger 7
  actualiser
}

on *:dialog:noticemessenger:menu:5: { contactlist }

on *:dialog:noticemessenger:menu:6: { bannedlist }

on *:dialog:noticemessenger:menu:15: { redigmsg }

on *:dialog:noticemessenger:sclick:9: {
  write $+(-dl,$did(noticemessenger,7).sel) messages.txt
  did -di noticemessenger 7 $did(noticemessenger,7).sel
}

on *:dialog:noticemessenger:sclick:11: {
  remove messages.txt
  did -r noticemessenger 7
  actualiser
}

on *:dialog:noticemessenger:sclick:12: { bannedlist }

on *:dialog:noticemessenger:sclick:13: { contactlist
}

on *:dialog:noticemessenger:sclick:21: { redigmsg }

dialog noticemsgrbanned {
  title "Notice Messenger : Liste des bannis"
  size 177 106 292 80
  option dbu
  text "Liste des bannis (personnes que ne pourront pas vous envoyer de messages)", 1, 4 3 186 7
  edit "", 2, 4 13 283 40, multi read return vsbar
  button "OK", 3, 121 58 37 11, cancel
  button "Ajouter", 4, 33 58 49 11
  button "Supprimer", 5, 196 58 49 11
  text "Par G-FACTION", 6, 27 72 42 6
  text ":)", 7, 130 72 16 6
  link "qdeme@yahoo.fr", 8, 186 72 96 13
}

on *:dialog:noticemsgrbanned:init:0:{
  did -a noticemsgrbanned 2 %bannis
}

on *:dialog:noticemsgrbanned:sclick:4: {
  set %bannis $addtok(%bannis,$$?="Qui rajouter ?",32)
  did -r noticemsgrbanned 2
  did -a noticemsgrbanned 2 %bannis
}

on *:dialog:noticemsgrbanned:sclick:5: {
  set %bantemp $$?="Qui supprimer ?"
  if ($istok(%bannis,%bantemp,32)) {
    set %bannis $deltok(%bannis,$findtok(%bannis,%bantemp,1,32),32)
    did -r noticemsgrbanned 2
    did -a noticemsgrbanned 2 %bannis
  }
  else $input(%bantemp n'est pas dans la liste des bannis,308,Warning)
  halt
}

dialog noticemsgrcontacts {
  title "Notice Messenger : Liste de contacts"
  size 177 106 281 176
  option dbu
  list 1, 115 3 165 150, vsbar size
  box "Connecté ?", 2, 1 0 112 43
  button "Vérifier", 3, 9 10 99 11
  box "Je désire...", 4, 1 41 112 57
  button "Biper cette personne", 5, 9 49 99 11
  button "Inviter cette personne", 6, 9 67 99 11
  button "Bloquer cette personne", 7, 9 84 99 11
  box "", 8, 1 97 112 55
  button "Ajouter un contact", 9, 9 112 99 11
  button "Supprimer un contact", 10, 9 132 99 12
  text "Statut :", 11, 9 28 19 6
  text "", 12, 31 28 75 6
  button "Fermer", 13, 120 156 37 11, cancel
  text "Par G-FACTION", 14, 24 168 42 6
  text ":)", 15, 132 169 13 6
  link "qdeme@yahoo.fr", 16, 199 168 90 13
}

alias actualisercontacts {
  did -r noticemsgrcontacts 1
  loadbuf -o noticemsgrcontacts 1 contacts.txt
}

on *:dialog:noticemsgrcontacts:init:0:{
  actualisercontacts
}

on *:dialog:noticemsgrcontacts:sclick:3: {
  set %user $read(contacts.txt,$did(noticemsgrcontacts,1).sel)
  isconnected
}

on *:dialog:noticemsgrcontacts:sclick:5: {
  ctcp $read(contacts.txt,$did(noticemsgrcontacts,1).sel) [bip]
  //echo
  $input($read(contacts.txt,$did(noticemsgrcontacts,1).sel) a été bipé si il est online et possède Notice Messenger,308,Warning)
}

on *:dialog:noticemsgrcontacts:sclick:6: {
  set %user $read(contacts.txt,$did(noticemsgrcontacts,1).sel)
  /invite %user $$?="Sur quel canal ? (ne pas oublier le #)"
  //echo $input(%user a été invité si il est online et possède Notice Messenger,308,Warning)
}

on *:dialog:noticemsgrcontacts:sclick:7: {
  set %bannis $addtok(%bannis,$read(contacts.txt,$did(noticemsgrcontacts,1).sel),32)
  //echo $input(%user est désormais banni il ne pourra plus voir si vous êtes online et ne pourra plus vous envoyer de messages ni vous biper,308,Warning)
}

on *:dialog:noticemsgrcontacts:sclick:9: {
  write contacts.txt $$?="Qui ajouter ?"
  did -r noticemsgrcontacts 1
  actualisercontacts
}

on *:dialog:noticemsgrcontacts:sclick:10: {
  write $+(-dl,$did(noticemsgrcontacts,1).sel) contacts.txt
  did -di noticemsgrcontacts 1 $did(noticemsgrcontacts,1).sel
}

dialog noticemsgrredig {
  title "Notice Messenger : Rédiger un message"
  size 445 218 225 84
  option dbu
  edit "", 1, 4 16 216 12, limit 1000 multi return autohs
  edit "", 2, 48 36 16 10, multi read return
  text "Lettres inscrites :", 3, 4 40 40 6
  text "/1000", 4, 68 40 16 6
  text "Lettres restantes avant impossiblilité d'écrire :", 5, 92 40 108 6
  edit "", 6, 204 36 16 10, multi read return
  text "Message", 7, 4 4 24 6
  combo 8, 36 56 100 44, drop edit size
  text "Envoyer à", 9, 4 60 28 6
  button "Envoyer", 10, 156 56 48 11
  button "&Hide", 11, 0 0 0 0, hide Ok
}

alias actucontactsredig {
  loadbuf -o noticemsgrredig 8 contacts.txt
}

on *:dialog:noticemsgrredig:init:0:{
  did -z noticemsgrredig 8
  did -c noticemsgrredig 8 1
  /actucontactsredig
}

on *:dialog:noticemsgrredig:edit:1: {
  /did -r noticemsgrredig 2
  /did -a noticemsgrredig 2 $len($did(noticemsgrredig,1))
  /did -r noticemsgrredig 6
  /did -a noticemsgrredig 6 $calc(1000 - $did(noticemsgrredig,2))
}

on *:dialog:noticemsgrredig:sclick:10: {
  set %usersend $did(noticemsgrredig,8)
  notice %usersend [noticemessenger] $did(noticemsgrredig,1)
  $input(Un message vient d'être envoyé à %usersend $+ . Cependant si %usersend n'était pas connecté au moment ou vous avez envoyé ce message il ne le recevra pas.,308,Warning)
}

ctcp ^*:*[isconnected]*:*: {
  if ($istok(%bannis,$nick,32)) {
    halt
  }
  else ctcp $nick [connected]
}

ctcp ^*:*[connected]*:*: {
  set %connectedtemp on
}

alias isconnected {
  ctcp %user [isconnected]
  did -a noticemsgrcontacts 12 Je suis en train de vérifier...
  timer1 1 5 /isco2
}

alias isco2 {
  if (%connectedtemp == on) {
    //echo $input(%user est connecté !,308,Warning)
    set %connectedtemp off
    did -a noticemsgrcontacts 12 Je ne fais rien actuellement
    halt
  }
  else //echo $input(%user n'est pas connecté ou n'a pas de Notice Messenger !,308,Warning)
  did -a noticemsgrcontacts 12 Je ne fais rien actuellement
  halt
}

ctcp ^*:*[bip]*:*: {
  if ($istok(%bannis,$nick,32)) {
    halt
  }
  else  //echo 4,8 $+ $nick vous bippe !
  splay bip.wav
}

on 1:notice:[noticemessenger]*:*:{
  if ($istok(%bannis,$nick,32)) {
    halt
  }
  else set %lastnotice $1-
  write messages.txt Message de $nick : $1-
  echo -a 4Vous avez reçu un message de $nick $+ .
  actualiser
  halt
}

dialog about {
  title "A propos de Notice Messenger 1.1"
  size 200 200 225 55
  option dbu
  text "Le Notice Messenger est un programme pour mIRC créé par G-FACTION.", 1, 3 4 200 6
  text "Je remercie SornDrixer pour m'avoir aidé pour l'actualisation des ListBox.", 2, 3 18 200 6
  button "OK", 3, 98 30 20 20, Ok
}

on *:dialog:about:sclick:3: {
  /dialog -md noticemessenger noticemessenger
}

Conclusion :


Comme vous pouvez voir c'est sacrément allegé lol

Allé HAVE FUN !

××× G-FACTION ×××

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.