rendered paste bodycreate_client(Host, Port) :-
tcp_socket(Socket),
tcp_connect(Socket, Host:Port),
tcp_open_socket(Socket, ReadFd, WriteFd),
set_stream(WriteFd, buffer(false)),
set_stream(ReadFd, buffer(false)),
repeat,
read_line_to_codes(ReadFd, Data),
string_to_atom(Data, String),
process(WriteFd,String),
close(ReadFd),
close(WriteFd).
process(Stream, String) :-
concat_atom(Atoms, ' ', String),
[User, Event, Channel, FirstWord | Tail] = Atoms,
write([User,Event,Channel,FirstWord,Tail]), nl,
process(Stream, User, Event, Channel, FirstWord, [Tail]),
fail.
process(Stream, 'NOTICE AUTH :*** No identd (auth) response') :-
write(Stream, 'USER foo boo coo moo'), nl(Stream),
write(Stream, 'NICK boply'), nl(Stream),
write(Stream, 'JOIN #bfirc'), nl(Stream), !, fail.
process(Stream, _,'PRIVMSG',Channel, ':boply:', [Head|Tail]) :-
write(Stream, 'PRIVMSG #bfirc :cow dung'), nl(Stream),
write(Tail), nl, fail.
process(Stream,end_of_file) :- !.