/BiliResp

狸工智能应答程序

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

BiliResp

这里是狸工智能的艾特回复程序,用法是在B站任意评论区艾特:狸工智能,以及带关键词的语句

已实现回复的关键词

示例 正则 回复
怎么问你 用法|指南|说明|帮助|关键词|(怎么|可以)(问|查)|你(.{0,2})家|help 本项目网址
狸子nb!(复读 复读 (复读艾特消息)
卖个萌 (卖|买)(.{0,3})萌 狸子敲可爱
你好萌 (可|喜)爱|喜(欢|感)|萌|高兴|(快|欢)乐|愉快|幸福 狐狸搓一搓
狐狸怎么叫 狸(.{0,3})叫|fox(.{0,3})say 嘤嘤嘤
你是谁 你是谁|真人|自(.{0,3})介绍|介绍(.{0,4})自 研发时长两天半的虚拟UP主
你会什么 你会 现在只会卖萌
你几岁啦 你(.{0,4})(生日|几岁|多大|出生|破壳) 2019年8月16号开始试运行
讲个数学笑话 笑话|段子|聊|唠嗑 (从jokes文档里挑选最接近的段子)
(没有匹配) (在掉到default前,尝试在歌词、流行语、古诗等库中查询较高匹配度的词条)
(没有匹配) 没有可回复的关键词

更多隐藏的回复功能大家看源代码慢慢探索吧,懒得一个个写出来了 ╮(╯▽╰)╭

注意:

  • 在动态内容或者视频简介里的艾特暂时回复不了(格式不一样,暂时懒得研究)
    • 在动态的评论区以及任意评论区艾特都是可以哒
  • 目前的状态为每2分钟检查一次B站收到的艾特消息,每次检查最新的20个
    • 如果某两分钟的艾特数超过20个,旧的消息就不会得到回复
  • 回复消息过频繁会被系统ban,所以最好不要短时间内艾特太多
  • 如果回复发送失败,狸工智能不会再试,所以如果你2分钟后还没收到回复,请等一段时间后重新再艾特
  • 如果长期得不到回复,甚至连更新专栏都中断了,这可能是cookie过期或服务器炸了,请艾特狸子LePtC前去修复

开发者(UPDATE:开发后期涉及数据库交互,该项目已转私 Repo

对于一些简单直接(不需要查数据库)的回复,大家可以来跟狸子一起开发~

举个例子,用正则表达式判断艾特消息中是否有“卖萌”字样

if len(re.findall(r'卖(.?)萌',atstr)) > 0:

然后回复随机组合句

po_reply('狸子'+random.choice(['敲','敲极'])+random.choice(['可','阔'])+'爱~',oid,parent,root)

怎么样,是不是敲级简单?

大家在 python 中测试时(推荐用 jupyter)自己把 atstr 给定义了就可以测试输入输出了。如果想做线上测试的话,用你自己帐号的 cookie 奥 _Σ:з」∠)シ_

回复太多会要求验证码的问题要怎么解决啊?救救狸子…

狸子的 TODO

  • 教你:摄像头,一万块四个,嘿嘿
  • (说 触发复读后面的内容
  • 根据标题回复狸子所有视频的链接
  • 最新专栏|日报|榜单(回复专栏cv)
  • 上次破纪录榜单
  • (写在/**/之间的内容可以被忽略)
  • (复读消息加入长度限制)
  • 查我排名
  • 查谁谁谁排名
  • 申请收录我
  • 申请收录谁谁谁
  • 申请收id888888
  • 给我点赞(关注我就给你点赞)
  • 推荐XX
  • 猜谜语…
  • 成语接龙…
  • 闪回前咒(要求权限)
  • (遇到重复字时进入绕口令)
  • 幸福n选一
  • 绕口令组
  • 冷知识组、人类相关组
  • 触发数学计算…
  • 报时…

开发日志

  • 20190818
    • 初次尝试回复卖萌
    • 加入:狐狸叫和帮助
  • 20190819
    • 修复:type错误导致的系统禁评
    • 加入:你是、你会、汗表情组
    • 加入:无匹配default、复读机
    • 加入:狸子男女、生日
    • 加入:笑话,能够尝试选出最接近艾特消息的字串
    • 以两分钟的检查频率正式上线服务器
  • 20190820
    • 今天发现服务器跑应答程序的话爬的数据出噪点概率也变高了,准备暂时改回用自己电脑跑应答(今天太忙没时间加新功能)
  • 20190821
    • 加入:制备歌词、流行词、古诗三大词条库,在掉到 default 前尝试从中检测是否有较好匹配
    • 加入:nb、清华、北大、博士等优先关键词
  • 20190822
    • 凌晨应对高请求量测试,发现会遇到验证码,试了下MMA文字识别,在狸群求助,暂时没解决干扰线的问题
    • 回复歌词太多…重新调整了下三个库的回应的阈值
    • 收集了一批请求样本,下一步参照这个来继续升级 (;¬_¬)
  • 20190823
    • 人工训练了下目前收到的问题,搞到半夜,然后想起这玩意最初不是要做查排名的应答的么…
    • 重构:特殊关键词进入专门的处理函数(以后大概每出个新社会热梗就得开发新的专有回应函数,感觉真跟游戏开发似的了…
  • 20190824
    • 写在[]之间的内容忽略,因为是B站表情
    • 不友好、敏感词不回复
    • 加入:精准复读
    • 同昨天的大量重构
    • 修复:strip 没替换干净的bug
  • 20190831
    • 一些琐碎的逻辑和数据库补充
    • 检查20个艾特增加1秒间隔时间

开发后期涉及数据库交互,该项目已转私 Repo