Posted to tcl by oldie at Tue Feb 12 20:18:19 GMT 2019view raw

  1. proc znc:request { nick host handle chan text } {
  2. global scriptCommandPrefix zncPasswordSecurityLevel zncPasswordLength zncnetworkname zncrealname zncquitmsg zncvhost zncDefaultUserModules zncDefaultNetworkModules usePreconfiguredNetworks
  3. set username [lindex $text 0]
  4. set email [lindex $text 1]
  5. set networkname [lindex $text 2]
  6. set server [lindex $text 3]
  7. set port [lindex $text 4]
  8. if { $email == ""} {
  9. puthelp "privmsg $chan :Syntax: \"${scriptCommandPrefix}request <username> <email> \<networkname> \<server> <\+\port>\""
  10. return
  11. } else {
  12. set password [znc:helpfunction:generatePassword $zncPasswordSecurityLevel $zncPasswordLength ]
  13. if [ adduser $username ] {
  14. setuser $username COMMENT $email
  15. chattr $username +ZC
  16. znc:controlpanel:AddUser $username $password
  17. znc:controlpanel:Set realname $username $zncrealname
  18. znc:controlpanel:Set quitmsg $username $zncquitmsg
  19. znc:controlpanel:Set bindhost $username $zncvhost
  20. znc:blockuser:block $username
  21. znc:helpfunction:loadModuleList $username $zncDefaultUserModules
  22. if { $networkname != ""} {
  23. set preServer ""
  24. if { $usePreconfiguredNetworks } {
  25. set preServer [array names knownNetworks -exact [string tolower $networkname]]
  26. }
  27. znc:controlpanel:AddNetwork $username $networkname
  28. znc:helpfunction:loadNetModuleList $username $networkname $zncDefaultNetworkModules
  29. if { $preServer != "" } {
  30. foreach {networkname networkserver} [array get knownNetworks [string tolower $networkname]] {
  31. znc:controlpanel:AddServer $username $networkname $networkserver
  32. }
  33. } else {
  34. if { $port != "" } {
  35. znc:controlpanel:AddServer $username $networkname "$server $port"
  36. }
  37. }
  38. }
  39. 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."
  40. } else {
  41. puthelp "privmsg $chan :Sry, but your wanted username is already in use..."
  42. }
  43. }
  44. }