主题
文章
项目
资源
图书
Go网址导航
下载
官方文档
英文文档
中文文档
标准库中文版
Go指南
注册
登录
首页
会员
songtianyi的信息
TA的收藏
初级会员
第 8070 位会员
ID:
songtianyi
Email:
songtianyi630@163.com
注册时间:
2017-04-16 11:04:11
是否在线:
Offline
财富:
20
10
更多>>
最近发布的主题
反馈
bug 反馈
at
2017-04-21 07:41:37
更多>>
最近发布的文章
暂无
更多>>
最近分享的资源
暂无
更多>>
最近发布的项目
弹幕 barrage
at
2017-07-15 20:05:42
微信web协议/微信机器人 wechat/go
at
2017-04-21 07:36:05
图片爬虫/下载器 laosj
at
2017-04-16 11:08:03
更多>>
最近的评论
2017-05-17 16:19:02
评论了
项目
微信web协议/微信机器人wechat/go
#2
楼
@tiger7456
需要自己go get
2017-05-17 16:18:59
评论了
项目
微信web协议/微信机器人wechat/go
#3
楼
@szlwm
不能,web api
2017-04-21 07:37:33
评论了
项目
微信web协议/微信机器人wechat/go
## wechat-go go version wechat web api * 支持多用户(多开) * 防掉线 * 功能以插件的形式提供,可以根据用户(比如付费情况)选择加载或者不加载某插件 * 对于加载的插件, 用户可以通过微信动态开启/关闭. * 目前已提供头像识别, gif搜索, 笑话大全, 阅后即焚等多个有趣插件 * 插件编写简单, 二次开发极为方便 * 可以发送图片/文字/gif/视频/表情等多种消息 ## Install go get -u -v github.com/songtianyi/wechat-go ## golang.org/x dep install mkdir $GOPATH/src/golang.org/x cd $GOPATH/src/golang.org/x git clone https://github.com/golang/net.git git clone https://github.com/golang/text.git ## Demo project [go-aida](https://www.github.com/songtianyi/go-aida) ## Example code ##### Create your own chatbot ```go package main import ( "github.com/songtianyi/rrframework/logs" "github.com/songtianyi/wechat-go/plugins/faceplusplus" "github.com/songtianyi/wechat-go/wxweb" "github.com/songtianyi/wechat-go/plugins/wxweb/gifer" "github.com/songtianyi/wechat-go/plugins/wxweb/replier" "github.com/songtianyi/wechat-go/plugins/wxweb/switcher" ) func main() { // create session session, err := wxweb.CreateSession(nil, nil, wxweb.TERMINAL_MODE) if err != nil { logs.Error(err) return } // add plugins for this session, they are disabled by default faceplusplus.Register(session) replier.Register(session) switcher.Register(session) gifer.Register(session) // enable plugin session.HandlerRegister.EnableByName("switcher") session.HandlerRegister.EnableByName("faceplusplus") if err := session.LoginAndServe(); err != nil { logs.Error("session exit, %s", err) } } ``` ## Plugins ###### switcher 一个管理插件的插件 ``` #关闭某个插件, 在微信聊天窗口输入 disable faceplusplus #开启某个插件, 在微信聊天窗口输入 enable faceplusplus #查看所有插件信息, 在微信聊天窗口输入 dump ``` ###### faceplusplus 对收到的图片做面部识别,返回性别和年龄 ###### gifer 以收到的文字消息为关键字做gif搜索,返回gif图, 注意返回的gif可能尺度较大,比如文字消息中包含“污”等关键词。 ###### replier 对收到的文字/图片消息,做自动应答,回复固定文字消息 ###### laosj 随机获取一张美女图片, 在聊天窗口输入 ``` 美女 ``` ###### joker 获取一则笑话, 在聊天窗口输入 ``` 笑话 ``` ###### revoker 消息撤回插件, 3s后自动撤回手机端所发的文本消息. 机器人发出的消息需要自己在对应插件里写撤回逻辑. ## 制作自己插件 ```go package demo // 以插件名命令包名 import ( "github.com/songtianyi/rrframework/logs" // 导入日志包 "github.com/songtianyi/wechat-go/wxweb" // 导入协议包 ) // 必须有的插件注册函数 // 指定session, 可以对不同用户注册不同插件 func Register(session *wxweb.Session) { // 将插件注册到session // 第一个参数: 指定消息类型, 所有该类型的消息都会被转发到此插件 // 第二个参数: 指定消息处理函数, 消息会进入此函数 // 第三个参数: 自定义插件名,不能重名,switcher插件会用到此名称 session.HandlerRegister.Add(wxweb.MSG_TEXT, wxweb.Handler(demo), "textdemo") // 可以多个消息类型使用同一个处理函数,也可以分开 session.HandlerRegister.Add(wxweb.MSG_IMG, wxweb.Handler(demo), "imgdemo") } // 消息处理函数 func demo(session *wxweb.Session, msg *wxweb.ReceivedMessage) { // 可选:可以用contact manager来过滤, 过滤掉没有保存到通讯录的群 contact := session.Cm.GetContactByUserName(msg.FromUserName) if contact == nil { logs.Error("ignore the messages from", msg.FromUserName) return } // 可选: 过滤消息类型 if msg.MsgType == wxweb.MSG_IMG { return } // 可选: 根据wxweb.User数据结构中的数据来过滤 if contact.PYQuanPin != "songtianyi" { // 根据用户昵称的拼音全拼来过滤 return } // 可选:过滤和自己无关的群组消息 if msg.IsGroup && msg.Who != session.Bot.UserName { return } // 取出收到的内容 // 取text logs.Info(msg.Content) //// 取img //if b, err := session.GetImg(msg.MsgId); err == nil { // logs.Debug(string(b)) //} // anything // 回复消息 // 第一个参数: 回复的内容 // 第二个参数: 机器人ID // 第三个参数: 联系人/群组/特殊账号ID session.SendText("plugin demo", session.Bot.UserName, wxweb.RealTargetUserName(session, msg)) // 回复图片和gif 参见wxweb/session.go } ``` ## Show 
最新主题
|
最新资源
|
最新评论
一个 aliyun oss 的 sdk
go-carbon v2.6.1 RC1版发布,轻量级、语义化、对开发者友好的 golang 时间处理库
基于vite6+deepseek-v3搭建网页版个人AI流式聊天助手
多智能体开发框架之LangGraph全面剖析实战教程
多智能体开发框架之LangGraph全面剖析实战课
[11章全]SpringBoot 3.x + Netty + MQTT 实战物联网智能充电桩
[完结11章]SpringBoot 3.x + Netty + MQTT 实战物联网智能充电桩
[完结20周]LLM应用开发平台特训营
go-carbon v2.6.0 重大版本更新,轻量级、语义化、对开发者友好的 golang 时间处理库
vue3.5+deepseek实战大模型AI聊天对话小助手
ansi、unicode、UCS、UTF等概念(转)
一图弄懂ASCII、GB2312、GBK、GB18030编码
如何在 Go 中使用 C++?
golang标准库中文版
Go modules:版本是如何选择的?
niuhe - IDL 生成代码,前端协议, 页面和文档插件
Vite5+Electron聊天室|electron31跨平台仿微信EXE客户端|vue3聊天程序
Tauri2.0-Vue3OS桌面端os平台|tauri2+vite6+arco电脑版OS管理系统
flutter3-dymall仿抖音直播商城|Flutter3.27短视频+直播+聊天App实例
结构体的切片(slice of struct)不等于它实现的接口的切片(slice of interface)?
jslgo
大约8小时之前
在
[内推]北京五道口顶级游戏公司中台部门招go开发
中评论
新增大量岗位, 一直在找招开发
xiaoyan2015
3天之前
在
基于vite6+deepseek-v3搭建网页版个人AI流式聊天助手
中评论
 vue3.5+deepseek实战大模型AI聊天对话小助手 [https://studygolang.com/topics/17821](https://studygolang.com/topics/17821)
xiaoyan2015
3天之前
在
vue3.5+deepseek实战大模型AI聊天对话小助手
中评论
 vite6+arco+deepseek-v3网页版ai流式多轮对话助手。 [https://segmentfault.com/a/1190000046393396](https://segmentfault.com/a/1190000046393396)
WangWangZhou
6天之前
在
Go每日一题(31)
中评论
mark
wangzhongyang007
7天之前
在
来看看现在go开发岗10k的面试强度
中评论
你觉得这个难度怎么样?
wangzhongyang007
8天之前
在
金三银四真实面经分享
中评论
也欢迎大家向我投稿最近的面经,有偿~
brothersam
11天之前
在
Go每日一题(26)
中评论
o
wangzhongyang007
12天之前
在
2024年最受欢迎的5个Go框架
中评论
@pangqr
是的,gin更加轻量级,GoFrame适合稍微大型一点的项目
wangzhongyang007
13天之前
在
金三银四快过去一半了,是时候加把劲了
中评论
需要简历优化&就业辅导的朋友,可以直接加我微信:wangzhongyang1993
ltp5343
14天之前
在
[30k-60k]web3头部交易所公司招聘P6-Go后端开发
中评论
顶
X
登录和大家一起探讨吧
用户名
密码
记住登录状态
登录
GitHub 登录
忘记密码?
还不是会员
现在注册
最近的评论