Info Script

Sleepdog

Grünschnabel
Hallo zusammen ...

Ich suche ein Info Script .... habe das mal in einem chan gesehen
das sah in etwa so aus

man konnte von usern Infos ablegen z.b. über diesen befehl: !setinfo sleepdog Tel.: 0123/456789 oder !setinfo sleepdog1 Hausnummer: 1

wenn dann jemand anderes in den channel gekommen ist und "!allinfos Sleepdog" gemacht hat hat der Bot ausgegeben "2 Infos für Sleepdog gefunden: Sleepdog, Sleepdog1"

durch diese information hat der user gewustt wie die infos abgespeichert sind und konnte durch den Befehl "info Sleepdog1" ne abfrage an den Bot machen
und der hat ihm dann gesagt "Info Sleepdog1 : Hausnummer: 1"

kann mir da irgendwer weiter helfen habe da keine ansatz bzw. bin zu dumm dafür sowas selber zu machen....

thx im vorraus

besonderst hoff ich auf Helmut Klein der konnte mir beim Heise News Script sehr helfen mit deinem super brain über mIRC ... =)
 
Ah, ich habe sicher seit über einem Jahr kein mIRC-Script mehr geschrieben... Da rostet man. :p

Ich würde das ganze mit einer INI-Datei angehen, in die du dann alles reinschreibst. Als Topic den Nick, als Item z.B. "Telefonnummer" und als Wert eben die Telefonnummer.
Ist eigentlich relativ einfach zu realisieren.
Um dann alles auszugeben was für einen Nick verfügbar ist nutzt du am besten $ini und eine Schleife.

Hoffe, das hilft dir weiter.
 
mmh so ist das script nicht gedacht war vielleicht nen dummes bsp. von mir

soll nicht nur nummern bezogen sein können auch witzige ausagen sein die mal im chan gefallen sind ...

neues bsp.:

!setinfo sleepdog_tel 01234/56789
!setinfo sleepdog1 [18:46:33][Sleepdog] man sieht den wald vor lauter bäumen nicht

über den befehl !allinfo <text> bekommt man dann vom bot gesagt wieviel Einträge es zu diesem Thema gibt

!allinfo Sleep

Bot: 2 Einträge zum Thema Sleep gefunden: Sleepdog_tel, sleepdog1,

und durch diese info weis ich wie die infos abgespeichert sind und kann sie dann abrufen durch den befehl

!info Sleepdog1

Bot: Info Sleepdog1: [18:46:33][Sleepdog] man sieht den wald vor lauter bäumen nicht

wie gesagt Sleepdog ist nur ein bsp. es soll nicht nick bezogen sein anstelle sleepdog können auch infos über T-Online gespeichert werden wie rufnummern oder so ...

und zum schluss sollte es dann noch ne funktion geben womit man dann infos löschen kann und diese löschen dürfen nur ops ... bsp.: !delinfo Sleepdog_tel

Bot: /notice $nick du bist kein channel operator
oder
Bot: /notice $nick Info Sleepdog_tel erfolgreich gelöscht
 
Sollte aber trotzdem mit INIs machbar sein, als Topic wählst du dann eben einen allgemeinen Begriff.
Ansonsten könntest du auch hashtables verwenden.
 
so fertig hier für alle die die es auch interessiert ...


Code:
on *:TEXT:!helpinfo*:#:{
  msg $nick "!setinfo <titel> <Text>" (Damit kann man Infos setzen)
  msg $nick "!allinfo <titel>" (sucht nach allen Infos die unter dem Titel abgespeichert sind)
  msg $nick "!getinfo <titel>" (gibt die Info aus die sich hinter dem Titel verbirgt)
  msg $nick "!delinfo <titel>" (löscht die Info die sich hinter diesem Titel verbirgt diese funktion ist nur für channel operatoren) 
}
on *:TEXT:!setinfo*:#:{
  if ($read(info.txt,s,$2)) { write -l $+ $readn info.txt $2 $v1 $3- }
  else { write info.txt $2- }
  notice $nick Info erfolgreich gesetzt
}
on *:TEXT:!allinfo*:#:{
  var %i = 1,%a
  while ($read(info.txt,%i)) {
    if ($2 isin $gettok($v1,1,32)) { var %a = %a $v2 }
    inc %i
  }
  if (%a) { msg $chan  $gettok(%a,0,32)  Infos für $2 gefunden: %a  }
  else { msg $chan keine Infos für $2 hinterlegt. }
}
on *:TEXT:!getinfo*:#:{
  if ($read(info.txt,s,$2)) { msg $chan Info für $2 : $v1 }
  else { msg $chan keine Infos für $2 hinterlegt. }
}
on *:TEXT:!delinfo*:#:{
  if ($read(info.txt,s,$2)) && ($nick isop $chan) { write -dl $+ $readn info.txt }
  elseif ($nick isop $chan) { msg $chan Ich kenne $2 nicht. }
  else { msg $chan Du bist nicht geopt. }
  notice $nick Info gelöscht
}
 

Neue Beiträge

Zurück