Guest User

Untitled

a guest
Dec 15th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1.  
  2. class client{
  3. static clients := Object()
  4. __new(socket, nick, user){
  5. this.socket := socket
  6. this.nick := nick
  7. this.user := user
  8. this.clients.Insert(socket, this)
  9.  
  10. ;create channel for the user as pm
  11. ;~TODO unique chan identifier for clients only
  12. new chan(user)
  13.  
  14. appendEdit("new client - nick[" nick "] user[" user "]") ;~
  15. }
  16. list(){
  17. for sockets in this.clients{
  18. MsgBox, % sockets "`n" this.clients[sockets]
  19. }
  20. }
  21. quit(socket){
  22. this.clients.Remove(socket)
  23. }
  24. }
  25.  
  26. class chan{
  27. static channels := Object()
  28. __new(channel){
  29. this.channels.Insert(channel, Object("", "")) ;create new %channel% object
  30. ;MsgBox, % "__new: " this.channels[channel]["a"]
  31. appendEdit("new chan - channel[" channel "]") ;~
  32. }
  33. join(channel, socket){
  34. ;chan.channels[channel]/[sock.socks[socket]]/
  35. this.channels[channel].Insert(socket, sock.sockets[socket])
  36. ;MsgBox, % "join - " this.channels[channel][socket].ip
  37. appendEdit("chan.join - channel[" channel "] socket[" socket "]") ;~
  38. }
  39. list(){
  40. for channel in this.channels{
  41. for socket in this.channels[channel]{
  42. MsgBox, % "for - " sock.sockets[socket].socket
  43. }
  44. }
  45. }
  46. send(channel, data){
  47. for socket in this.channels[channel]{
  48. sock.send(socket channel " :" data)
  49. ;MsgBox, % "socket - " socket "`n" this.channels[channel][socket].isocket
  50. }
  51. }
  52. part(channel, socket){
  53. this.channels[channel].Remove(socket)
  54. appendEdit("chan.part - channel[" channel "] socket[" socket "]") ;~
  55. }
  56. }
Add Comment
Please, Sign In to add comment