;mIRC telnet chat deamon written by SHAGGSTaRR
;usage "/tcd open|close name" "/snd message" !tcd open|close name
;extra is configured for port 1337
;yeah it's a bit messy but it gets the job done
;and I've tried loads but it looks like if then else style checks on %userbuffer wont work, I dont think the on sockread event ;supports it
menu status {
Telnet Chat Deamon
.Open
..open Normal connection:/tcdopen
..open Extra:/tcdextraopen
.close
..Normal connection:/tcdclose
..Extra:/tcdextraclose
.users
..Change username 1:/set %user1 $$?"Username for user 1:"
..change username 2:/set %user2 $$?"Username for user 2:"
.disconnect
..user1:/sockwrite -n user1 Server: Goodbye %user1 | sockwrite -n user2 Server: Goodbye %user1 | /sockclose telnetd | sockclose user1
..user2:/sockwrite -n user2 Server: Goodbye %user2 | sockwrite -n user1 Server: Goodbye %user2 | /tcdextraclose
}
alias tcdopen { /socklisten telnetd 23 | /echo -a TelnetD: Open. | /set %telnet open | /window -e @TelnetD }
alias tcdclose { /sockclose user1 | /sockclose telnetd | /echo -a TelnetD: Closed. | /set %telnet closed | echo @TelnetD -Session ended- }
alias tcdextraopen { /socklisten extra 1337 | /echo -a TelnetD: Extra on. | /set %extra on }
alias tcdextraclose { /sockclose user2 | /sockclose extra | /echo -a TelnetD: Extra closed. }
on 1:socklisten:telnetd: /sockaccept user1 | /sockwrite -n user1 Welcome to mIRCTD written by SHAGGSTaRR | /sockwrite -n user1 At $date $time | /sockwrite -n user1 -Remember to hit return after you've typed your message!- | /echo @TelnetD TelnetD: %user1 connected.
on 1:sockread:user1: /sockread -n %user1buffer | echo @TelnetD TelnetD - %user1 : %user1buffer | sockwrite -n user2 %user1 : %user1buffer
on 1:socklisten:extra: /sockaccept user2 | /sockwrite -n user2 Welcome to mIRCTD written by SHAGGSTaRR | /sockwrite -n user2 At $date $time | /sockwrite -n user2 -Remember to hit return after you've typed your message!- | /echo @TelnetD TelnetD: %user2 connected.
on 1:sockread:user2: /sockread -n %user2buffer | echo @TelnetD TelnetD - %user2 : %user2buffer | sockwrite -n user1 %user2 : %user2buffer
alias snd { /echo @TelnetD TelnetD - YOU: $1- | sockwrite -n user1 Admin: $1- | sockwrite -n user2 Admin: $1- }
alias raw { /echo @TelnetD TelnetD - $1- | sockwrite -n user1 $1- | sockwrite -n user2 $1- }
alias sockstat { echo -a $sock(telnetd,sent) }
;to do:
;make the client a stand alone deamon with on 1:START:
;variable nick/port number
;add on 1:text:deamoninfo: /msg $nick status is %telnet
;stop null bytes from being printed in the admin window