aboutsummaryrefslogtreecommitdiff
path: root/examples/05-bash-bot-with-filter.p6
diff options
context:
space:
mode:
authorZoffix Znet <cpan@zoffix.com>2016-07-29 19:21:20 -0400
committerZoffix Znet <cpan@zoffix.com>2016-07-29 19:21:20 -0400
commite3c619494601a8628b8a27bd855fa9b1506c0728 (patch)
tree5bce316ec49ba996b69e2d150cf075fc3ec5bd65 /examples/05-bash-bot-with-filter.p6
parentdb4b16e06ee14205a988263942524e1d754f8f64 (diff)
Add examples; fix up docs
Diffstat (limited to 'examples/05-bash-bot-with-filter.p6')
-rw-r--r--examples/05-bash-bot-with-filter.p630
1 files changed, 30 insertions, 0 deletions
diff --git a/examples/05-bash-bot-with-filter.p6 b/examples/05-bash-bot-with-filter.p6
new file mode 100644
index 0000000..f3f2c3b
--- /dev/null
+++ b/examples/05-bash-bot-with-filter.p6
@@ -0,0 +1,30 @@
+use lib <lib>;
+
+use IRC::Client;
+use Pastebin::Shadowcat;
+use Mojo::UserAgent:from<Perl5>;
+
+class Bash {
+ has @!quotes;
+ has $!ua = Mojo::UserAgent.new;
+ constant $BASH_URL = 'http://bash.org/?random1';
+
+ method irc-to-me ($ where /bash/) {
+ start self!fetch-quotes and @!quotes.shift;
+ }
+ method !fetch-quotes {
+ @!quotes ||= $!ua.get($BASH_URL).res.dom.find('.qt').each».all_text;
+ }
+}
+
+.run with IRC::Client.new:
+ :nick<MahBot>
+ :host<localhost>
+ :channels<#zofbot>
+ :debug
+ :plugins(Bash.new)
+ :filters(
+ -> $text where .lines > 1 || .chars > 300 {
+ Pastebin::Shadowcat.new.paste: $text.lines.join: "\n";
+ }
+ )