欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Go語言實現(xiàn)發(fā)送微信群消息

 更新時間:2024年01月26日 09:43:44   作者:愛發(fā)白日夢的后端  
這篇文章主要為大家詳細介紹了如何使用Go語言實現(xiàn)發(fā)送微信群消息,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下

背景

最近的某個副業(yè)需要我寫一個腳本(腳本內容就不說了),需要通知群成員,盡快地做出響應。所以去找一下 Go 是否有這樣的類庫。

在這個腳本里面,我只需要發(fā)送信息的能力即可。

openwechat

在尋找了一會之后發(fā)現(xiàn) https://github.com/eatmoreapple/openwechat 這個庫,這個庫支持以下能力:

  • 消息回復、給指定對象(好友、群組)發(fā)送文本、圖片、文件、emoji表情等消息
  • 熱登陸(無需重復掃碼登錄)、自定義消息處理、文件下載、消息防撤回
  • 獲取對象信息、設置好友備注、拉好友進群等

這很明顯已經(jīng)滿足我的需求了,畢竟我的需求超簡單的!

例子

那我們立刻使用項目中的 README.md 例子來測試一下。

package main

import (
 "fmt"

 "github.com/eatmoreapple/openwechat"
)

func main() {
 bot := openwechat.DefaultBot(openwechat.Desktop) // 桌面模式

 // 注冊消息處理函數(shù)
 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)

 // 獲取所有的群組
 groups, err := self.Groups()
 fmt.Println(groups, err)

 // 阻塞主goroutine, 直到發(fā)生異?;蛘哂脩糁鲃油顺?
 bot.Block()
}

這段代碼的內容比較簡單:

  • 在瀏覽器中顯示二維碼
  • 用戶掃碼模擬微信登錄
  • 獲取掃碼微信的信息
  • 獲取用戶所有的好友
  • 獲取用戶所有的群組

但是這里有兩個問題需要注意:

模式只能選擇桌面模式,當我使用網(wǎng)頁版模式的時候會報以下錯誤:login forbidden: try to login with desktop mode

我猜測是因為微信那邊已經(jīng)不運營微信網(wǎng)頁版了

獲取的不是所有的群聊

從 issue[1] 找到解答:需要將群聊保存到通訊錄才行。

實現(xiàn)對特定群發(fā)送文本消息

因為作者封裝得還算不錯,發(fā)送文本消息非常簡單,就一個函數(shù)的事情。

func main() {
 bot := openwechat.DefaultBot(openwechat.Desktop) // 桌面模式

 // 注冊登陸二維碼回調
 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
 }

 // 獲取所有的群組
 groups, err := self.Groups()
 for _, group := range groups {
  if group.NickName == "愛發(fā)白日夢的后端" {
   _, err = self.SendTextToGroup(group, "Hello?。?!群里的朋友大家好呀?。?!")
   if err != nil {
    panic(err)
   }
  }
 }

 // 阻塞主goroutine, 直到發(fā)生異?;蛘哂脩糁鲃油顺?
 bot.Block()
}

核心的函數(shù)就是 SendTextToGroup 這個方法,直接調用即可發(fā)送群消息了。

效果如下:

總結

雖然我目前的需求已經(jīng)被滿足了,不過這個庫里面的好多功能我都沒有去用過,也沒有在這里介紹,感興趣的同學可以自行深入去了解。

到此這篇關于使用Go語言實現(xiàn)發(fā)送微信群消息的文章就介紹到這了,更多相關Go發(fā)送微信群消息內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 淺談Go1.18中的泛型編程

    淺談Go1.18中的泛型編程

    本文主要介紹了Go1.18中的泛型編程,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • go install/build生成的文件命名和路徑操作

    go install/build生成的文件命名和路徑操作

    這篇文章主要介紹了go install/build生成的文件命名和路徑操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • golang實現(xiàn)PHP數(shù)組特性的方法

    golang實現(xiàn)PHP數(shù)組特性的方法

    我們做業(yè)務過程中,對應強類型語言使用有個痛點,就是使用變量之前一定要定義變量類型,那么本文就來介紹一下golang實現(xiàn)PHP數(shù)組特性的方法
    2021-12-12
  • go mock server的簡易實現(xiàn)示例

    go mock server的簡易實現(xiàn)示例

    這篇文章主要為大家介紹了go mock server的簡易實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • golang之資源釋放/異常錯誤處理解析

    golang之資源釋放/異常錯誤處理解析

    這篇文章主要為大家介紹了golang之資源釋放/異常錯誤處理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • Golang使用CGO與Plugin技術運行加載C動態(tài)庫

    Golang使用CGO與Plugin技術運行加載C動態(tài)庫

    這篇文章主要介紹了Golang使用CGO與Plugin技術運行加載C動態(tài)庫,Golang?程序在運行時加載C動態(tài)庫的技術,跳過了Golang項目編譯階段需要鏈接C動態(tài)庫的過程,提高了Golang項目開發(fā)部署的靈活性
    2022-07-07
  • golang實現(xiàn)分頁算法實例代碼

    golang實現(xiàn)分頁算法實例代碼

    這篇文章主要給大家介紹了關于golang實現(xiàn)分頁算法的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-09-09
  • Golang在整潔架構基礎上實現(xiàn)事務操作

    Golang在整潔架構基礎上實現(xiàn)事務操作

    這篇文章在 go-kratos 官方的 layout 項目的整潔架構基礎上,實現(xiàn)優(yōu)雅的數(shù)據(jù)庫事務操作,需要的朋友可以參考下
    2024-08-08
  • Golang的循環(huán)語句和循環(huán)控制語句詳解

    Golang的循環(huán)語句和循環(huán)控制語句詳解

    循環(huán)語句為了簡化程序中有規(guī)律的重復性操作,需要用到循環(huán)語句,和其他大多數(shù)編程語言一樣,GO的循環(huán)語句有for循環(huán),不同的是沒有while循環(huán),而循環(huán)控制語句可以改變循環(huán)語句的執(zhí)行過程,下面給大家介紹下go循環(huán)語句和循環(huán)控制語句的相關知識,一起看看吧
    2021-11-11
  • Go語言實現(xiàn)RSA加解密算法詳解

    Go語言實現(xiàn)RSA加解密算法詳解

    隨著互聯(lián)網(wǎng)的高速發(fā)展,人們對安全的要求也越來越高,加解密也變得越來越重要,本文主要為大家介紹了Go語言中實現(xiàn)RSA加解密與簽名驗證算法,希望對大家有所幫助
    2023-06-06

最新評論