Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【微信公众号】微信公众号开发——Werobot入门指南

【微信公众号】微信公众号开发——Werobot入门指南

作者头像
蛮三刀酱
发布于 2019-09-10 12:07:55
发布于 2019-09-10 12:07:55
23.2K20
代码可运行
举报
运行总次数:0
代码可运行

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/qqxx6661/article/details/70254214

本文目录


文章目录
  • Werobot简介
  • 申请公众号
  • 获取开发者ID
  • 服务器部署
  • 验证服务器有效性
  • 实验效果
  • 补充

Werobot简介

Werobot项目地址(作者:whtsky):链接 WeRoBot 是一个微信公众号开发框架,采用MIT协议发布。 Werobot文档:链接 我原本是打算在个人订阅号玩一玩自定义开发,因为可以实现很多有趣的功能。 结果弄到自定义菜单的时候居然发现: 个人订阅号无法使用自定义菜单开发接口!需要认证! 个人订阅号无法使用自定义菜单开发接口!需要认证! 个人订阅号无法使用自定义菜单开发接口!需要认证! 然而,个人名义的订阅号无法进行微信认证,所以开发的热情一下子丢了一半。 所以在这里就简短的说一下入门流程,官方文档写的很好,但是入门上感觉写的有不连贯的感觉,在这我就当一个补充教程。

申请公众号

申请公众号是一个必要的步骤,没有什么特别需要注意的地方,不过要清楚不同的公众号类型所拥有的权限是不同的:

获取开发者ID

取得了公众号后,登录后台,点击“基本配置”,拿到开发者ID和秘钥,底下的服务器配置需要在服务器部署后再进行设置。

服务器部署

如果要进行微信的自定义开发,你需要一台后台服务器来接受用户消息,处理消息,最后返回消息给用户。 并且,你的服务器需要有域名,也就是网址,而非IP地址。 我的服务器是亚马逊EC2,当然你也可以用国内的云服务器。 我的域名则是购买的,建议购买国外的服务商,这样得到的域名不需要备案。

根据Werobot文档:链接,你必须有部署的server,基本上云服务器的Linux都自带了一些,所以你可以先写代码,运行时候在观察下是否可以直接部署。 server 支持以下几种:

  • cgi
  • flup
  • wsgiref
  • waitress
  • cherrypy
  • paste
  • fapws3
  • tornado
  • gae
  • twisted
  • diesel
  • meinheld
  • gunicorn
  • eventlet
  • gevent
  • rocket
  • bjoern
  • auto

根据Werobot文档:链接,先试着写一个demo:

源代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import werobot

robot = werobot.WeRoBot(token='yzd')

@robot.handler
def echo(message):
    return 'Hello World!'

robot.config['HOST'] = '0.0.0.0'
robot.config['PORT'] = 8082

robot.run()

注意我用的port是8082,我使用了反向代理。 一般来说,如果你的服务器只有一个微信后台服务,请使用80端口! 如果你是https,请使用443端口! 注意到我的token是随机自己设置的,微信规定是3位以上数字字母。之后在填写的服务器配置上用得到。

接着,你可以运行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python rebot.py

如图,已经运行(最好用screen或者文档说的supervisor保证进程不被杀掉):

验证服务器有效性

之后,修改服务器配置,填写你的域名(之前确保你已经做好域名DNS映射!),token=‘yzd’,点击确定,微信会自动发送一个确认信息到你的服务器,一旦成功返回正确结果,验证就成功了。

实验效果

现在,你可以用手机给订阅号发消息:

补充

最后,贴上我之前写的自定义菜单的源码,由于我是个人订阅号,没有权限,所以返回了48001错误,郁闷…

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from werobot import WeRoBot

