给我Python几十行代码,我还你一个微信聊天助手


给我Python几十行代码,我还你一个微信聊天助手

前言

文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun

注意:须有一个可以登录网页版的微信号

1、需求场景

很多管理大量微信社群的小伙伴都有这样的场景,当微信群的人数达到100人之后,将不能再通过分享的群二维码加入群里,必须自主添加好友后,手动去邀请才能加用户拉入群众,如果有大量的用户加群,就只能一个一个手动的拉,想想心情就很美丽,手动哭泣。。。。

2、准备工作

1、一台不关机的电脑 OR 一台服务器

2、 安装以下相关依赖(有的不需要)

<code>#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/<code>

3、一个能够在网页版微信登录的账号(重要)

4、该微信创建群聊,并保存通讯录中(重要)

3、代码部分

3.1、注册机器人

<code>bot = Bot(cache_path=True,console_qr = 2)
bot.enable_puid('wxpy_puid.pkl')
rebot = bot.groups().search('Goodog') // 需要加入的群/<code>

3.2、自动通过好友后发送的加群提示

<code>allText = '回复关键词加群: \\n\\n1、羊毛(加入羊毛优惠群)\\n2、py(加入机器人体验群)\\n3、互粉(加入公众号互粉群)\\n4、更多群敬请期待\\n\\n -PS: 如果回复关键字无效,请耐心等待手工拉入。'/<code> 

3.3、自动通过好友请求

<code>@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=''
)
new_friend.send(allText)/<code>

3.4、关键字回复发送加群邀请链接

<code>@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群失败,请等待人工邀请加入!!')/<code>

3.5、邀请用户入群后发送群公告

<code>invite_compile = re.compile(r'邀请"(.*?)"加入了群聊\\s*$') // 判断是否为新用户入群/<code>

3.5.1、新用户入群发送的公告

<code>rebot_msg = '''@{atname}\\\\u2005\\\\u2005\\\\u2005欢迎加入群\\n
⚡⚡⚡⚡ 此群禁止发广告,不然踢!!!\\n

无法登录网页微信的问题,无有效解决办法。\\n
怎样提问:\\n
1. 不要问无意义的问题
2. 问问题前最好贴出截图。
3. 描述清晰,信息充足。
4. 如果想要源码请关注 【小编】 回复【Python】获取'''/<code>

3.5.2、为加入的群进行注册,以用来抓取群消息

<code>@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/<code>

4、运行机器人

<code>while True:
schedule.run_pending()
time.sleep(1)/<code>


分享到:


相關文章: