<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: How to Make Your Own Twitter Bot &#8211; Python Implementation</title>
	<atom:link href="http://flowingdata.com/2008/11/05/how-to-make-your-own-twitter-bot-python-implementation/feed/" rel="self" type="application/rss+xml" />
	<link>http://flowingdata.com/2008/11/05/how-to-make-your-own-twitter-bot-python-implementation/</link>
	<description>Strength in Numbers</description>
	<lastBuildDate>Sun, 12 Feb 2012 04:57:37 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Twitter Bot</title>
		<link>http://flowingdata.com/2008/11/05/how-to-make-your-own-twitter-bot-python-implementation/#comment-30652</link>
		<dc:creator>Twitter Bot</dc:creator>
		<pubDate>Mon, 08 Jun 2009 01:34:51 +0000</pubDate>
		<guid isPermaLink="false">http://flowingdata.com/?p=1107#comment-30652</guid>
		<description>Thanks, I&#039;ve been using the Twitter API for some time now just messing around with some sports push bots. Really cool stuff</description>
		<content:encoded><![CDATA[<p>Thanks, I&#8217;ve been using the Twitter API for some time now just messing around with some sports push bots. Really cool stuff</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Twitter Search</title>
		<link>http://flowingdata.com/2008/11/05/how-to-make-your-own-twitter-bot-python-implementation/#comment-30116</link>
		<dc:creator>Twitter Search</dc:creator>
		<pubDate>Wed, 27 May 2009 01:18:43 +0000</pubDate>
		<guid isPermaLink="false">http://flowingdata.com/?p=1107#comment-30116</guid>
		<description>thats great that you are talking about the twitter api,a good example of searching with the twitter api is on twiogle.com because you can search on twitter and google at the same time.</description>
		<content:encoded><![CDATA[<p>thats great that you are talking about the twitter api,a good example of searching with the twitter api is on twiogle.com because you can search on twitter and google at the same time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonas Lejon</title>
		<link>http://flowingdata.com/2008/11/05/how-to-make-your-own-twitter-bot-python-implementation/#comment-26297</link>
		<dc:creator>Jonas Lejon</dc:creator>
		<pubDate>Mon, 30 Mar 2009 14:00:57 +0000</pubDate>
		<guid isPermaLink="false">http://flowingdata.com/?p=1107#comment-26297</guid>
		<description>Thanks for the guide! I&#039;ve just made a Twitter bot. More info http://download11.com/twitter</description>
		<content:encoded><![CDATA[<p>Thanks for the guide! I&#8217;ve just made a Twitter bot. More info <a href="http://download11.com/twitter" rel="nofollow">http://download11.com/twitter</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: uGur</title>
		<link>http://flowingdata.com/2008/11/05/how-to-make-your-own-twitter-bot-python-implementation/#comment-25043</link>
		<dc:creator>uGur</dc:creator>
		<pubDate>Fri, 13 Mar 2009 03:17:58 +0000</pubDate>
		<guid isPermaLink="false">http://flowingdata.com/?p=1107#comment-25043</guid>
		<description>thanks..</description>
		<content:encoded><![CDATA[<p>thanks..</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike</title>
		<link>http://flowingdata.com/2008/11/05/how-to-make-your-own-twitter-bot-python-implementation/#comment-24873</link>
		<dc:creator>Mike</dc:creator>
		<pubDate>Tue, 10 Mar 2009 05:30:41 +0000</pubDate>
		<guid isPermaLink="false">http://flowingdata.com/?p=1107#comment-24873</guid>
		<description>@nathan,

I think that the lag has more to do with twitter in general than anything else.  I know that from time to time SMS updates take hours to go through.  There is no apparent rhyme or reason to these delays, and sometimes they will delay for some users, and not to others.  I would imagine that this delay would likewise affect the API.

I really like the idea of &#039;push&#039; update via email; I wish there was a convenient way for twitter to directly support a &#039;push&#039; interface.  Something like the &quot;twitter do&quot; interface (www.twitter.com/tdo) would be really cool.  It runs a URL when you send a DM to @tdo; you register your commands and everything; but it isn&#039;t really useful for setting up you OWN bot, since it won&#039;t respond to a DM to YOU.

The problem with the API is the 100 requests per hour; if you have thousands of users, you&#039;re going to run out of requests in a hurry.  Although in fairness, if you are running for 1000s of users, your server load is going to be pretty high using your emails anyway.

For users who don&#039;t have direct access to procmail or similar (for example, lots of people on web hosts.  If you have a CPanel web host, you can set up &quot;email filters&quot;, which when matched can &quot;pipe to a program&quot;, which will have the same effect.

FWIW, this should also work with languages other than Python, such as PHP, if people are more familiar with that.  Although you&#039;ll need to know more about your hosting environment, no reason C/C++ wouldn&#039;t work, for that matter.  

HTH</description>
		<content:encoded><![CDATA[<p>@nathan,</p>
<p>I think that the lag has more to do with twitter in general than anything else.  I know that from time to time SMS updates take hours to go through.  There is no apparent rhyme or reason to these delays, and sometimes they will delay for some users, and not to others.  I would imagine that this delay would likewise affect the API.</p>
<p>I really like the idea of &#8216;push&#8217; update via email; I wish there was a convenient way for twitter to directly support a &#8216;push&#8217; interface.  Something like the &#8220;twitter do&#8221; interface (www.twitter.com/tdo) would be really cool.  It runs a URL when you send a DM to @tdo; you register your commands and everything; but it isn&#8217;t really useful for setting up you OWN bot, since it won&#8217;t respond to a DM to YOU.</p>
<p>The problem with the API is the 100 requests per hour; if you have thousands of users, you&#8217;re going to run out of requests in a hurry.  Although in fairness, if you are running for 1000s of users, your server load is going to be pretty high using your emails anyway.</p>
<p>For users who don&#8217;t have direct access to procmail or similar (for example, lots of people on web hosts.  If you have a CPanel web host, you can set up &#8220;email filters&#8221;, which when matched can &#8220;pipe to a program&#8221;, which will have the same effect.</p>
<p>FWIW, this should also work with languages other than Python, such as PHP, if people are more familiar with that.  Although you&#8217;ll need to know more about your hosting environment, no reason C/C++ wouldn&#8217;t work, for that matter.  </p>
<p>HTH</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: diN0bot</title>
		<link>http://flowingdata.com/2008/11/05/how-to-make-your-own-twitter-bot-python-implementation/#comment-22546</link>
		<dc:creator>diN0bot</dc:creator>
		<pubDate>Fri, 09 Jan 2009 20:47:29 +0000</pubDate>
		<guid isPermaLink="false">http://flowingdata.com/?p=1107#comment-22546</guid>
		<description>for more information on running python scripts when your mail server receives an email see:

http://bilumi.org/trac/wiki/cellphone_install#InstallMailRoutingwpostfixandprocmail

I found the discussion here useful. Thanks.

It still seems like the best architecture is a polling scheme. The system can then interact with responses and status in addition to direct messages. One might be able to get whitelisted to reduce lag. 

Anyone know of whitelisted apps? (I&#039;m trying to gauge the liklihood of this happening with my app)</description>
		<content:encoded><![CDATA[<p>for more information on running python scripts when your mail server receives an email see:</p>
<p><a href="http://bilumi.org/trac/wiki/cellphone_install#InstallMailRoutingwpostfixandprocmail" rel="nofollow">http://bilumi.org/trac/wiki/ce.....ndprocmail</a></p>
<p>I found the discussion here useful. Thanks.</p>
<p>It still seems like the best architecture is a polling scheme. The system can then interact with responses and status in addition to direct messages. One might be able to get whitelisted to reduce lag. </p>
<p>Anyone know of whitelisted apps? (I&#8217;m trying to gauge the liklihood of this happening with my app)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nathan Yau</title>
		<link>http://flowingdata.com/2008/11/05/how-to-make-your-own-twitter-bot-python-implementation/#comment-21710</link>
		<dc:creator>Nathan Yau</dc:creator>
		<pubDate>Thu, 11 Dec 2008 15:30:03 +0000</pubDate>
		<guid isPermaLink="false">http://flowingdata.com/?p=1107#comment-21710</guid>
		<description>Most of the time the emails come immediately, but sometimes the emails get delayed by more than an hour. Sometimes they don&#039;t come at all. I dunno...</description>
		<content:encoded><![CDATA[<p>Most of the time the emails come immediately, but sometimes the emails get delayed by more than an hour. Sometimes they don&#8217;t come at all. I dunno&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Renshaw</title>
		<link>http://flowingdata.com/2008/11/05/how-to-make-your-own-twitter-bot-python-implementation/#comment-21690</link>
		<dc:creator>Peter Renshaw</dc:creator>
		<pubDate>Thu, 11 Dec 2008 07:59:37 +0000</pubDate>
		<guid isPermaLink="false">http://flowingdata.com/?p=1107#comment-21690</guid>
		<description>&quot;... One trouble Iâ€™m finding though, not that Iâ€™ve been using this technique for a little while is that Twitter is sometimes really slow to send that email ...&quot;

@Nathan they might do a batch process on the updates. Once a day run a sql query of all new events then send them off. Sounds silly but it&#039;s notification not real-time like the API and the RSS feed - not 100% sure about the RSS but pretty sure.</description>
		<content:encoded><![CDATA[<p>&#8220;&#8230; One trouble Iâ€™m finding though, not that Iâ€™ve been using this technique for a little while is that Twitter is sometimes really slow to send that email &#8230;&#8221;</p>
<p>@Nathan they might do a batch process on the updates. Once a day run a sql query of all new events then send them off. Sounds silly but it&#8217;s notification not real-time like the API and the RSS feed &#8211; not 100% sure about the RSS but pretty sure.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nathan Yau</title>
		<link>http://flowingdata.com/2008/11/05/how-to-make-your-own-twitter-bot-python-implementation/#comment-21688</link>
		<dc:creator>Nathan Yau</dc:creator>
		<pubDate>Thu, 11 Dec 2008 05:48:16 +0000</pubDate>
		<guid isPermaLink="false">http://flowingdata.com/?p=1107#comment-21688</guid>
		<description>One trouble I&#039;m finding though, not that I&#039;ve been using this technique for a little while is that Twitter is sometimes really slow to send that email that a direct message came in...</description>
		<content:encoded><![CDATA[<p>One trouble I&#8217;m finding though, not that I&#8217;ve been using this technique for a little while is that Twitter is sometimes really slow to send that email that a direct message came in&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Renshaw</title>
		<link>http://flowingdata.com/2008/11/05/how-to-make-your-own-twitter-bot-python-implementation/#comment-21686</link>
		<dc:creator>Peter Renshaw</dc:creator>
		<pubDate>Thu, 11 Dec 2008 01:57:55 +0000</pubDate>
		<guid isPermaLink="false">http://flowingdata.com/?p=1107#comment-21686</guid>
		<description>&quot;... 3) Check email periodically for new direct messages ... Did I miss anything? ...&quot;

Nice example &amp; I agree with not having to use the twitter api. You could also use urllib and call the individual RSS user feed (eg: http://twitter.com/statuses/user_timeline/12436.rss) reading the url periodically and parsing the RSS.  The data is already structured and the tools exist to parse.</description>
		<content:encoded><![CDATA[<p>&#8220;&#8230; 3) Check email periodically for new direct messages &#8230; Did I miss anything? &#8230;&#8221;</p>
<p>Nice example &amp; I agree with not having to use the twitter api. You could also use urllib and call the individual RSS user feed (eg: <a href="http://twitter.com/statuses/user_timeline/12436.rss" rel="nofollow">http://twitter.com/statuses/us...../12436.rss</a>) reading the url periodically and parsing the RSS.  The data is already structured and the tools exist to parse.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

