网站建设电话销售话术模板大全指数基金是什么意思
本期博客主要介绍如何使用 微信SDK 和 AI聊天接口 ,实现
微信机器人功能
。
准备
- 电脑需要安装Go环境,这个可以直接参考菜鸟教程:Go 语言环境安装,知道CSDN的同学基本能在半小时内装好吧…
- (可选)一个编译器,可用VS Code或者Goland等。或者你直接用 CMD(终端) 也是可以的;
- 如果你不会Go,可以直接私信找我要源码包,安装好Go环境后,执行两行命令就可以运行。
代码分析
本次项目只需要写 76 行代码(含注释和空行),先上代码。
package mainimport ("bytes""encoding/json""fmt""github.com/eatmoreapple/openwechat""io""net/http"
)func main() {//bot := openwechat.DefaultBot()bot := openwechat.DefaultBot(openwechat.Desktop) // 桌面模式,上面登录不上的可以尝试切换这种模式// 注册消息处理函数bot.MessageHandler = func(msg *openwechat.Message) {// 这里可以加自己的回复逻辑,比如匹配到关键字回复、收到到图片回复等 -- by 豆小匠if msg.IsText() {sizhiMsg, _ := getSizhiMsg(msg.Content)_, _ = msg.ReplyText(sizhiMsg)}}// 注册登陆二维码回调bot.UUIDCallback = openwechat.PrintlnQrcodeUrl// 创建热存储容器对象reloadStorage := openwechat.NewFileHotReloadStorage("wechat.json")defer func(reloadStorage io.ReadWriteCloser) {_ = reloadStorage.Close()}(reloadStorage)// 执行热登录if err := bot.HotLogin(reloadStorage, openwechat.NewRetryLoginOption()); err != nil {fmt.Println(err)return}// 阻塞主goroutine, 直到发生异常或者用户主动退出_ = bot.Block()
}type Resp struct {Message string `json:"message"`Data struct {Type int `json:"type"`Info struct {Text string `json:"text"`} `json:"info"`} `json:"data"`
}// getSizhiMsg 这个是思知AI聊天接口https://api.ownthink.com/bot
func getSizhiMsg(content string) (string, error) {bytesData, _ := json.Marshal(map[string]interface{}{"spoken": content,})resp, err := http.Post("https://api.ownthink.com/bot","application/json",bytes.NewReader(bytesData))if err != nil {return "", err}defer resp.Body.Close()rspBody, err := io.ReadAll(resp.Body)if err != nil {return "", err}ret := Resp{}err = json.Unmarshal(rspBody, &ret)if err != nil {return "", err}return ret.Data.Info.Text, nil
}
可以看到,main函数里主要使用了微信SDK调起微信的登录和微信消息的监听,getSizhiMsg函数则是一个普通的POST请求,用于AI聊天对话获取。
运行项目
请确保你安装好了Go环境,打开项目所在目录的terminal终端,在CMD、VS Code或者Goland都无所谓,然后按顺序运行下面两行命令。
# 初始化和运行:
go mod tidy
go run main.go
不出意外的话,你的浏览器现在打开了一个登录二维码界面,微信扫码登录(可能提示异地登录,正常情况),然后让好友给你发个信息,就会发现你的微信会自动回复了~
最后
本文只介绍微信机器人的实现,不建议做商业化用途(有封号风险)。
另外,如果需要本次项目源码包,可以私信我:获取AI微信机器人源码包
。(不常看CSDN,回复可能比较慢,谅解下~)