slack 上的小黄鸡 - SlackBot 欢迎围观 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
dongweiming
V2EX    程序员

slack 上的小黄鸡 - SlackBot 欢迎围观

  dongweiming
dongweiming 2015-06-24 09:18:44 +08:00 8070 次点击
这是一个创建于 3799 天前的主题,其中的信息可能已经有所发展或是发生改变。

最近不到20天里面我们做了一个slack上的小黄鸡 代码地址在这里: https://github.com/python-cn/slack_bot

heroku地址: https://slack-bot2.herokuapp.com/slack_callback

小黄鸡年久失修, 插件都不可用了, 而且严重依赖人人, 以及rq, mysql. 我直接把核心剥离出来. 代码很少. 我觉得看这个项目很容易做一个其他类型的小黄鸡

它其实是很多个网站的爬虫集合, 初学者和有一定经验的python开发者可以围观用bs4和lxml如何快速的写一个爬虫,里面也有一些python的技巧,和不太常规的用法

但是其实我是来做广告的: http://python-cn.org/ 我们招募开发者. 欢迎参与进来.

先看bot的效果吧:

地图插件 - 你可以输入我想从哪去哪, 会给你个路线(步行/开车/公交)


天气插件 - 使用了百度api, 获得城市的天气情况

北京公交插件 - 可以查询北京公交线路, 获取实时的到某站的信息(有些线路站点不准)


美食插件 - 使用大众点评网api, 获取附近餐饮信息, 评分, 电话地址,距离等等

技术活动插件 - 从segmentfault/csdn/车库咖啡/活动行获得最近的活动列表

Github_issue插件 - 获得你个人或者组织下未处理的Pull requests列表

电影信息插件 - 列出最近上映和即将上映的电影信息

pycoders插件 - 获得<pycoders weekly>订阅数据

pythonweekly插件 - 获得<pythonweekly>订阅数据

头条插件 - 获得今日头条新闻

travel插件 - 旅游推荐/景点介绍


v2ex feed插件 - 获得一些节点的最新feed

help插件 - 列出所有插件的帮助信息

最主要的是小黄鸡(simsim)

也可以直接发到个人的slackbot channel里:


详情请看 http://www.dongwm.com/archives/slackshang-de-xiao-huang-ji-slackbot/

37 条回复    2015-07-03 11:38:26 +08:00
NovemberEleven
    1
NovemberEleven  
   2015-06-24 09:35:56 +08:00
好厉害的小黄鸡!
Mcatt
    2
Mcatt  
   2015-06-24 09:46:12 +08:00
看起来挺不错的,网站的愿景也是挺好的。不过貌似python社区也挺多,楼主有时间、精力和信心建设成ruby-china那样吗
tonic
    3
tonic  
   2015-06-24 09:51:52 +08:00
... 我就翻了下源码, 希望作者不要写出 `private = True if 'private' in s or '私聊' in s else False` 这样的代码啊... >< 虽然我是接地气的人并不是那么 care 代码风格什么的... 还是忍不住说一下 ><
tonic
    4
tonic  
   2015-06-24 09:53:35 +08:00
又看了下作者原来是小明明... = =
samael
    5
samael  
   2015-06-24 10:04:39 +08:00
firefly? 这和那个python服务器框架firefly有关系吗?
halfcrazy
    6
halfcrazy  
   2015-06-24 10:24:49 +08:00
@samael 只是碰巧重名
dongweiming
    7
dongweiming  
OP
   2015-06-24 10:34:10 +08:00
@tonic 这样可好:

any([word in s for word in ['private', '私聊']])
missdeer
    8
missdeer  
   2015-06-24 11:11:41 +08:00
这是怎样的毅力能加入这么多功能。。。
bcxx
    9
bcxx  
   2015-06-24 12:30:11 +08:00
@dongweiming any(word in s for word in ('private', '私聊')) 就好了
kxxoling
    10
kxxoling  
   2015-06-24 13:03:35 +08:00
用 @lepture 的库,抢 python-china.org 的用户 (д) 。
dongweiming
    11
dongweiming  
   2015-06-24 13:29:47 +08:00
@missdeer 利用闲暇周末时间就可以了. 这些功能大多是做这个bot时候就想到的. 还因为很多原因暂停了一些插件.
dongweiming
    12
dongweiming  
OP
   2015-06-24 13:31:22 +08:00
@kxxoling 我不排斥国货啊, 我觉得好的就直接拿来用. 随便弱弱的问 python-china.org 现在还有用户么( ̄ ̄)
dongweiming
    13
dongweiming  
OP
   2015-06-24 13:34:01 +08:00
@Mcatt 凡是有名的社区或者项目 排除因为走的最早填补空当, 英语交流问题, 以及符合了国外某些群体的口味. 大多在早期版本很low, 但是贵在坚持. 没有人的话 我个人也会把它做完滴.
wong2
    14
