如何使用golang操作微信

openwechat

golang版个人微信号API, 类似开发公众号一样,开发个人微信号

使用前提

golang版本大于等于1.11

安装

go get

go get github.com/eatMoreApple/openwechat

快速开始

登录微信

package main

import (
	"fmt"
	"github.com/eatMoreApple/openwechat"
)

func main() {
	messageHandler := func(msg *openwechat.Message) {
		fmt.Println(msg)
	}
	bot := openwechat.DefaultBot()
    
    // 注册消息处理函数
	bot.MessageHandler = messageHandler
    // 设置默认的登录回调
    // 可以设置通过该uuid获取到登录的二维码
	bot.UUIDCallback = openwechat.PrintlnQrcodeUrl
    // 登录
	if err := bot.Login(); err != nil {
		fmt.Println(err)
		return
	}
    // 阻塞主程序,直到用户退出或发生异常
	bot.Block()
}

突破网页版登录限制

网页版登陆不上的可以尝试使用该模式登陆

bot := openwechat.DefaultBot(openwechat.Desktop)

回复消息

messageHandler := func(msg *openwechat.Message) {
		msg.ReplyText("hello")
}

获取消息的发送者

messageHandler := func(msg *openwechat.Message) {
		sender, err := msg.Sender()
}

获取所有的好友

// 登录之后调用
self, err := bot.GetCurrentUser()
if err != nil {
    fmt.Println(err)
    return
}
friends, err := self.Friends()

发送消息给好友

self, err := bot.GetCurrentUser()
if err != nil {
    fmt.Println(err)
    return
}
friends, err := self.Friends()
if err != nil {
    fmt.Println(err)
    return
}
if friends.Count() > 0 {
    // 发送给第一个好友
    friends[0].SendText("你好")
}

发送图片消息

friends, err := self.Friends()
if err != nil {
    fmt.Println(err)
    return
}
if friends.Count() > 0 {
    // 发送给第一个好友
    img, _ := os.Open("test.png")
    defer img.Close()
    friends[0].SendImage(img)
}
bot.Block()

搜索好友

friends, err := self.Friends()
if err != nil {
    fmt.Println(err)
    return
}
results := friends.Search(1, func(friend *Friend) bool { return friend.User.RemarkName == "阿青" }, func(friend *Friend) bool { return friend.Sex == 2 }) // 查找数量为1符合条件的好友
fmt.Println(results)

搜索群组

groups, err := self.Groups()
if err != nil {
    fmt.Println(err)
    return
}
results := group.Search(1, func(group *Group) bool { return group.NickName == "厉害了" }) 
fmt.Println(results)

更多功能请在代码中探索。。。

// todo: add more support

原文地址:https://www.cnblogs.com/ivy-blogs/p/14697504.html