其实既然你有做开发者模式的想法,那你肯定是有些基础的。
至少会学过一些基础的编程语言。
而读完本片文章,你理解后绝对可以自己开发(一些简单的)功能。不过需要注意的是,本文只是“授人以渔”,究竟能做成什么样子还要你自己探索。
板书告诉了你怎么去菜市场、怎么看菜谱,但是你不能指望板书给你做饭哟(板书做的超难吃!)~
本人也算是个技术小白,不过比较幸运的一点是,在大一的计算机课程中,老师很奈斯,Lab课上有过“微信机器人”这一个项目。所以了解过一些超基本的配置问题(但是由于老师是用英语讲课,英语渣渣的我没怎么听懂)
(答主或者其他小伙伴想要这篇Lab课的指导说明的话,可以联系我,我会做一些整理分享一下,但是原文件是不会发的,外国老师很注意知识产权,请大家理解)
下面我会从一个技术小白的角度做一些自己的理解,分享一些干货,然后贴出一些成果来,大家可以参考、批评,给出一些建议~
(有不对的地方还请大佬指正哟~
Part 2 : 一些干货
A:可以实现哪些功能:
首先非常重要的,是要阅读腾讯的开发者文档
https://developers.weixin.qq.com/doc/
这个文档非常重要,列出了很多规范性的东西,让你知道要用什么格式,作为服务器要接收的请求是那种类型,应该怎样解析,返回的格式又是怎样的,这些全都在开发者文档中。
而且开发者文档对大佬来说是个词典,想要啥看啥,对于小白来说几乎就等于百科全书!
更重要的是,如果你想要的功能不很复杂,甚至你都不需要怎么“看懂”这个文档。
比如题注问的“能实现那些功能”:
我们可以根据公号的类型查看开发者文档中的“权限说明”:
这是一小部分,我们可以看到对于未认证订阅号(现在大多数的个人号都是这样的,而且以后微信不会提供个人认证了),权限并不多,但是讲真的挺够用的。
做一些小小的说明:
第一项 access_token 是一个口令,可以在微信的接口工具里来验证身份,进而进行一些基础的开发。
第二项获取IP没什么可说的
第三项与第四项就收消息、时间、语音识别等等,可以做的拓展超级多!
对于普通消息,你可以在你的服务器上挂一个程序,来对微型服务器发来的消息进行筛选、分析,做自动回复(聊天机器人功能)。或者做一些更加实用的,例如把消息解码编码发送给一些专业的服务器,让他们做一些处理,比如搜题、查询、网络爬取等等。
对于事件(比如新关注、取消关注、点击菜单等等),可以用后台做特定的触发。比如跳转网页、发送消息/图文/视频等等(类似于后台可以直接设置的“关注回复”等等)。
…………
B:需要怎样阅读开发者文档?
众所周知,技术小白与底层码农的真谛就是 Ctrl + C/V,但有时候问题在于根本不知道应该在哪里、如何检索!
板书的 授人以渔 就是这个意思!
来几张图解释一下:
(板书用的 Python ,所以都会以python为例)
第一步搭建服务器,开发者文档中直接给了你python的代码,这对板书就很友好,而要是你学的不是python也没关系,首先python语法上更像英语(人类语言),你大概能看懂什么意思,之后可以根据需要和积累去转换成其他语言。
如果实在不了解,也可以直接在 CSDN 等技术论坛上检索“怎样用XX语言搭建服务器”,就很方便啦~
这里也推荐给大家一个工具,ngrok,可以帮你创建服务器的url,是,也就是你要在这里填的东西(下面的 token 是口令,用来服务器验证消息来源是不是微信的,而秘钥是自动生成的不需要管。)
注册下载,按照网页中的指引就好了,免费的。
箭头所指的就是你需要的url
https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Getting_Started_Guide.html
开发者文档中的入门指引,将python语言的说的非常清楚,甚至到了可以直接“复制粘贴改改字就能用”的程度。
同样的,用Python非常友好的可以完成入门开发,至于其他语言,可以将python调用一些函数的语言改成对应功能就可以了。还是,不懂就查,报错就查!
要知道,编程对小白已经挺友好的了,网上论坛很多,前辈们已经发布了大量的试错和优秀解决方案,咱们小白能犯得低级错误基本都能找到(如果实在找不到,推荐检查一下是不是哪里打错字了【手动狗头)
C:我不想用我的公众号做实验怎么办?
在微信公号后台最后,有个开发者工具,里面有公众平台测试账号,可以申请一个用来做实验。需要注意的是,这个测试号的权限要比你的公众号大很多,所以小白期不要追求太过复杂的,否则可能你的公众号并不支持。
(那过了小白期呢?。。。。。。这涉及到板书的知识盲区了。。。。)
这个测试号长得挺丑,没名字,你瞅瞅、就这德行
只要你把后台服务器和代码调试好,功能迁移到你的公众号就只需要把url和token写好就可以啦
D:我不会写比较高大上的东西怎么办(极度重要!)?
有时候我们理想很丰满,但是肚子里的墨水实在太少,写不出什么像样的东西来。
就比如,我想写一个聊天机器人的代码,但是不会。。。
想写一个搜题的代码,但是不会。。。
想写一个能搜百度云资源的代码,但是不会。。。
等等等等。。。
不是说好了对小白友好一点嘛?
其实想实现一些不那么“蠢”的功能,也不一定必须对程序特别了解。
网络上提供了很多优秀的平台,就拿“思知机器人”为例。
它同样有类似的开发文档:
https://www.ownthink.com/docs/bot/
开发者给出了请求思知机器人回复的方式、url和回复格式等等,这对于小白来说是一个非常宝藏的事情。
甚至还直接给出了一些语言的
语法。
那大家就可以将自己的后台关于“文本消息回复”这种功能,在后台进行修饰、处理后请求给url,然后让大佬已经开发好的程序来帮你做回复,而你做的就是把大佬的话转达给你的用户就好了。
(当然,这种方法还是要征得作者的同意)
类似的,你也可以发动资源,去找一些开源的、开放的平台,来对你的后台进行“装修”,虽然房子里的家具都是买的、借的,但是是你自己摆的呀,这份成就感还是挺值得的。
当然,更简单的方法也不是没有。就像思知机器人提供的这个服务,直接配置后台就可以了,连自己写代码都省了(相当于你装修房子只买了个毛坯,突然有一个大佬说我来!然后喊了一句“巴啦啦能量!”,你家就装修好了,不过家具和装修都是人家的风格)
和这种“magic”类似的,还有同浙贰拾工作室的搜题板块,给我们的大佬爸爸们点个赞!
https://mp.weixin.qq.com/s/S35-QIiDNGQl6UKz5JS9PQ
Part 3 : 成果展示
A. 聊天机器人的引入
在这里,由于后台调用现成的聊天机器人,所以他并不知道“板书是谁”,所以需要进行一些修饰,来增加个性化。
同时,有时候服务器响应会慢一点,而微信的设定是如果一段时间内没有得到响应会连发三次,,就会导致有时候会重复响应,机器人会认为你连问了三四一样的东西,会出一些奇奇怪怪的东西,这也需要你进行修饰。
当然如果你请了 魔法师 来装修,当然不会有这些问题,因为技术大佬已经帮你解决了。
B. 搜题功能的接入:
为了不影响正常聊天,也需要一些修饰,否则后台就不知道该回复聊天机器人的话,还是回复搜题服务器的话,比如板书加的修饰就是 在题目面前加 # 号,同时用代码告诉服务器以#开头的是在搜题。
这些修饰都是非常简单的 if 函数,就不多解释啦~
C. 另外的关键词回复与关注回复
同样的,不希望搜题、聊天机器人影响我的关键词回复,比如回复资源、图文推送等等,也需要进行修饰。
比如板书就用@符号表示关键词
D. 其他比较实用的东西
用服务器配置后台之后,每次修改都不很容易,需要停服、改代码等等
所以经常需要更新的关键词、关注回复等等就需要做一些方便修改的操作,也就是给你自己留一个后台。
就比如这样
(以某串字符开头,激活添加新的关键词或关注回复,可以很方便的进行修改)
最后,给大家康康【板书君】功能的介绍
大家闲来无事可以来调戏板书吖,板书也会持续为大家带来干货的!
一起加油吧!小白!
源码为大家准备好了,关注公众号【板书君】,后台回复 @公众号后台 就可以获得啦~
(记得要带上 @ 符号!!)