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

如何用Python做一個(gè)微信機(jī)器人自動(dòng)拉群

 更新時(shí)間:2019年07月03日 14:18:49   作者:西秦公子  
這篇文章主要介紹了如何用Python做一個(gè)微信機(jī)器人自動(dòng)拉群,微當(dāng)群人數(shù)達(dá)到100人后,用戶無法再通過掃描群二維碼加入,只能讓用戶先添加群內(nèi)聯(lián)系人微信,再由聯(lián)系人把用戶拉進(jìn)來。這樣,聯(lián)系人員的私人微信會(huì)添加大量陌生人,給其帶來不必要的打擾,需要的朋友可以參考下

引言

微信群的用戶添加邏輯是 —— 當(dāng)群人數(shù)達(dá)到100人后,用戶無法再通過掃描群二維碼加入,只能讓用戶先添加群內(nèi)聯(lián)系人微信,再由聯(lián)系人把用戶拉進(jìn)來。這樣,聯(lián)系人員的私人微信會(huì)添加大量陌生人,給其帶來不必要的打擾,而且純?nèi)斯げ僮?,也容易出現(xiàn)紕漏。

那么,是否可以通過代碼,做一個(gè)自動(dòng)拉群機(jī)器人呢? 由微信機(jī)器人來實(shí)現(xiàn)自動(dòng)加群功能,一勞永逸解決人工拉群的麻煩。

當(dāng)然可以。西秦公子 就用Python 創(chuàng)造了一個(gè)微信自動(dòng)拉群機(jī)器人,并把它部署運(yùn)行在UCloud云平臺(tái)上。

現(xiàn)在,他把機(jī)器人構(gòu)建過程及代碼 都分享了出來,一起來看看吧~

我們在 UCloud 上運(yùn)行了 Linux中國 的翻譯平臺(tái),同時(shí),最近我們的另外一個(gè)項(xiàng)目 運(yùn)維密碼 發(fā)展迅猛,體驗(yàn)群很快就達(dá)到了 100 人,達(dá)到了100人后,就沒有辦法讓用戶通過掃描二維碼來加群,只能讓用戶加我們的微信,然后由我們來把用戶拉群。這樣十分不便,而且也容易出現(xiàn)紕漏。

于是我們便考慮在云主機(jī)上,運(yùn)行一個(gè)微信機(jī)器人,由微信機(jī)器人來實(shí)現(xiàn)加群,免去手動(dòng)拉群的麻煩。具體實(shí)現(xiàn)過程如下:

目錄

  • 代碼實(shí)現(xiàn);
  • 部署到 UCloud;
  • 代碼復(fù)盤 及 設(shè)計(jì)理念解析;

代碼實(shí)現(xiàn)

我們的核心需求主要是兩個(gè):

  • 讀取用戶添加好友的驗(yàn)證信息
  • 根據(jù)驗(yàn)證信息,發(fā)送不同的邀請(qǐng)鏈接

首先,我們要去創(chuàng)建一個(gè)機(jī)器人的實(shí)例,代碼如下

from wxpy import *
bot = Bot('bot.pkl',console_qr=True)

這兩行代碼引入了 wxpy ,并生成了一個(gè) bot 實(shí)例。這個(gè)實(shí)例會(huì)將我們的登陸信息保存到 bot.pkl 中,這樣我們在短時(shí)間內(nèi)的機(jī)器人重啟時(shí),就不用重復(fù)登陸了。

接下來,我們定義一個(gè)函數(shù)來校驗(yàn)用戶的驗(yàn)證信息中,是否有我們需要的關(guān)鍵詞。

'''
驗(yàn)證信息
'''
def valid_msg(msg):
 return '運(yùn)維密碼' in msg.text.lower()

并且定義一個(gè)方法,用來邀請(qǐng)用戶加入到我們的運(yùn)維密碼工作群中。

'''
定義邀請(qǐng)用戶的方法
'''
def invite(user):
 group = bot.groups().search('“運(yùn)維密碼”體驗(yàn)群')
 group[0].add_members(user, use_invitation=True)

