该 Demo 使用开源项目 openwechat ,实现获取好友列表、为好友发送消息、图片或文件,接收来自好友或群组的消息并设置自动回复等功能。
项目入口
启动微信
package main import ( "fmt" "github.com/eatmoreapple/openwechat" ) func main() { bot := openwechat.DefaultBot(openwechat.Desktop) // 桌面模式 // 注册消息处理函数 bot.MessageHandler = func(msg *openwechat.Message) { if msg.IsText() && msg.Content == "ping" { msg.ReplyText("pong") } } // 注册登陆二维码回调 bot.UUIDCallback = openwechat.PrintlnQrcodeUrl // 登陆 if err := bot.Login(); err != nil { fmt.Println(err) return } // 获取登陆的用户 self, err := bot.GetCurrentUser() if err != nil { fmt.Println(err) return } // 获取所有的好友 friends, err := self.Friends() //fmt.Println(friends, err) //查询用户 girlFriend := friends.SearchByUserName(1, "chief") //发送信息 fmt.Println("girlFriend", girlFriend) if girlFriend.Count() > 0 { err := girlFriend.SendText("Hello~") fmt.Println("sendText", err) } //查询用户 girlFriend = friends.SearchByRemarkName(1, "chief") //发送信息 fmt.Println("girlFriend", girlFriend) if girlFriend.Count() > 0 { err := girlFriend.SendText("Hello~") fmt.Println("sendText", err) } // 获取所有的群组 groups, err := self.Groups() fmt.Println(groups, err) //for k, v := range groups { // fmt.Println(k, "roomid", v.User.ChatRoomId, "username", v.User.UserName, "nickname", v.User.NickName, "remarkname", v.User.RemarkName, v.User) //} group := groups.SearchByNickName(1, "文人骚客") if group.Count() > 0 { group.SendText("hello") } // 阻塞主goroutine, 直到发生异常或者用户主动退出 bot.Block() }
《本文》有 0 条评论