人人网小黄鸡【不再维护】
Python Shell
Latest commit 3eafcbd Jul 7, 2016 @wong2 committed on GitHub Update README.md

README.md

此项目已不再维护

我从人人离职后,已不再维护小黄鸡项目,现在线上使用的代码也不再和此仓库一致。

人人网小黄鸡

  • 可以通过在状态里@它或者回复它来交流
  • 依赖的Python库见requirements.txt,可通过 [sudo] pip install -r requirements.txt自动安装
  • 确保本机有redis server且已启动
  • 执行 python rqworker.py 启动rqworker(或者使用 ./workers.sh worker个数 日志目录 来开启), 然后执行 python main.py 启动程序

TODO:

  • 教学模式
  • 自有回复

提交pull request

  • 由于fqj有pep8强迫症,所以在提交之前请先用pep8 (pip install pep8)检查一下代码风格
  • 由于fqj有开源协议强迫症,所以在提交之前'请在文件顶部写上你的copyright信息,并且用中文或英文描述你的变动,同时请注意,你的代码将被以MIT许可证发布,如果你不同意MIT许可证的内容,请再changes中自行加上一个与MIT兼容的其他许可证'。

插件编写

为了方便大家给小黄鸡加入更多有趣的功能,我们引入了插件的方式。

插件放在plugins目录下,每个插件是一个python文件,提供两个接口,testhandle,格式如下:

def test(data, bot):
    // your code

test方法返回TrueFalse,说明是否要用该插件处理这一条请求。

def handle(data, bot):
    // your code

handle方法则实际处理请求,它需要返回一个utf-8编码的字符串,用来作为小黄鸡对这条请求的答复。

data是一个字典,内容如下:

{
    'owner_id'   : 状态主人的id,
    'doing_id'   : 状态的id,
    'message'    : 状态或回复的内容,
    'author_id'  : 回复者的id,   (回复评论的情况)
    'author_name': 回复者的名字,  (回复评论的情况)
    'reply_id'   : 回复的评论的id (回复评论的情况)
}

bot则是一个RenRen的实例

插件编写好之后,请在plugins/__init__.py文件中注册你的插件,具体为在__all__列表里加入一项到你认为合适的位置(插件的匹配是从前往后),但请保证simsimi插件处在列表最后一项。

插件具体例子见plugins目录

插件编写好之后,请在tests目录添加对应的单元测试,具体可参考已有的测试代码,在主目录执行nosetests -v开始测试