這個(gè)里面的關(guān)鍵是我們要使用bot的groups方法來獲取到所有的用戶,并使用搜索,取到我們想要的數(shù)據(jù)。

在這里我是使用了數(shù)據(jù)的 第一個(gè)結(jié)果,當(dāng)然,你也可以在搜索時(shí),使用 ensure_one 方法來保證只返回一個(gè)結(jié)果,而不是一個(gè)數(shù)組。

找到我們要邀請(qǐng)的用戶以后,就可以使用 group 的 add_memebers 方法來邀請(qǐng)用戶加入到群聊。由于我們的群已經(jīng)到了100人的限制。所以這里將第二個(gè)參數(shù)設(shè)置為 true 。

上述的兩個(gè)方法,我們基本完成了我們需要使用的部分。

接下來,我們就要讓機(jī)器人來自動(dòng)處理我們的請(qǐng)求消息了。

'''
處理加好友信息
'''
@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))

這里最關(guān)鍵的是第一行的 @bot.register(msg_types=FRIENDS),這行代碼是指注冊一個(gè)監(jiān)聽器,來監(jiān)聽類型是 FRIEDNS 的消息,也就是加好友的消息。

然后定義了一個(gè)新的函數(shù) new_friends(msg),在這個(gè)函數(shù)里,我們定義 user 為接受了用戶的信息,并獲取他的身份信息。

并且調(diào)用 valid_msg 的方法來判斷添加好友的信息是否存在,如果返回的結(jié)果為真,就調(diào)用邀請(qǐng)用戶的方法。

部署到UCloud

接下來我們嘗試將項(xiàng)目部署到UCloud云主機(jī)上:

創(chuàng)建主機(jī)

  • 注冊 UCloud - 專業(yè)云計(jì)算服務(wù)商
  • 點(diǎn)擊左側(cè)的 云主機(jī),然后點(diǎn)擊 創(chuàng)建主機(jī)
  • 右側(cè)選擇 付費(fèi)方式,點(diǎn)擊 立即購買
  • 在支付確認(rèn)頁面,點(diǎn)擊 確認(rèn)支付

購買成功后回到主機(jī)管理列表,如下所示:

這里注意記住你的外網(wǎng)IP,下面的ip替換成你的

基礎(chǔ)環(huán)境安裝

由于我們的主機(jī)運(yùn)行的是 CentOS 7.2 ,自帶的是 Python 2.7.5 ,而 wxpy 需要運(yùn)行在 Python 3 下,所以我們首先進(jìn)行的是 Python 3 的安裝。

執(zhí)行如下命令來安裝 Python 3

yum install epel-release
yum install python34

接下來安裝 Pip

yum install python34-setuptools
easy_install-3.4 pip

安裝完成 Python 3 和 pip ,接下來我們就可以開始安裝 wxpy 了

在命令行中執(zhí)行

pip3 install -i https://pypi.doubanio.com/simple/ -U wxpy

至此,就完成了基礎(chǔ)環(huán)境搭建工作,機(jī)器人實(shí)現(xiàn)代碼就可以順利運(yùn)行在此云主機(jī)上了。

代碼復(fù)盤 及 設(shè)計(jì)理念解析

以上就是微信拉群機(jī)器人的全部實(shí)現(xiàn)過程,最終效果如下圖:

就微信機(jī)器人來說,最關(guān)鍵的,是要對(duì)機(jī)器人接受到的信息注冊監(jiān)聽器。通過監(jiān)聽消息的類型、消息的內(nèi)容,來執(zhí)行對(duì)應(yīng)的操作。

比如我監(jiān)聽的事 FRIENDS 消息,同樣的也可以監(jiān)聽好友消息等等。通過不同的監(jiān)聽模式來實(shí)現(xiàn)我們的具體功能是核心。如果我們把代碼精簡一下,最終的代碼就是

#!/usr/bin/env python3
# coding: utf-8
from wxpy import *
bot = Bot()
@bot.register(msg_types=FRIENDS)
def new_friends(msg):
處理好友邏輯代碼

