Guest User

Untitled

a guest
Aug 21st, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. :- use_module(library(socket)).
  2.  
  3. irc :-
  4. NICK="cvtail",
  5. CHAN="#p4p4p4",
  6. Adress = 'irc.freenode.net':6667,
  7. tcp_socket(Socket),
  8. tcp_connect(Socket, Adress, Read, Write),
  9. write_list(Write,["PASS ","something funny"]),
  10. write_list(Write,["USER ",NICK," 12 * ",NICK]),
  11. write_list(Write,["NICK ",NICK]),
  12.  
  13. thread_create(irc_read(Read,Write), Th, []),
  14. konsole(Write).
  15.  
  16. konsole(Write) :-
  17. get_char(S),
  18. put_char(Write, S),
  19. (S=='\n' -> flush_output(Write); true),
  20. konsole(Write).
  21.  
  22. process(Read,Write,C) :-
  23. writeln(C),
  24. split_string(C," ", "", L),
  25. (member("433",L) ->
  26. writeln("bye."),
  27. abort;
  28. true),
  29. (member("PING",L) ->
  30. irc_write(Write, "PONG !\r\n"),
  31. flush_output(Write);
  32. true),
  33. true.
  34.  
  35. write_list(O, [H|T]) :-
  36. irc_write(O,H),
  37. length(T,L),
  38. (L>0 -> write_list(O, T);
  39. write(O,"\r\n"), writeln(""), flush_output(O)),
  40. true.
  41.  
  42. irc_write(Write,Str) :-
  43. write(Str),
  44. write(Write,Str).
  45.  
  46. irc_read(Read,Write) :-
  47. read_string(Read,"\n", "\r", End, C),
  48. (End>0 -> process(Read,Write,C), irc_read(Read,Write); true).
Add Comment
Please, Sign In to add comment