wong2  
   2015-06-24 13:57:21 +08:00
@dongweiming 小六说的是可以直接 `private = 'private' in s or '私聊' in s` 吧。。
NCE
    15
NCE  
   2015-06-24 14:20:36 +08:00
然并卵
kxxoling
    16
kxxoling  
   2015-06-24 14:41:02 +08:00
@dongweiming 没事啦,只是顺口吐槽下~ python-china.org 确实近几个月都没有新帖子了,国内 Python 用户本来就少,分散开来更难形成社区了。如果能够联系一些国内有影响力的开发者或者公司一起发展社区也许能滚起用户的雪球。
zenliver
    17
zenliver  
   2015-06-24 15:42:18 +08:00
小明明又出来卖萌了,,,
dddd
    18
dddd  
   2015-06-24 16:03:39 +08:00
Hodor
    19
Hodor  
   2015-06-24 17:08:48 +08:00
真是一个孤单的故事。。。
dongweiming
    20
dongweiming  
OP
   2015-06-24 18:07:07 +08:00
@wong2
dongweiming
    21
dongweiming  
OP
   2015-06-24 18:08:17 +08:00
@dddd #TIL
VeryCB
    22
VeryCB  
   2015-06-24 18:12:49 +08:00
@wong2 鸡爸好~
wangtai
    23
wangtai  
   2015-06-24 18:30:55 +08:00
怎么加入?
Mcatt
    24
Mcatt  
   2015-06-24 20:22:34 +08:00
@dongweiming 加油!
402645707
    25
402645707  
   2015-06-24 21:31:52 +08:00 via Android
话说这不就是去掉声音识别的siri吗
dongweiming
    26
dongweiming  
OP
   2015-06-24 21:33:11 +08:00
@wangtai 给社区贡献代码之后我会邀请你进我们的slack.

1. 你可以吐槽我们现有的代码
2. 改现有代码的bug
3. https://trello.com/b/JM2OEXPA/firefly 这里是一些任务列表, 你可以认领你认为有兴趣的去完成它, 也可以增加你认为有趣的有用的card去完成它.
4. 重新设计其中某块. 比如前端一直没有使用什么框架. 我想使用react 你要有这方面的兴趣和能力也可以参与进来
biggun
    27
biggun  
   2015-06-25 00:39:30 +08:00
@dongweiming 加油。
biggun
    28
biggun  
   2015-06-25 00:40:33 +08:00
@dongweiming 倒是有兴趣加入前端的开发。不过从现有的flask app里面剥离template,会有点痛哦。。
deepreader
    29
deepreader  
   2015-06-25 01:06:24 +08:00
@dongweiming 求拉入github python-cn: https://github.com/idf
flowfire
    30
flowfire  
   2015-06-25 05:05:19 +08:00
python初学者能进嘛 [逃
话说发现python是按缩进分隔代码的时候我就觉得我找到了真爱
junnplus
    31
junnplus  
   2015-06-25 09:54:04 +08:00 via Android
支持,想加,2333
dongweiming
    32
dongweiming  
OP
   2015-06-25 11:32:58 +08:00
@deepreader 需要贡献代码才能进来哦.
@biggun 不怕哦 最多我们现在用的plim不用了.

假如对ipython/pypa/celery系代码有兴趣也可以一起研究哦
wych
    33
wych  
   2015-06-25 12:04:55 +08:00
很有意思
startover
    34
startover  
   2015-06-25 13:12:13 +08:00
小明明加油~
lepture
    35
lepture  
   2015-06-28 20:46:41 +08:00
咦,如果你们想做 Python 社区的话,可以联系我,我可以把 python-china.org 给你们的。为什么又开一个新的?已经分裂了好多了。
biggun
    36
biggun  
   2015-06-30 04:23:50 +08:00 via iPhone
@dongweiming 可以尝试先剥离现有的templates,用react去实现。已fork,正在尝试中。不过这样做的话很多前端的组件都变成了静态文件,flask有serving这类文件的best practice么?
dongweiming
    37
dongweiming  
OP
   2015-07-03 11:38:26 +08:00
@biggun 我平时不上v2ex. 刚才改了下目前的任务. 顺便来看看, 果然有留言. 我们最近在做plim->jinja2的迁移和嵌入react的工作,
具体讨论可见: [Issue92](https://github.com/python-cn/firefly/issues/92), 开发详情请关注[trello](https://trello.com/b/JM2OEXPA/firefly). 我觉得jinja2和react的场景是可以互补的. 还没看见这种方式的**best practice** 我目前的方法还是把react当做前端代码来看, 像是coffee. 我们平时都只是编辑jsx模板, grunt会自动把它编译成js文件被模板使用
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     6079 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 29ms UTC 02:21 PVG 10:21 LAX 18:21 JFK 21:21
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86