Huhu zusammen,
ich beschäftige mich schon eine Weile mit tcl und Eggdrops. Ich habe demnach ein tcl Script zum Verwalten eines sBNCs gefunden und erheblich erweitert, sowie auch neue Dinge gefunden, die man einbinden kann. Ich bin zwar von dem Skript total begeistert, aber dennoch ein wenig unglücklich. Das Problem liegt darin, dass man für jeden sBNC-Server einen Eggdrop aufsetzen muss. Da wir aber nun schon 5 sBNC Server haben, wirds langsam auch ungemütlich.
Nun kommen wir mal zum Punkt

Ich habe mir gedacht, wenn es Möglich ist, einen Eggdrop als Admin auf den BNC zu setzen und diesen so zu verwalten, muss es doch auch genausogut irgendeine Möglichkeit geben, einen Großteil der prozeduren auch über das Webinterface durchführen bzw von dem Webinteface wiedergeben zu können. Das soll heißen, der Eggdrop greift entweder direkt über den Serverpfad auf eine PHP zu und führt bestimmte Dinge aus, oder aber er simuliert einen Login ins Webinterface.
Ich habe aber leider keinerlei Erfahrungen wie man das durchführen könnte, ob ich da an den Quelltext des Webinterfaces muss oder direkt an den Quelltext der tcl des sBNC. Es wäre sehr nett, wenn mir jemand einen Anfang geben könnte und so 2-3 Dinge für mich erledigt, mal schauen, ob ich dann weiter komme

Zumindest wäre das hyper geil

Ich würde mich danach dann erst mal wieder selbst dran begeben
Hier mal eine Anfrage zur Umsetzung folgender Scripts:
Code:
proc sbnc3:iface { nick host hand chan arg } {
global sbnc
switch -exact -- [string tolower [lindex [split $arg] 0]] {
"add" {
set ident [lindex [split $arg] 1]
set password [expr {int(rand()*1000000) + 1}]
set bncuser [lindex [split $arg] 2]
if {$ident == ""} {
putquick "NOTICE $nick :Fehler. Falscher Befehl. Benutze $sbnc(trigger)$sbnc(bnc) add 'ident' 'nick'."
return
}
putquick "SBNC ADDUSER $ident $password $sbnc(group)"
putquick "SBNC SIMUL $ident SBNC SET REALNAME $sbnc(realname)"
putquick "SBNC SIMUL $ident SBNC SET SERVER $sbnc(ircserver)"
putquick "SBNC LOCK $ident server"
putquick "SBNC LOCK $ident port"
putquick "SBNC LOCK $ident realname"
putquick "SBNC LOCK $ident vhost"
utimer 60 [list putquick "SBNC SIMUL $ident JOIN $sbnc(chan)"]
putquick "NOTICE $nick :Glückwunsch. Neuer sBNC wurde für $ident erstellt."
putquick "NOTICE $nick :Server: $sbnc(server), Port: $sbnc(port), Ident: $ident, Password: $password"
if {$bncuser == ""} {
return
} elseif {[onchan $bncuser $chan]} {
putquick "PRIVMSG $bncuser :Hallo $bncuser! Hier Deine sBNC Daten:"
putquick "PRIVMSG $bncuser :Server: $sbnc(server), Port: $sbnc(port), SSL Port: $sbnc(ssl), Ident: $ident, Password: $password, Web-Zugang: $sbnc(ifcport), $sbnc(iface)"
putquick "PRIVMSG $bncuser :Das Tutorial findest Du hier: $sbnc(tutorial)"
putquick "PRIVMSG $bncuser :Falls Du noch Hilfe benötigst, joine bitte wieder in $sbnc(support)."
} else {
putquick "NOTICE $nick :Fehler. $bncuser ist nicht im $chan."
return
}
}
"password" {
set ident [lindex [split $arg] 1]
set bncuser [lindex [split $arg] 2]
set password [expr {int(rand()*1000000) + 1}]
if {$ident == ""} {
putquick "NOTICE $nick :Fehler. Falscher Befehl. Benutze $sbnc(trigger)$sbnc(bnc) password 'ident'."
return
} else {
putquick "SBNC RESETPASS $ident $password"
putquick "NOTICE $nick :Erledigt. Neues Passwort für $ident wurde erstellt."
putquick "NOTICE $nick :Passwort: $password"
if {$bncuser == ""} {
return
} elseif {[onchan $bncuser $chan]} {
putquick "PRIVMSG $bncuser :Hallo $bncuser! Hier Dein neues Passwort: $password"
putquick "PRIVMSG $bncuser :Bitte ändere Dein Passwort im Webinterface - $sbnc(iface), $sbnc(ifcport)."
} else {
putquick "NOTICE $nick :Fehler. $bncuser ist nicht im $chan."
return
}
}
}
"userinfo" {
set ident [lindex [split $arg] 1]
if {$ident == ""} {
putquick "NOTICE $nick :Error. Wrong syntax. Use $sbnc(trigger)$sbnc(bnc) userinfo 'ident'."
} else {
putquick "sbnc tcl :putquick \"NOTICE $nick :***Daten von $ident***\""
putquick "sbnc tcl :putquick \"NOTICE $nick :Nick: \[getbncuser $ident nick\]\""
putquick "sbnc tcl :putquick \"NOTICE $nick :Server: \[getbncuser $ident server\]\""
putquick "sbnc tcl :putquick \"NOTICE $nick :Port: \[getbncuser $ident port\]\""
putquick "sbnc tcl :putquick \"NOTICE $nick :Realname: \[getbncuser $ident realname\]\""
putquick "sbnc tcl :putquick \"NOTICE $nick :Awaynick: \[getbncuser $ident awaynick\]\""
putquick "sbnc tcl :putquick \"NOTICE $nick :Awaymessage: \[getbncuser $ident away\]\""
putquick "sbnc tcl :putquick \"NOTICE $nick :Verbunden: \[getbncuser $ident hasclient\]\""
putquick "sbnc tcl :putquick \"NOTICE $nick :-Ende der Userinfo-\""
}
}
}