<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -9,17 +9,18 @@ use strict;
 use Bot::BasicBot::Pluggable;
 
 my $bot = Bot::BasicBot::Pluggable-&gt;new( channels =&gt; [ ],
-                                         server =&gt; &quot;london.rhizomatic.net&quot;,
+                                         server =&gt; &quot;london.irc.perl.org&quot;,
                                          nick =&gt; &quot;jerabot&quot;,
                                          );
                                          
 
 $bot-&gt;load(&quot;Seen&quot;);
 
-my $google = $bot-&gt;load(&quot;Google&quot;);
-$google-&gt;set(&quot;google_key&quot;, &quot;xxxxxxxxxxxxxxx&quot;);
+#my $google = $bot-&gt;load(&quot;Google&quot;);
+#$google-&gt;set(&quot;google_key&quot;, &quot;xxxxxxxxxxxxxxx&quot;);
 
 $bot-&gt;load(&quot;Infobot&quot;);
+$bot-&gt;load(&quot;Title&quot;);
 
 $bot-&gt;run();
 </diff>
      <filename>examples/simple.pl</filename>
    </modified>
    <modified>
      <diff>@@ -147,6 +147,52 @@ sub load {
     return $self-&gt;{store};
 }
 
+=head2 say(message)
+
+passing through to the underlying Bot::BasicBot object, this method lets
+you send messages without replying to a said() call, eg:
+
+  $self-&gt;say({ who =&gt; 'tom', body =&gt; 'boo', channel =&gt; 'msg' });
+
+=cut
+
+sub say {
+  my $self = shift;
+  return $self-&gt;{Bot}-&gt;say(@_);
+}
+
+=head2 reply(message, body)
+
+replies to the given message with the given text. Another passthrough to the
+Bot::BasicBot object.
+
+=cut
+
+sub reply {
+  my $self = shift;
+  return $self-&gt;{Bot}-&gt;reply(@_);
+}
+
+=head2 tell(nick / channel, message)
+
+convenience method to send a message to the given nick or channel, will send
+a privmsg if a nick is given, or a public for a channel.
+
+  $self-&gt;tell('tom', &quot;hello there, fool&quot;);
+
+=cut
+
+sub tell {
+  my $self = shift;
+  my $target = shift;
+  my $body = shift;
+  if ($target =~ /^#/) {
+    $self-&gt;say({ channel =&gt; $target, body =&gt; $body });
+  } else {
+    $self-&gt;say({ channel =&gt; 'msg', body =&gt; $body, who =&gt; $target });
+  }
+}
+
 =head2 said(message, priority)
 
 This is I&lt;the&gt; method to override. It's called when the bot sees</diff>
      <filename>lib/Bot/BasicBot/Pluggable/Module/Base.pm</filename>
    </modified>
    <modified>
      <diff>@@ -14,14 +14,23 @@ Speak the title of urls mentioned in channel
 
 None. If the module is loaded, the bot will speak the titles of all web pages mentioned.
 
-=head1 TODO
-
-If you speak the URL of something big, the bot will download it all. It'll probably
-then time out and drop off the server. Oops.
-
 =cut
 
-use LWP::Simple;
+use LWP::UserAgent;
+use HTTP::Request;
+use HTTP::Response;
+
+sub get {
+    my $url = shift;
+    my $ua = LWP::UserAgent-&gt;new;
+    $ua-&gt;timeout(20);
+    $ua-&gt;max_size(16384);
+    my $req = HTTP::Request-&gt;new(GET =&gt; $url);
+    $req-&gt;header( Range =&gt; 'bytes=0-16384' );
+    my $res = $ua-&gt;request($req);
+    return unless $res-&gt;is_success;
+    return $res-&gt;content;
+}
 
 sub help {
     return &quot;will speak the title of any wab page mentioned in channel&quot;;
@@ -36,7 +45,7 @@ sub said {
     my $url = $1;
 
     my $data = get($url) or return; # &quot;Can't get $url&quot;;
-
+    
     my $title;
     my $match;
 </diff>
      <filename>lib/Bot/BasicBot/Pluggable/Module/Title.pm</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>examples/plingbot.pl</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>108fdf32de923fc07c43473de49137c1a7969152</id>
    </parent>
  </parents>
  <author>
    <name>tomi</name>
    <email>tomi@ab05c693-d3d1-0310-8e8b-e1346d90d6a5</email>
  </author>
  <url>http://github.com/jerakeen/bot-basicbot-pluggable/commit/a8756cac41cbaf6f418269e828eb0cb9c112f4d6</url>
  <id>a8756cac41cbaf6f418269e828eb0cb9c112f4d6</id>
  <committed-date>2004-01-02T15:14:19-08:00</committed-date>
  <authored-date>2004-01-02T15:14:19-08:00</authored-date>
  <message>fix title bugs</message>
  <tree>cca667def98bad06aa14d5e762fe03b52b8ccf38</tree>
  <committer>
    <name>tomi</name>
    <email>tomi@ab05c693-d3d1-0310-8e8b-e1346d90d6a5</email>
  </committer>
</commit>
