您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關怎么用Python做一個微信機器人自動拉群的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
引言
微信群的用戶添加邏輯是 —— 當群人數達到100人后,用戶無法再通過掃描群二維碼加入,只能讓用戶先添加群內聯系人微信,再由聯系人把用戶拉進來。這樣,聯系人員的私人微信會添加大量陌生人,給其帶來不必要的打擾,而且純人工操作,也容易出現紕漏。
那么,是否可以通過代碼,做一個自動拉群機器人呢? 由微信機器人來實現自動加群功能,一勞永逸解決人工拉群的麻煩。
當然可以。西秦公子 就用Python 創造了一個微信自動拉群機器人,并把它部署運行在UCloud云平臺上。
現在,他把機器人構建過程及代碼 都分享了出來,一起來看看吧~
我們在 UCloud 上運行了 Linux中國 的翻譯平臺,同時,最近我們的另外一個項目 運維密碼 發展迅猛,體驗群很快就達到了 100 人,達到了100人后,就沒有辦法讓用戶通過掃描二維碼來加群,只能讓用戶加我們的微信,然后由我們來把用戶拉群。這樣十分不便,而且也容易出現紕漏。
于是我們便考慮在云主機上,運行一個微信機器人,由微信機器人來實現加群,免去手動拉群的麻煩。具體實現過程如下:
目錄
代碼實現;
部署到 UCloud;
代碼復盤 及 設計理念解析;
代碼實現
我們的核心需求主要是兩個:
讀取用戶添加好友的驗證信息
根據驗證信息,發送不同的邀請鏈接
首先,我們要去創建一個機器人的實例,代碼如下
from wxpy import * bot = Bot('bot.pkl',console_qr=True)
這兩行代碼引入了 wxpy ,并生成了一個 bot 實例。這個實例會將我們的登陸信息保存到 bot.pkl 中,這樣我們在短時間內的機器人重啟時,就不用重復登陸了。
接下來,我們定義一個函數來校驗用戶的驗證信息中,是否有我們需要的關鍵詞。
''' 驗證信息 ''' def valid_msg(msg): return '運維密碼' in msg.text.lower()
并且定義一個方法,用來邀請用戶加入到我們的運維密碼工作群中。
''' 定義邀請用戶的方法 ''' def invite(user): group = bot.groups().search('“運維密碼”體驗群') group[0].add_members(user, use_invitation=True)
這個里面的關鍵是我們要使用bot的groups方法來獲取到所有的用戶,并使用搜索,取到我們想要的數據。
在這里我是使用了數據的 第一個結果,當然,你也可以在搜索時,使用 ensure_one 方法來保證只返回一個結果,而不是一個數組。
找到我們要邀請的用戶以后,就可以使用 group 的 add_memebers 方法來邀請用戶加入到群聊。由于我們的群已經到了100人的限制。所以這里將第二個參數設置為 true 。
上述的兩個方法,我們基本完成了我們需要使用的部分。
接下來,我們就要讓機器人來自動處理我們的請求消息了。
''' 處理加好友信息 ''' @bot.register(msg_types=FRIENDS)def new_friends(msg): user = msg.card.accept() if valid_msg(msg): invite(user) else: user.send('Hello {},你忘了填寫加群口令,快回去找找口令吧'.format(user.name))
這里最關鍵的是第一行的 @bot.register(msg_types=FRIENDS),這行代碼是指注冊一個監聽器,來監聽類型是 FRIEDNS 的消息,也就是加好友的消息。
然后定義了一個新的函數 new_friends(msg),在這個函數里,我們定義 user 為接受了用戶的信息,并獲取他的身份信息。
并且調用 valid_msg 的方法來判斷添加好友的信息是否存在,如果返回的結果為真,就調用邀請用戶的方法。
部署到UCloud
接下來我們嘗試將項目部署到UCloud云主機上:
創建主機
注冊 UCloud - 專業云計算服務商
點擊左側的 云主機,然后點擊 創建主機
右側選擇 付費方式,點擊 立即購買
在支付確認頁面,點擊 確認支付
購買成功后回到主機管理列表,如下所示:
這里注意記住你的外網IP,下面的ip替換成你的
基礎環境安裝
由于我們的主機運行的是 CentOS 7.2 ,自帶的是 Python 2.7.5 ,而 wxpy 需要運行在 Python 3 下,所以我們首先進行的是 Python 3 的安裝。
執行如下命令來安裝 Python 3
yum install epel-release yum install python34
接下來安裝 Pip
yum install python34-setuptools easy_install-3.4 pip
安裝完成 Python 3 和 pip ,接下來我們就可以開始安裝 wxpy 了
在命令行中執行
pip3 install -i https://pypi.doubanio.com/simple/ -U wxpy
至此,就完成了基礎環境搭建工作,機器人實現代碼就可以順利運行在此云主機上了。
代碼復盤 及 設計理念解析
以上就是微信拉群機器人的全部實現過程,最終效果如下圖:
就微信機器人來說,最關鍵的,是要對機器人接受到的信息注冊監聽器。通過監聽消息的類型、消息的內容,來執行對應的操作。
比如我監聽的事 FRIENDS 消息,同樣的也可以監聽好友消息等等。通過不同的監聽模式來實現我們的具體功能是核心。如果我們把代碼精簡一下,最終的代碼就是
#!/usr/bin/env python3 # coding: utf-8 from wxpy import * bot = Bot() @bot.register(msg_types=FRIENDS) def new_friends(msg): 處理好友邏輯代碼
最少的情況下只需要這些代碼,就足夠我們啟動機器人了。當然,這樣并不是最佳實踐,代碼的可讀性還有待提高。
感謝各位的閱讀!關于“怎么用Python做一個微信機器人自動拉群”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。