2011-01-11 86 views
1

我正在写一个PHP和MySQL的Web应用程序。我希望用户能够通过twitter与网站进行交互。如果您熟悉RememberTheMilk如何将Twitter作为创建任务和其他活动的手段,那么您对我想要完成的事情有一些了解。
交互会很简短。例如:User_Jay向我的Twitter帐户发送一条直接消息;我的应用程序经常检查直接消息流,当它看到User_Jay的消息时,应用程序识别一个关键短语并执行一些代码;当代码已被执行时,应用程序会向User_Jay发送一条直接消息。结束。
我不知道哪个推特库最适合这项工作。我也不确定如何根据他们的直接信息为特定用户执行代码。
_
作为参考,用户将创建实际的网站账户,在那里,他们将能够申报的Twitter用户名。
此外,示例代码或示例代码链接完成这种事情将不胜感激。如何使用直接消息的Twitter流作为输入?

+0

我在设置一个守护进程来解析来自Twitter Streaming API的数据吗? – David 2011-01-12 18:13:30

回答

0

您可以使用Twitter流媒体API直接发送消息。首先,你不必用PHP编写它。尽管您可能正在使用PHP编写站点,但这并不意味着您必须使用PHP来获取推文的后台进程。

首先,你需要一些代码,处理来自User Streams API数据。我不确定是否有一个PHP,但phirehose接近。有一个补丁可以让它支持用户流。

如果您找不到支持用户流的PHP库,我建议您考虑使用Ruby。在Ruby中编写守护进程非常简单,您可以使用支持用户流的类似twitterstream的库。

然后,你需要编写一些代码,基本上进程的用户流:检查是否你所得到的东西是一个直接的消息,并将其放入数据库中。你可能也想要考虑一下你打算做什么,并且考虑一下队列和数据库的速度等等。如果您要发送回复,则需要考虑API率限制等问题。

使用流API是非常喜欢使用拉API:你得到JSON的斑点具有一整套键值对的。你如何决定你正在处理哪个用户?那么,你看看用户密钥并找到他们的用户名。

您还需要拿出一个语法使用的DMS网站互动,你需要创建一个普通的表达式解析器基础,或者使用一个词法分析器。你也想用这个测试很难测试,使用单元测试等等。您接受用户的文字:不要相信它!

的流API是不这样做的唯一方法:你也可以运行一个cron作业,检查API是否有新邮件。这很容易,但不是那么好。