V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dongweiming
V2EX  ›  程序员

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

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

    最近不到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  
    OP
       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
    第一时间想到了这个: http://www.tuling123.com/openapi/cloud/access_api.jsp
    以前摆弄过Android版
    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   ·   我们的愿景   ·   实用小工具   ·   4117 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 05:24 · PVG 13:24 · LAX 22:24 · JFK 01:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.