利用Python實現微信半自動化操作!

故事膠片發表於2019-11-26

本文首發於公眾號:小夭同學,同步更新個人部落格:故事膠片,轉載請署名。

利用Python實現微信半自動化操作!

注意:須有一個可以登入網頁版的微訊號

可以在 微信網頁版 登入一下檢視

1、需求場景

很多管理大量微信社群的小夥伴都有這樣的場景,當微信群的人數達到100人之後,將不能在通過分享的群二維碼加入群裡,必須自主新增好友後,手動去邀請才能加使用者拉入群眾,如果有大量的使用者加群,就只能一個一個手動的拉,想想心情就很美麗,手動哭泣。。。。

2、準備工作

1、一臺不關機的電腦 OR 一臺伺服器

2、 安裝以下相關依賴(有的不需要)

#coding=utf8
import requests
from requests import exceptions
from urllib.request import urlopen
from bs4 import BeautifulSoup
from urllib.parse import urlencode
from threading import Timer
import re
from wxpy import *
import  schedule
import  time
import http
import  json 
import datetime
import random
import os
import ctypes
複製程式碼

3、一個能夠在網頁版微信登入的賬號(重要)

4、該微信建立群聊,並儲存通訊錄中(重要)

3、程式碼部分

3.1、序號產生器器人

bot = Bot(cache_path=True,console_qr = 2)
bot.enable_puid('wxpy_puid.pkl')
rebot = bot.groups().search('Goodog') // 需要加入的群
複製程式碼

3.2、自動通過好友後傳送的加群提示

allText = '回覆關鍵詞加群: \n\n1、羊毛(加入羊毛優惠群)\n2、py(加入機器人體驗群)\n3、互粉(加入公眾號互粉群)\n4、更多群敬請期待\n\n -PS: 如果回覆關鍵字無效,請耐心等待手工拉入。'
複製程式碼

3.3、自動通過好友請求

@bot.register(msg_types=FRIENDS)
def auto_audit_msg(msg):
    new_friend = bot.accept_friend(msg.card)
    new_friend.send('我是Goodog小助手,如果你也想擁有一個跟我一樣功能的機器人請新增公眾號【小夭同學】留言獲取!')
    new_friend.send_raw_msg(
        raw_type=42,
        raw_content='<msg username="infopush" nickname="小夭同學"/>'
    ) 
    new_friend.send(allText)
複製程式碼

3.4、關鍵字回覆傳送加群邀請連結

@bot.register(Friend, msg_types=TEXT)
def auto_add_msg(msg):
    if 'py' in msg.text.lower():
        rebot[0].add_members(msg.sender, use_invitation=True)
        msg.sender.send('如果加入py群失敗,請等待人工邀請加入!!')
複製程式碼

3.5、邀請使用者入群后傳送群公告

invite_compile = re.compile(r'邀請"(.*?)"加入了群聊\s*$') // 判斷是否為新使用者入群
複製程式碼

3.5.1、新使用者入群傳送的公告

rebot_msg = '''@{atname}\u2005\u2005\u2005???歡迎加入群???\n
⚡⚡⚡⚡ 此群禁止發廣告,不然踢!!!\n
??? 無法登入網頁微信的問題,無有效解決辦法。\n
??? 怎樣提問:\n
1. 不要問無意義的問題 ? 
2. 問問題前最好貼出截圖。? 
3. 描述清晰,資訊充足。?
4. 如果想要原始碼請關注? 【小夭同學】? 回覆【幫助】獲取'''
複製程式碼

3.5.2、為加入的群進行註冊,以用來抓取群訊息

@bot.register(rebot, NOTE)  // NOTE 為系統通知
def invite_group(msg):
    """ 群通知處理 """
    text = msg.text # 通知的內容
    member = msg.member.name # 訊息傳送者暱稱
    invite_names = invite_compile.findall(text)  # 判斷是否是加入了新使用者
    if invite_names:  # 用於邀請
        invite_name = invite_names[0]  # 加入者的暱稱
        if rebot_msg:
            note = rebot_msg.format(atname=invite_name)
            msg.sender.send(note)  # 向群裡傳送歡迎語句
        return
複製程式碼

4、執行機器人

while True:
    schedule.run_pending()
    time.sleep(1)
複製程式碼

5、Git

程式碼已上傳 Github

6、如有想體驗機器人可以新增微信【wex_5201314】或直接掃描下面二維碼

WechatIMG303.jpeg

7、往期內容

Python + Wxpy 實現微信防撤回。

Python獲取好友地區分佈及好友性別分佈。

超簡單!只需簡單幾步即可為TA定製天氣小助理!!!。

相關文章