robot = WeRoBot()
robot.config["APP_ID"] = "xxxxxxxxxx"
robot.config["APP_SECRET"] = "xxxxxxxxxxxxxxxxxxxxxxxxxx"
client = robot.client
client.create_menu({
    "button":[
        {
            "type":"click",
            "name":"des",
            "key":"describe"
        },
        {
            "name":"find",
            "sub_button":[
                {
                    "type":"view",
                    "name":"twitter",
                    "key":"trump"
                }
            ]
        },
        {
            "type":"viwe",
            "name":"buy",
            "url":"https://usau-buy.com/"
        },
    ]})
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年04月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
2 条评论
热度
最新
请教一下, 收到一条消息如何回复聊条内容呢?谢谢
请教一下, 收到一条消息如何回复聊条内容呢?谢谢
回复回复点赞举报
求大佬出一个werobot结合fastapi 的教程。
求大佬出一个werobot结合fastapi 的教程。
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
微信公众号开发基本流程
背景: 过年前后做了个微信公众号项目,已经过去一段时间了,抽空回忆总结下基本流程吧,不然很快估计自己就忘了。。
全栈程序员站长
2022/09/06
4K0
微信公众号开发基本流程
公众号开发笔记一
用户识别,每个公众号都有对应的一个OpenID.移动应用包含个人以及企业级应用,如果有多个公众号和应用,那么绑定后有多个不同的OpenID,但对这些同一开放平台账号下只有一个UnionID.
达达前端
2019/07/03
1.8K0
公众号开发笔记一
SpringBoot开发微信公众号
在讲微信公众号开发之前,先来大概了解一下微信公众号。微信公众号大体上可以分为服务号和订阅号,订阅号和服务号的区别如下:
Java旅途
2020/09/14
3K0
Python微信公众号后台开发<003>:自定义菜单
这个问题本来想放到后面的,因为的确对公众号的影响挺明显的, 因为开启后台服务,公众号的自定义菜单就不见了,很影响使用, 也有同学问这个问题,就提前了,后面如果有进展会进行更新。
Python疯子
2020/02/11
1.4K0
Python微信公众号后台开发<003>:自定义菜单
微信公众号开发相关流程及功能介绍怎么写_微信公众号平台官网
大家好,又见面了,我是你们的朋友全栈君。 1. 开发前准备 1.1 注册微信公众平台账号 进入的网址:https://mp.weixin.qq.com。 测试号(网址:https://mp.
全栈程序员站长
2022/09/24
5.4K0
微信公众号开发相关流程及功能介绍怎么写_微信公众号平台官网
Java微信公众号开发(附源码!!!)
笔者最近在为一个艺考服务团队开发手机端的服务,由于开发app需要的时间较长,所以选择开发微信公众号。本人比较擅长Java开发,所以本文是基于Java语言的公众号开发。话不多说,直接进入正题。
全栈程序员站长
2022/08/29
7820
Java微信公众号开发(附源码!!!)
nodejs微信公众号开发
网上关于node开发公众号的资料相当缺乏,本文旨在以node的视角对公众号开发做一个阐述。
一粒小麦
2019/08/06
6.4K4
用java开发微信公众号:测试公众号与本地测试环境搭建(一)
古时的风筝
2018/01/08
2.8K0
用java开发微信公众号:测试公众号与本地测试环境搭建(一)
个人微信公众号
公众平台就是面向公众的平台。 分为3类: 订阅号 : 发布信息用的,面向个人或企业俗称自媒体(无微信支付), 。 服务号 : 面向企业的公众平台,比如招行等企业的应用(和钱有关)。 企业号 : 给企业以及内部员工用的,如OA应用之类,有关注数量限制。 0. 准备工作 Email 一个可用的电子邮箱; 用来注册账号 手机号 中国大陆的手机号; 验证用的,每个手机可注册5个公众号 微信账号 这你总的有一个吧; 也是验证用的,每个微信可注册5个公众号 银行卡 微信需要绑定银行卡,做实名认证 身份证号 和微信
xiangzhihong
2018/02/01
10.6K0
个人微信公众号
巧用 Serverless,轻松搭建微信公众号的智能后台服务
一般来说,想给微信公众号增加更多的功能,需要有一台服务器,来进行公众号后台服务的搭建。那么在 Serverless 架构下,是否有更简便的方法来实现这么一个公众号后台呢?我们试试? 初步搭建 一、Serverless 原生开发 首先要有一个微信公众号! 接下来,我们要为我们的函数计算服务申请固定 IP: 点击白名单之后,我们可以填写表单,完成固定公网出口 IP 的申请。 接下来进行代码开发。 将函数绑定到公众号后台,并按照文档在函数中完成一个基本的鉴定功能: def checkSignature(
腾讯云serverless团队
2020/05/22
3.7K0
微信个人公众号开发--(5)获取Token并自定义菜单
微信官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183 access_token是公众号的全局唯一票据,公众号
浩Coding
2019/07/02
1.3K0
微信个人公众号开发--(5)获取Token并自定义菜单
Python的WeRoBot框架开发公众号
服务器地址可以是IP,也可以是域名,但必须以http://或https://开头,分别支持80端口和443端口。
Lansonli
2021/10/09
1.2K0
微信公众号Web开发笔记,持续记录
官方文档:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html
房东的狗丶
2023/02/17
1K0
微信公众号Web开发笔记,持续记录
微信服务号开发整体流程图_微信号怎么改第二次
微信开放平台,面向开发人员,为网站、App 提供微信第三方登录功能,为 App 提供支付功能(通过客户端 sdk 拉起微信客户端);
全栈程序员站长
2022/11/11
1.1K0
微信公众号开发——2、微信网页开发
在公众号平台下,自定义菜单,添加菜单,并选择菜单内容跳转到指定页面地址即可(需认证后方可添加页面地址,个人账号暂不支持认证)。
全栈程序员站长
2022/09/01
7.8K0
【微信开发】微信公众号开发 之 编辑模式使用
转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/20306735 .
韩曙亮
2023/03/27
1.2K0
【微信开发】微信公众号开发 之 编辑模式使用
玩一玩微信公众号开发(二) 管理凭据和自定义菜单
在前面我们成功的使用了Spring Boot Web程序和微信对接。但是这仅仅是一个开始,我们还需要获取access_token,也就是凭据,才能进行之后的工作。微信开发文档有如下介绍。
乐百川
2022/05/05
1K0
php怎么接入公众号
·服务器环境:推荐使用LNMP环境,完美契合PHP开发。(请确保你的服务器已经成功运行PHP,有不清楚的可以私聊楼主)
叫我可儿呀
2019/11/05
2.2K0
php怎么接入公众号
微信公众号开发之自定义菜单
在Jfinal-weixin中有封装菜单的创建、查询、删除、以及个性化菜单的创建、查询、删除、测试个性化菜单匹配结果
Javen
2018/08/21
1.7K0
微信公众号开发之自定义菜单
公众号关注/订阅事件-微信公众号开发
微信公众号开发之关注事件(订阅事件),当我们启用开发者设置后,微信本身的消息回复将无法使用,那么在用户关注我们公众号的时候就没有任何反馈了, 对用户体验是非常不友好的。下面教大家如果做关注事件,既用户关注公众号,系统给用户一个反馈。
申霖
2019/12/27
8.2K0
公众号关注/订阅事件-微信公众号开发
相关推荐
微信公众号开发基本流程
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验