简单几步,让你玩转微信自动邀请加群!

2019-10-15 13:49:31 +08:00
 pianjiao

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 ] 或直接扫描下面二维码

7、欢迎关注我的公众号 [小夭同学]

8928 次点击
所在节点    微信
27 条回复
zpfhbyx
2019-10-15 14:20:53 +08:00
第三步 gg
pianjiao
2019-10-15 14:21:55 +08:00
@zpfhbyx 么有微信 H 嘛,那是直接凉凉
Frank9621
2019-10-15 15:03:37 +08:00
我需要的是机器人吗?我需要的是能在网页登录的微信😭😭😭
275761919
2019-10-15 15:05:05 +08:00
我需要的是机器人吗?我需要的是能在网页登录的微信号
tpcy
2019-10-15 16:00:29 +08:00
我需要的是机器人吗?我需要的是能在网页登录的微信号
fengshils
2019-10-15 16:01:59 +08:00
我需要的是机器人吗?我需要的是能在网页登录的微信😭😭😭
pianjiao
2019-10-15 16:20:03 +08:00
@275761919 哭泣。。
pianjiao
2019-10-15 16:21:40 +08:00
@Frank9621 😄这个没办法了
jzyzcz
2019-10-15 17:31:22 +08:00
我需要的是机器人吗?我需要的是能在网页登录的微信号
zjiecode
2019-10-15 21:36:36 +08:00
我需要的是机器人吗?我需要的是能在网页登录的微信号
blueset
2019-10-15 21:59:23 +08:00
建议基于 Web WC 的项目应该在标题里面注明一下。

顺便,Python 的注释是 #,不是 //。
arischow
2019-10-16 09:35:18 +08:00
想借楼问一下有什么能在微信群里发小程序链接。
pianjiao
2019-10-16 11:03:32 +08:00
@blueset 谢谢 那个只是我在 markdown 里面用的注释 不是代码里面
pianjiao
2019-10-16 20:38:22 +08:00
@arischow 目前还不知道
jedihy
2019-10-17 05:28:06 +08:00
要满足什么条件才能在网页上登录呀?
luojianxhlxt
2019-10-17 10:01:59 +08:00
@jedihy #15 老的微信号
新的都不行
具体多老,没试过
pianjiao
2019-10-17 11:30:37 +08:00
@jedihy 两年之前的微信号 或者 17 1 8 之前的
jedihy
2019-10-17 11:51:19 +08:00
@pianjiao 额,我是 2011 年注册的微信,竟然还是不行。
pianjiao
2019-10-17 14:09:27 +08:00
@jedihy 额 不会把 你不能登录网页版微信嘛
jedihy
2019-10-17 15:44:42 +08:00
@pianjiao 不行,怀疑是原来登录过第三方的,被检测了。我是前 10000 个微信用户。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/609504

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX