userlist

Hier bekommt Ihr Antworten auf Eure Fragen zum Eggdrop-Hosting von Shellfire

Moderatoren: Florian, Matze, Max, Lui

jfkgerd
Beiträge: 1
Registriert: 24 Sep 2007 18:55

userlist

Beitragvon jfkgerd » 24 Sep 2007 18:59

Hallo ich bin völlig neu hier in diesem Bereich und wollte mal wissen wie man eine userlist von einem channel bekommt oder ein whois auf die user machen kann, weil wenn ich des mach als .whois <nickname> dann sagt er immer Can't find anyone matching that. aber ich hab die nicks sicher richtig abgetippt. deswegen meine frage was mache ich falsch?

außerdem wollte ich wissen ob es ein script gibt welches den kompletten text von channels mitloggt in dem der bot ist?
mfg gerd

Max
Site Admin
Beiträge: 475
Registriert: 29 Jun 2003 20:52
Wohnort: Shellfire HQ
Kontaktdaten:

Beitragvon Max » 26 Sep 2007 00:58

Hallo Gerd!
Der .whois-Befehl beim Eggdrop dient lediglich dazu, Informationen über User anzuzeigen, die beim Bot registriert sind. Es gibt jedoch im TCL-Archive auf www.egghelp.org einige Scripte, mit denen man diese Funktion bekommen kann, eines davon findest du hier:

http://www.egghelp.org/cgi-bin/tcl_archive.tcl?mode=download&id=1239

Ich habe das Script eben ausprobiert und es funktioniert in diesem Punkt einwandfrei. Das Script enthält zusätzlich auch den !who-Befehl, mit dem man eine Userlist eines Channels bekommt. Auch das klappt, allerdings gibt das Script hier einige Fehlermeldungen aus, die sich jedoch nicht aufs Ergebnis auswirken. Die Channellogs findest du im Filemanager im logs Ordner.

Gruß
Max Behr
ShellFire Gattung & Behr GbR

dlosse
Beiträge: 3
Registriert: 27 Jul 2009 01:32

Beitragvon dlosse » 27 Jul 2009 19:22

Also man kann die logfiles aktivieren für Channels in der eggdrop.conf oder man schreibt sich selbst ein script ... nun bei mir lief das damals über einen

Nun in meinem Beispiel für ein eigenes Script wird aber kein Join und part aufgelistet diese müsste man sich selbst noch basteln...

Mal etwas zu dem Source, der Source verwendet wie andere scripte TV Movie Script etc. einen chanflag in dem fall plog soll für private log stehen.

der Command

!log status ... gibt den aktuellen status an
!log on ... schaltet den log an für aktuellen Channel.
!log off ... schaltet die log aus für aktuellen Channel.

wir finden im script server8.shellfire.net die ist etwas störend, für leute im QNET evtl einfach mal den User +x schalten dann ist euer host *@authname.users.quakenet.org das server8..... ist nicht gerade das sicherste da alle den vhost nutzen können es ist nur zur verdeutlichung. damit nicht jeder die logs nach belieben daktivieren kann.

VORWEG: mitte den ornder mylog einrichten, ich bin mir jetz tnicht sicher ob das vom script verzeichnis ausgteht, wobei ich zu 90% das glauben würde... unter Linux würden chmod 777 benötigt werden aber da es glaube eine windows umgebung ist brauch man hier zumindest nix setzen zumindes thab ich dafür auch nix gefunden...

Kann genre von Florian verbessert werden aber dafür das ich TCL selbst erlente find ich das schon bissle gut... Denke wir alle hier haben es zum größten teils selbst angeeignet ...

Code: Alles auswählen

setudef flag plog

bind pub - !log logging

proc logging {nick host hand chan text} {
regsub -all " " $text %20 text
if {$text=="status" || $text=="on" || $text=="off"} {
  if {$text=="status"} {
   if {[lsearch -exact [channel info $chan] +plog] < 0} {
        putserv "privmsg $chan :Logging: deaktiviert"
   } else {
        putserv "privmsg $chan :Logging: aktiviert"
   }
  }
  if {$text=="on"} {
    channel set $chan +plog
    putserv "privmsg $chan :Logging: wurde aktiviert"   
  }
  if {$text=="off"} {
     set kette2 {*@server8.shellfire.net}
     set text $host
     if {[string match $kette $text] == 1 || [string match $kette2 $text] == 1} {
       channel set $chan -plog
       putserv "privmsg $chan :Logging: wurde detiviert"   
      } else {
       putserv "privmsg $chan :Logging: Keine Berechtigung zum Deaktiveren"   
     }
  }
} else {
  putserv "privmsg $chan :Es wird ein Parameter erwartet: status, on oder off!"
}
}

bind pubm - * forward:pubm

proc forward:pubm {n uh h chan t} {
  set zeit [clock format [clock seconds] -format {%H:%M:%S}]
  set datum [clock format [clock seconds] -format {%Y%m%d}]
  set text $t

  if {[lsearch [channel info $chan] +plog]!=-1} {
    set logfile [open "mylog/$chan.$datum.txt" a+]
    puts $logfile "$n sagt um $zeit : $t"
    close $logfile
  }
}

putlog "Log started"
 

Florian
Site Admin
Beiträge: 464
Registriert: 29 Jun 2003 17:53

Beitragvon Florian » 27 Jul 2009 21:25

Hi,

erstmal vielen Dank für das hilfreiche Script!

dlosse hat geschrieben:wir finden im script server8.shellfire.net die ist etwas störend, für leute im QNET evtl einfach mal den User +x schalten dann ist euer host *@authname.users.quakenet.org das server8..... ist nicht gerade das sicherste da alle den vhost nutzen können es ist nur zur verdeutlichung. damit nicht jeder die logs nach belieben daktivieren kann.


Hier sollte aber natürlich ein Check rein, der prüft ob es sich um einen Benutzer mit ausreichenden Rechten handelt, also z.B. Master oder Owner.

Als logfolder würde ich persönlich auch einfach "~/log" wählen, dorthin werden schließlich auch alle anderen Sachen gelogged...


Viele Grüße,
Florian Gattung
Shellfire Gattung & Behr GbR


Zurück zu „Eggdrop Support“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast