首页 > golang > Golang -- openwechat微信发送消息、自动回复
2023
11-09

Golang -- openwechat微信发送消息、自动回复

该 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 条评论

留下一个回复