5 use Data::Dump qw(dump);
13 MQR::Redis->redis->psubscribe('*', sub {
14 my($message, $channel) = @_;
15 if ( $channel =~ m/^MSG / ) {
16 if ( $message =~ m/^!track\s*(.+)/ ) {
17 $track->{$1} = $channel;
18 $regex = join('|', keys %$track);
19 warn "# track regex: $regex\n";
20 } elsif ( $regex && $message =~ m/($regex)/ ) {
22 while ( $m =~ s/($regex)// ) {
24 my $body = "TRACK [$found] $channel | $message";
26 my $to = $track->{$found} || die "no $1 in ",dump($track);
27 $to =~ s/^MSG /SEND /g;
28 MQR::Redis->publish( $to, $body );
32 warn "$channel | $message\n";
36 AnyEvent->condvar->recv;