Ticket #1371: imalittletestbot.pl

File imalittletestbot.pl, 0.7 KB (added by carlin, 5 years ago)
Line 
1use v6;
2
3warn 'Init';
4
5my $socket = IO::Socket::INET.new;
6
7warn 'Created socket';
8
9$socket.open('irc.freenode.net', 6667);
10
11warn 'opened connection';
12
13$socket.send: qq{USER littletestbot "" "" :littletestbot\r\n};
14
15warn 'sent USER';
16
17$socket.send("NICK imaltb\r\n");
18
19warn 'sent NICK';
20
21$socket.send("JOIN #perl6\r\n");
22
23warn 'sent JOIN';
24
25loop {
26        warn 'init loop';
27
28        my $buf = '';
29
30        warn 'cleared buffer';
31
32        until $buf ~~ / \r\n $ / {
33                warn 'start of until';
34                $buf ~= $socket.recv(1);
35                warn 'recv';
36        }
37        say $buf;
38        my $msg = $buf.split(' ');
39        warn 'split buf';
40        if $msg.shift eq 'PING' {
41                warn 'sending ping';
42                $socket.send("PONG {$msg.shift}\r\n");
43                warn 'sent ping';
44        }
45        warn 'end of loop';
46}