Quote

Contenu du snippet

Addon pour gerer ces quotes, les communiqués, les supprimés...
On peut les gerer à l'aide d'un dialog, de popups et de simple alias

Ce code reste sans grande prétention...

Source / Exemple :


; quote ultra simple
; vous pouvez utiliser les alias:
; /addquote [auteur] [lequote] > ajoute un quote et si vous ne mettez pas le quote et l'auteur, ce sera la derniere phrase dite sur le chan qui sera rajouté
; /quote [auteur] > sans [auteur] dit un quote au hazard et si vous rajoutez un auteur ça dit un quote de l'auteur donné au hazard
; pour toute question: becky@wanadoo.fr

alias addquote {
  if ($1 == $null) { /write quote.txt %d.phr © %a.phr | /echo -a /Quote: quote added: %d.phr © %a.phr }
  else { /write quote.txt $2- © $1 | /echo -a /Quote: quote added: $1- }
}
alias quote {
  if ($1 == $null) { /say $read(quote.txt) }
  else { /set %quoteur $1 | /quoteauteur }
}

menu query,nicklist {
  -
  Quote
  .Dialog Quote:/dialog -m quote quote
  .-
  .Enregistrer la dernière phrase:/write quote.txt %d.phr © %a.phr | /echo -a /Quote: quote added: %d.phr © %a.phr
  .Enregistrer une phrase de $$1:/set %quot $?="Phrase" | /write quote.txt %quot © $$1 | | /echo -a /Quote: quote added: %quot © $$1
  .-
  .Lire un quote:/say $read(quote.txt)
  .Lire un quote de $$1:/set %quoteur $$1 | /quoteauteur
}

menu channel,status {
  -
  Quote
  .Dialog Quote:/dialog -m quote quote
  .-
  .Enregistrer la dernière phrase:/write quote.txt %d.phr © %a.phr | /echo -a /Quote: quote added: %d.phr © %a.phr
  .Enregistrer une phrase:/set %quot $?="Phrase" | /set %quoti $?="Auteur" | /write quote.txt %quot © %quoti | /echo -a /Quote: quote added: %quot © %quoti
  .-
  .Lire un quote:/say $read(quote.txt)
  .Lire un quote d'un auteur:/set %quoteur $?="Quel auteur" | quoteauteur
}
on 1:text:*:#: {
  /set %d.phr $1-
  /set %a.phr $nick
}
dialog quote {
  title "Quote"
  size -1 -1 132 61
  option dbu
  list 1, 7 5 75 50, size hsbar vsbar
  button "Dire", 2, 90 10 30 8, flat
  button "Rajouter", 3, 90 20 30 8, flat
  button "Enlever", 4, 90 30 30 8, flat
  button "Fermer", 7, 90 40 30 8, ok, flat
}
on *:dialog:quote:init:*:{
  actu
}
on *:dialog:quote:sclick:*: {
  if ($did == 2) { //say $read(quote.txt,$did(quote,1).sel) }
  if ($did == 3) { /write quote.txt $?="Phrase" © $?="Auteur" |  actu }
  if ($did == 4) { //write -dl $+ $did(quote,1).sel quote.txt | actu }
}

alias actu {
  /did -r $dname 1
  /set %popo 1
  while (%popo <= $lines(quote.txt)) {
    /did -az $dname 1 $read(quote.txt,%popo)
    inc %popo
  }
}

alias quoteauteur {
  /filter -ff quote.txt quoteauteur.txt *© %quoteur $+ * 
  if ($read(quoteauteur.txt) == $null) { //echo -a /Quote: No quote for %quoteur | halt } 
  else { /say $read(quoteauteur.txt) |  /remove quoteauteur.txt }
}

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.