Posted to tcl by oldie at Tue Feb 12 20:18:19 GMT 2019view raw
- 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..."
- 		}
- 	}
- }