Posted to tcl by hypnotoad at Wed Feb 13 00:42:31 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] if { [llength $email] ni {2 5} || $email == ""} { puthelp "privmsg $chan :Syntax: \"${scriptCommandPrefix}request \<username> \<email> \<networkname> \<server> \<\+\port>\"" return } if {[string tolower $networkname] in $bannednetworks} { putserv "PRIVMSG $chan :The network \002$networkname\002 is BANNED." return } 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 } else { puthelp "privmsg $chan :Sry, but your wanted username is already in use..." } if {[llength $text]==2} return set networkname [lindex $text 2] set server [lindex $text 3] set port [lindex $text 4] 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." }