看到一篇教程是关于发送短信获取世界杯战况:A FIFA 2018 World Cup SMS bot using Twilio, Heroku and Flask。
这个项目很简单,可以跟着练习一遍。
使用的技术栈及Python包主要为:
- Flask
- Twilio
- Heroku
我照着实现了一遍,实现的时候发现他的代码有部分需要变动的地方,我的代码存放地: Github
具体的做法可以跟着 A FIFA 2018 World Cup SMS bot using Twilio, Heroku and Flask 做一遍。我想说下我做的时候的感悟。
Heroku CLI 的问题
Heroku需要翻墙登录,我在Linux下有Shadow socks,所以在命令行输入heroku login
和heroku create
的时候报错:
1 | Error: tunneling socket could not be established, cause=Parse Error |
由于不熟悉Heroku,所以我就换Mac了。在这上面花费了差不多一个小时,后来找到一个workaround。
那就在Heroku上deploy的时候关联Github,而不使用默认的CLI就行了。如下图:
不要勾选 Wait for CI to pass before deploy
Debug的问题
前面提到原作者的代码有需要改动的部分地方,是由于通过第三方网站获取FIFA各个小组赛时,其返回的JSON数据结构发生了变化。
在debug这个的过程中,由于我没有本地运行环境,每修复一个bug,我就提交了许多个commit,而每个commit都非常小,按照标准提交来说,这些commit都是可以压缩成一个的。
出现这个情况还是因为我对Heroku不熟悉,印象中Heroku是提供本地运行环境的。我应该在本地运行起来,理论上Github上的应该是生产端。
其他收获的知识点
- Twilio 可以提供短信、语音等处理功能,可免费试用。
- Python Tips 介绍了一些小Tip,可以一看。