通过 wxBot 搭建个人微信聊天机器人

本文的所有工作都是基于开源项目 wxBot

写在前面的废话


我发现我很喜欢写废话。 简单地说就是这几年突然发现国内聊天服务被微信这么垃圾的软 件给垄断了。 虽然网上的朋友们大多都在 IRC, slack, telegram, google hangout, 但 是生活中认识的国内居民大都在用微信。 这只会让我更讨厌某厂。 且不说抄袭问题,单 论功能, 微信的信息分享方式等等也造成了极大的使用阻力。 我常常根本不知道如何将 让人兴奋的消息方便快捷地分享到朋友圈, 也不知道如何直接在群聊和分享功能之间拷贝 黏贴。 如此弱智的设计的一个明显结果就是微信信息圈的极度闭塞。 看看朋友圈里面砸 人一脸的垃圾信息, 不难猜想很多人像我一样, 在尝试几次直接分享失败之后就抛弃它了 吧。

幸好还有办法架设一个私人机器人。 在找到最合适方法之前, 无数尝试性的搭建都在要 求我绑定银行卡。 以我正常得不能再正常的思维, 很难想象一个正经的聊天软件会要求 你绑定银行卡啊! (插一句, 居然不绑定银行卡还不能被拉入大群聊!)

写到这里我觉得本文的重点已经变成了吐槽。 这一切都是垃圾的软件造成的。 套用一句 电视剧台词: 真是毫无矜持!

搭建


相比 IRC, slack, 这个机器人写起来简直毫无难度。 因为一切都被 wxBot 这个项目写 好了。 在自己的文件里面只需要实现一下。

下面简要说一下我自己已经实现的功能和好玩的想法。


在线信息提示

这不能更简单。 我对机器人说 “afk” 或者 “back” 来改变状态。 (状态被写在一个变 量里面。) 然后机器人根据我的状态来给聊天的对方发出提示。


讲段子

我不会爬虫, 否则应该有更好的效果。 目前的实现方式是让 Linux 下有名的小工具 fortune 来讲故事。 我给 fortune 加了好多标准库之外的信息源, 比如唐诗宋词, 猥琐小笑话之类。


对诗

这也很容易实现。 唯一的困扰就是该死的 python2 编码问题。 我在 ‘utf-8’ 问题上反 复绕了好几个小时。 最后的效果就是可以自动根据对方的诗句来回答上半句或者下半句。

Screenshot of wechat with bot v4.


其他想法

  • 设计一些文字小游戏, 比如地下城和僵尸之类
  • 成语接龙游戏
  • 外文字典
  • 天气查询

总之就是, 我觉得我真是很无聊!


所有实现都可以 在 此处 找到。

comments powered by Disqus