diff options
Diffstat (limited to 'examples/05-bash-bot-with-filter.p6')
-rw-r--r-- | examples/05-bash-bot-with-filter.p6 | 30 |
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"; + } + ) |