Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class client{
- static clients := Object()
- __new(socket, nick, user){
- this.socket := socket
- this.nick := nick
- this.user := user
- this.clients.Insert(socket, this)
- ;create channel for the user as pm
- ;~TODO unique chan identifier for clients only
- new chan(user)
- appendEdit("new client - nick[" nick "] user[" user "]") ;~
- }
- list(){
- for sockets in this.clients{
- MsgBox, % sockets "`n" this.clients[sockets]
- }
- }
- quit(socket){
- this.clients.Remove(socket)
- }
- }
- class chan{
- static channels := Object()
- __new(channel){
- this.channels.Insert(channel, Object("", "")) ;create new %channel% object
- ;MsgBox, % "__new: " this.channels[channel]["a"]
- appendEdit("new chan - channel[" channel "]") ;~
- }
- join(channel, socket){
- ;chan.channels[channel]/[sock.socks[socket]]/
- this.channels[channel].Insert(socket, sock.sockets[socket])
- ;MsgBox, % "join - " this.channels[channel][socket].ip
- appendEdit("chan.join - channel[" channel "] socket[" socket "]") ;~
- }
- list(){
- for channel in this.channels{
- for socket in this.channels[channel]{
- MsgBox, % "for - " sock.sockets[socket].socket
- }
- }
- }
- send(channel, data){
- for socket in this.channels[channel]{
- sock.send(socket channel " :" data)
- ;MsgBox, % "socket - " socket "`n" this.channels[channel][socket].isocket
- }
- }
- part(channel, socket){
- this.channels[channel].Remove(socket)
- appendEdit("chan.part - channel[" channel "] socket[" socket "]") ;~
- }
- }
Add Comment
Please, Sign In to add comment