出于学习目的,我非常想建立一个ifttt克隆。
我可以自己编写代码,至少在python中代码,通常可以为我自己的问题找到很好的解决方案。问题是我不知道从哪里开始建立这样一个系统所以,我对这样一个动态系统的架构感兴趣,有不同的触发器和不同的动作?
谢谢!
编辑:使问题更容易一些。
答案 0 :(得分:2)
IFTTT所做的事情可以分解为以下几点: - 检查是否发生了什么事 - 接收发生的事情的触发器 - 向API发送请求 - 将“发生的事情”连接到API请求
最直接的一个是“向API发送请求”,所以我建议你从那里开始。尝试使用代码与不同网站的API交谈:Twitter,Instagram,Dropbox,Facebook等。绝对可以使用requests库。
“检查是否发生了事情”有点困难,在这里你定期轮询服务(如API)以查看另一方的状态是否发生了变化。如果东西已经改变(并且已经改变的东西与食谱相关),现在我们知道了。我们可以使用这些知识来激活“向API发送请求”。您也可以使用此请求。
“接收发生的事情的信息”可能是最难的。它与“检查是否发生了什么”非常相似,但这是被动的而不是主动的。查看发布/订阅模式和PubSubHubbub。
将它们连接在一起。现在基本上你想要创建一个用户可以以某种方式定义的食谱。我首先开始对它们进行硬编码,然后通过Web界面进行配置。所以基本上:检查是否更改了内容,如果是,请向API发送请求。然后,您可以迭代所有配方并检查每个配方需要检查的内容,如果发生的事情发送了配方中定义的请求。然后最终创建一个web应用程序,其中包括用户可以定义配方的表单。我建议使用某种框架,Django和Flask一样受欢迎。
祝你好运!