diff options
author | Zoffix Znet <cpan@zoffix.com> | 2016-07-29 19:21:20 -0400 |
---|---|---|
committer | Zoffix Znet <cpan@zoffix.com> | 2016-07-29 19:21:20 -0400 |
commit | e3c619494601a8628b8a27bd855fa9b1506c0728 (patch) | |
tree | 5bce316ec49ba996b69e2d150cf075fc3ec5bd65 /examples/07-multi-server-message-forwarder.p6 | |
parent | db4b16e06ee14205a988263942524e1d754f8f64 (diff) |
Add examples; fix up docs
Diffstat (limited to 'examples/07-multi-server-message-forwarder.p6')
-rw-r--r-- | examples/07-multi-server-message-forwarder.p6 | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/examples/07-multi-server-message-forwarder.p6 b/examples/07-multi-server-message-forwarder.p6 new file mode 100644 index 0000000..06d07ec --- /dev/null +++ b/examples/07-multi-server-message-forwarder.p6 @@ -0,0 +1,37 @@ +use lib <lib>; + +use IRC::Client; + +class Messenger does IRC::Client::Plugin { + method irc-privmsg-channel ($e) { + for $.irc.servers.values -> $server { + for $server.channels -> $channel { + next if $server eq $e.server and $channel eq $e.channel; + + $.irc.send: :$server, :where($channel), :text( + "$e.nick() over at $e.server.host()/$e.channel() says $e.text()" + ); + } + } + + $.irc.send: :where<Zoffix> + :text('I spread the messages!') + :server<local>; + } +} + +.run with IRC::Client.new: + :debug + :plugins[Messenger.new] + :nick<MahBot> + :channels<#zofbot> + :servers{ + freenode => %( + :host<irc.freenode.net>, + ), + local => %( + :nick<P6Bot>, + :channels<#zofbot #perl6>, + :host<localhost>, + ) + } |