最少的情況下只需要這些代碼,就足夠我們啟動(dòng)機(jī)器人了。當(dāng)然,這樣并不是最佳實(shí)踐,代碼的可讀性還有待提高。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python返回多個(gè)值與賦值多個(gè)值的示例代碼

    python返回多個(gè)值與賦值多個(gè)值的示例代碼

    在Python中函數(shù)經(jīng)常會(huì)返回多個(gè)值,下面這篇文章主要給大家介紹了關(guān)于python返回多個(gè)值與賦值多個(gè)值的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • 使用python開發(fā)vim插件及心得分享

    使用python開發(fā)vim插件及心得分享

    Vim 插件是一個(gè) .vim 的腳本文件,定義了函數(shù)、映射、語法規(guī)則和命令,可用于操作窗口、緩沖以及行。一般一個(gè)插件包含了命令定義和事件鉤子。當(dāng)使用 Python 編寫 vim 插件時(shí),函數(shù)外面是使用 VimL 編寫,盡管 VimL 學(xué)起來很快,但 Python 更加靈活
    2014-11-11
  • Python編程中如何捕獲警告ps不是捕獲異常

    Python編程中如何捕獲警告ps不是捕獲異常

    這篇文章主要為大家介紹了如何使用Python捕獲警告,注意:不是捕獲異常哦,有需要的朋友可以借鑒參考下,希望能夠有所幫助祝大家多多進(jìn)步
    2021-10-10
  • PyTorch實(shí)現(xiàn)更新部分網(wǎng)絡(luò),其他不更新

    PyTorch實(shí)現(xiàn)更新部分網(wǎng)絡(luò),其他不更新

    今天小編就為大家分享一篇PyTorch實(shí)現(xiàn)更新部分網(wǎng)絡(luò),其他不更新,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • NCCL深度學(xué)習(xí)Bootstrap網(wǎng)絡(luò)連接建立源碼解析

    NCCL深度學(xué)習(xí)Bootstrap網(wǎng)絡(luò)連接建立源碼解析

    這篇文章主要為大家介紹了NCCL深度學(xué)習(xí)Bootstrap網(wǎng)絡(luò)連接建立源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 詳解Python IO口多路復(fù)用

    詳解Python IO口多路復(fù)用

    這篇文章主要介紹了Python IO口多路復(fù)用的的相關(guān)資料,文中講解的非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以參考下
    2020-06-06
  • Python中使用dwebsocket實(shí)現(xiàn)后端數(shù)據(jù)實(shí)時(shí)刷新

    Python中使用dwebsocket實(shí)現(xiàn)后端數(shù)據(jù)實(shí)時(shí)刷新

    dwebsocket是Python中一款用于實(shí)現(xiàn)WebSocket協(xié)議的庫,可用于后端數(shù)據(jù)實(shí)時(shí)刷新。在Django中結(jié)合使用dwebsocket和Channels,可以實(shí)現(xiàn)前后端的實(shí)時(shí)通信,支持雙向數(shù)據(jù)傳輸和消息推送,適用于實(shí)時(shí)聊天、數(shù)據(jù)監(jiān)控、在線游戲等場景
    2023-04-04
  • 使用Pandas解決對(duì)比兩列數(shù)據(jù)取最大值

    使用Pandas解決對(duì)比兩列數(shù)據(jù)取最大值

    Pandas庫作為Python中數(shù)據(jù)處理和分析的強(qiáng)大工具,提供了多種靈活的方法來實(shí)現(xiàn)這一需求,本文將詳細(xì)介紹五種使用Pandas對(duì)比兩列數(shù)據(jù)并取最大值的方法,需要的可以參考下
    2024-04-04
  • python類裝飾器用法實(shí)例

    python類裝飾器用法實(shí)例

    這篇文章主要介紹了python類裝飾器用法,實(shí)例分析了Python類裝飾器的相關(guān)使用方法,需要的朋友可以參考下
    2015-06-06
  • 用python實(shí)現(xiàn)k近鄰算法的示例代碼

    用python實(shí)現(xiàn)k近鄰算法的示例代碼

    這篇文章主要介紹了用python實(shí)現(xiàn)k近鄰算法的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09

最新評(píng)論