Posted to tcl by oldie at Tue Feb 12 20:18:19 GMT 2019view pretty
proc znc:request { nick host handle chan text } { global scriptCommandPrefix zncPasswordSecurityLevel zncPasswordLength zncnetworkname zncrealname zncquitmsg zncvhost zncDefaultUserModules zncDefaultNetworkModules usePreconfiguredNetworks set username [lindex $text 0] set email [lindex $text 1] set networkname [lindex $text 2] set server [lindex $text 3] set port [lindex $text 4] if { $email == ""} { puthelp "privmsg $chan :Syntax: \"${scriptCommandPrefix}request <username> <email> \<networkname> \<server> <\+\port>\"" return } else { set password [znc:helpfunction:generatePassword $zncPasswordSecurityLevel $zncPasswordLength ] if [ adduser $username ] { setuser $username COMMENT $email chattr $username +ZC znc:controlpanel:AddUser $username $password znc:controlpanel:Set realname $username $zncrealname znc:controlpanel:Set quitmsg $username $zncquitmsg znc:controlpanel:Set bindhost $username $zncvhost znc:blockuser:block $username znc:helpfunction:loadModuleList $username $zncDefaultUserModules if { $networkname != ""} { set preServer "" if { $usePreconfiguredNetworks } { set preServer [array names knownNetworks -exact [string tolower $networkname]] } znc:controlpanel:AddNetwork $username $networkname znc:helpfunction:loadNetModuleList $username $networkname $zncDefaultNetworkModules if { $preServer != "" } { foreach {networkname networkserver} [array get knownNetworks [string tolower $networkname]] { znc:controlpanel:AddServer $username $networkname $networkserver } } else { if { $port != "" } { znc:controlpanel:AddServer $username $networkname "$server $port" } } } puthelp "privmsg $chan :Success! Your new BNC (with ident: $username) will now be handled by a staff member. If your request is accepted, our bot will e-mail you with your new ZNC details and with login information." } else { puthelp "privmsg $chan :Sry, but your wanted username is already in use..." } } }