首页 » 软件开发 » 基于Python开发!——WeRoBot(消息开发公众自定义菜单)

基于Python开发!——WeRoBot(消息开发公众自定义菜单)

admin 2024-07-24 09:39:39 0

扫一扫用手机浏览

文章目录 [+]

Github

https://github.com/offu/WeRoBot

使用

最简单的Hello World, 会给收到的每一条信息回复 Hello World

基于Python开发!——WeRoBot(消息开发公众自定义菜单) 软件开发
(图片来自网络侵删)

import werobotrobot = werobot.WeRoBot(token='tokenhere')@robot.handlerdef hello(message): return 'Hello World!'# 让服务器监听在 0.0.0.0:80robot.config['HOST'] = '0.0.0.0'robot.config['PORT'] = 80robot.run()消息处理

WeRoBot 会解析微信服务器发来的消息, 并将消息转换成成 Message 或者是 Event 。
Message 表示用户发来的消息,如文本消息、图片消息; Event 则表示用户触发的事件, 如关注事件、扫描二维码事件。
在消息解析、转换完成后, WeRoBot 会将消息转交给 Handler 进行处理,并将 Handler 的返回值返回给微信服务器。

在刚才的 Hello World 中, 我们编写的

@robot.handlerdef hello(message): return 'Hello World!'

就是一个简单的 Handler , @robot.handler 意味着 robot 会将所有接收到的消息( 包括 Message 和 Event ) 都转交给这个 Handler 来处理。
当然, 你也可以编写一些只能处理特定消息的 Handler

# @robot.text 修饰的 Handler 只处理文本消息@robot.textdef echo(message): return message.content# @robot.image 修饰的 Handler 只处理图片消息@robot.imagedef img(message): return message.img使用 Session 记录用户状态

WeRoBot 提供了 Session 功能, 可以让你方便的记录用户状态。
比如, 这个 Handler 可以判断发消息的用户之前有没有发送过消息

@robot.textdef first(message, session): if 'first' in session: return '你之前给我发过消息' session['first'] = True return '你之前没给我发过消息'

Session 功能默认开启, 并使用 SQLite 存储 Session 数据

创建自定义菜单

自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。
werobot.client.Client 封装了微信的部分 API 接口,我们可以使用 werobot.client.Client.create_menu() 来创建自定义菜单。
在使用 Client 之前, 我们需要先提供微信公众平台内的 AppID 和 AppSecret

from werobot import WeRoBotrobot = WeRoBot()robot.config["APP_ID"] = "你的 AppID"robot.config["APP_SECRET"] = "你的 AppSecret"client = robot.client

然后, 我们就可以创建自定义菜单了

client.create_menu({ "button":[{ "type": "click", "name": "今日歌曲", "key": "music" }]})

注意以上代码只需要运行一次就可以了。
在创建完自定义菜单之后, 我们还需要写一个 Handler 来响应菜单的点击操作

@robot.key_click("music")def music(message): return '你点击了“今日歌曲”按钮'

以上是最基本的使用方法,详细如何使用建议结合微信公众号开发文档以及WeRoBot文档

标签:

相关文章

C语言表白代码,编程之美,爱意绵绵

在这个科技飞速发展的时代,编程已经成为了我们生活中不可或缺的一部分。而C语言作为一门经典的编程语言,更是备受青睐。今天,就让我们用...

软件开发 2024-12-04 阅读9 评论0

16倍速生活方式,高效工作与生活的完美融合

随着科技的飞速发展,我们的生活节奏也在不断加快。在这个快节奏的时代,如何高效地平衡工作与生活,成为了许多人关注的焦点。本文将探讨1...

软件开发 2024-12-04 阅读8 评论0

C语言编程猜数游戏,编程与娱乐的完美融合

在科技日新月异的今天,编程已经成为一项重要的技能。作为计算机科学的基础,编程不仅可以锻炼我们的逻辑思维,还能提高我们的动手能力。而...

软件开发 2024-12-04 阅读8 评论0

C语言病毒代码介绍,技术与道德的双重挑战

随着信息技术的飞速发展,网络安全问题日益凸显。病毒作为一种恶意软件,严重威胁着计算机系统的稳定运行。C语言作为一种功能强大的编程语...

软件开发 2024-12-04 阅读6 评论0