如何使用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM