rendered paste bodyalias server.chatpoint {
var %scp.local.port, %scp.local.sockname
%scp.local.port = $rand(1000,5000)
%scp.local.sockname = $+(chatpoint.local.,$rand(1,999999))
socklisten %scp.local.sockname %scp.local.port
set $+(%,scp.remote.server.,%scp.local.sockname) $1-
server 127.0.0.1 %scp.local.port
}
on *:socklisten:chatpoint.local.*: {
if ($sockerr > 0) {
return
}
var %scp.remote.sockname, %scp.local.socket
%scp.remote.sockname = $+(chatpoint.remote.,$rand(1,999999))
%scp.local.socket = $+(chatpoint.newlocal.,$rand(1,999999))
sockaccept %scp.local.socket
sockopen %scp.remote.sockname [ [ $+(%,scp.remote.server.,$sockname) ] ] 6667
sockmark %scp.local.socket %scp.remote.sockname
sockmark %scp.remote.sockname %scp.local.socket
unset $+(%,scp.remote.server.,$sockname)
sockclose $sockname
}
on *:sockopen:chatpoint.remote.*: {
if ($sockerr > 0) {
sockwrite -n $sock($sockname).mark CONNECTION ERROR
sockclose $sock($sockname).mark
return
}
sockwrite -n $sock($sockname).mark CONNECTION SUCCESSFUL
sockwrite -n $sockname NICK $+(V4C16_-1_17923439_,$me)
sockwrite -n $sockname USER $+(V4C16_-1_17923439_,$me) 0 * :ChatPoint 4 user, chatpointId = 16
}
on *:sockread:chatpoint.remote.*: {
if ($sockerr > 0) {
return
}
sockread %scp.read.temp
sockwrite -n $sock($sockname).mark %scp.read.temp
}
on *:sockread:chatpoint.newlocal.*: {
if ($sockerr > 0) {
return
}
sockread %scp.local.read
if (($gettok(%scp.local.read,1,32) != NICK) && ($gettok(%scp.local.read,1,32) != USER)) {
sockwrite -n $sock($sockname).mark %scp.local.read
}
}
on *:sockclose:chatpoint.remote.*: {
sockwrite -n $sock($sockname).mark CONNECTION CLOSED
sockclose $sock($sockname).mark
}
on *:sockclose:chatpoint.newlocal.*: {
sockclose $sock($sockname).mark
}