最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何用Python做一個微信機器人自動拉群

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

引言

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

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

當然可以。西秦公子 就用Python 創(chuàng)造了一個微信自動拉群機器人,并把它部署運行在UCloud云平臺上。

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

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

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

目錄

  • 代碼實現(xiàn);
  • 部署到 UCloud;
  • 代碼復盤 及 設計理念解析;

代碼實現(xiàn)

我們的核心需求主要是兩個:

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

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

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

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

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

'''
驗證信息
'''
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方法來獲取到所有的用戶,并使用搜索,取到我們想要的數(shù)據(jù)。

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

找到我們要邀請的用戶以后,就可以使用 group 的 add_memebers 方法來邀請用戶加入到群聊。由于我們的群已經(jīng)到了100人的限制。所以這里將第二個參數(shù)設置為 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),這行代碼是指注冊一個監(jiān)聽器,來監(jiān)聽類型是 FRIEDNS 的消息,也就是加好友的消息。

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

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

部署到UCloud

接下來我們嘗試將項目部署到UCloud云主機上:

創(chuàng)建主機

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

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

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

基礎環(huán)境安裝

由于我們的主機運行的是 CentOS 7.2 ,自帶的是 Python 2.7.5 ,而 wxpy 需要運行在 Python 3 下,所以我們首先進行的是 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

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

代碼復盤 及 設計理念解析

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

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

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

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

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

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

相關文章

  • Python基礎之標準庫和常用的第三方庫案例教程

    Python基礎之標準庫和常用的第三方庫案例教程

    這篇文章主要介紹了Python基礎之標準庫和常用的第三方庫案例教程,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 淺談Python中的可變對象和不可變對象

    淺談Python中的可變對象和不可變對象

    下面小編就為大家?guī)硪黄獪\談Python中的可變對象和不可變對象。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Python解決asyncio文件描述符最大數(shù)量限制的問題

    Python解決asyncio文件描述符最大數(shù)量限制的問題

    這篇文章主要介紹了Python解決asyncio文件描述符最大數(shù)量限制的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • python實現(xiàn)批處理文件

    python實現(xiàn)批處理文件

    這篇文章主要為大家詳細介紹了python實現(xiàn)批處理文件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • 詳解Django的MVT設計模式

    詳解Django的MVT設計模式

    本章我們將介紹下經(jīng)典的軟件開發(fā)所遵循的MVC (Model-View-Controller, 模型-視圖-控制器) 設計模式以及Django的MVT設計模式(Model-View-Template)是如何遵循這種設計理念的。
    2021-04-04
  • python自動查詢12306余票并發(fā)送郵箱提醒腳本

    python自動查詢12306余票并發(fā)送郵箱提醒腳本

    這篇文章主要為大家詳細介紹了Python自動查詢12306余票并發(fā)送郵箱提醒腳本,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • matplotlib作圖添加表格實例代碼

    matplotlib作圖添加表格實例代碼

    這篇文章主要介紹了matplotlib作圖添加表格實例代碼,實例繪制了一個簡單的折線圖,并且在圖中添加了一個表格,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • python3 unicode列表轉(zhuǎn)換為中文的實例

    python3 unicode列表轉(zhuǎn)換為中文的實例

    今天小編就為大家分享一篇python3 unicode列表轉(zhuǎn)換為中文的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python 鏡像環(huán)境搭建總結

    python 鏡像環(huán)境搭建總結

    這篇文章主要介紹了python 鏡像環(huán)境搭建總結,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • Python繪制散點圖之可視化神器pyecharts

    Python繪制散點圖之可視化神器pyecharts

    這篇文章主要介紹了Python繪制散點圖之可視化神器pyecharts,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07

最新評論

台江县| 元阳县| 深圳市| 贺州市| 同仁县| 嘉黎县| 廉江市| 吉安市| 石狮市| 新泰市| 吉林市| 洛南县| 始兴县| 酒泉市| 扶绥县| 玉山县| 尉犁县| 漳平市| 庄浪县| 吉水县| 色达县| 昌江| 崇义县| 蓬安县| 彩票| 宿迁市| 湘潭市| 定安县| 富民县| 太保市| 乌拉特中旗| 柳河县| 麻城市| 泉州市| 调兵山市| 五莲县| 南汇区| 建宁县| 家居| 华池县| 桓台县|