这篇文章给大家分享的是有关怎么用Python做一个微信机器人自动拉群的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
<强>引言强>
微信群的用户添加逻辑是——当群人数达到100人后,用户无法再通过扫描群二维码加入,只能让用户先添加群内联系人微信,再由联系人把用户拉进来。这样,联系人员的私人微信会添加大量陌生人,给其带来不必要的打扰,而且纯人工操作,也容易出现纰漏。
那么,是否可以通过代码,做一个自动拉群机器人呢?由微信机器人来实现自动加群功能,一劳永逸解决人工拉群的麻烦。
当然可以。西秦公子就用Python创造了一个微信自动拉群机器人,并把它部署运行在UCloud云平台上。
现在,他把机器人构建过程及代码都分享了出来,一起来看看吧~
我们在UCloud上运行了Linux中国的翻译平台,同时,最近我们的另外一个项目运维密码发展迅猛,体验群很快就达到了100人,达到了100人后,就没有办法让用户通过扫描二维码来加群,只能让用户加我们的微信,然后由我们来把用户拉群。这样十分不便,而且也容易出现纰漏。
于是我们便考虑在云主机上,运行一个微信机器人,由微信机器人来实现加群,免去手动拉群的麻烦。具体实现过程如下:
<强>目录强>
- <李>
代码实现;
李> <李>部署到UCloud;
李> <李>代码复盘及设计理念解析;
李> <强>代码实现强>
我们的核心需求主要是两个:
- <李>
读取用户添加好友的验证信息
李> <李>根据验证信息,发送不同的邀请链接
李>首先,我们要去创建一个机器人的实例,代码如下
得到wxpy import * bot =, Bot (& # 39; bot.pkl& # 39;, console_qr=True)
这两行代码引入了wxpy,并生成了一个机器人实例。这个实例会将我们的登陆信息保存到机器人。pkl中,这样我们在短时间内的机器人重启时,就不用重复登陆了。
接下来,我们定义一个函数来校验用户的验证信息中,是否有我们需要的关键词。
& # 39; & # 39; & # 39; 验证信息 & # 39;& # 39;& # 39; def valid_msg(味精): ,return & # 39;运维密码& # 39;,拷贝msg.text.lower ()
并且定义一个方法,用来邀请用户加入到我们的运维密码工作群中。
& # 39; & # 39; & # 39; 定义邀请用户的方法 & # 39;& # 39;& # 39; def 邀请(用户):=,,group  bot.groups () .search(& # 39;“运维密码”体验群& # 39;) ,集团[0].add_members(用户、,use_invitation=True)
这个里面的关键是我们要使用机器人的组织方法来获取到所有的用户,并使用搜索,取到我们想要的数据。
在这里我是使用了数据的第一个结果,当然,你也可以在搜索时,使用ensure_one方法来保证只返回一个结果,而不是一个数组。
找到我们要邀请的用户以后,就可以使用集团的add_memebers方法来邀请用户加入到群聊。由于我们的群已经到了100人的限制,所以这里将第二个参数设置为真的。
上述的两个方法,我们基本完成了我们需要使用的部分。
接下来,我们就要让机器人来自动处理我们的请求消息了。
& # 39; & # 39; & # 39; 处理加好友信息 & # 39;& # 39;& # 39; @bot.register (msg_types=朋友)def new_friends(味精):=,,user  msg.card.accept () ,if valid_msg(味精): 邀请才能(用户) ,其他的: user.send才能(& # 39;Hello {},你忘了填写加群口令,快回去找找口令吧& # 39;.format (user.name))
这里最关键的是第一行的@bot.register (msg_types=朋友),这行代码是指注册一个监听器,来监听类型是朋友的消息,也就是加好友的消息。
然后定义了一个新的函数new_friends(味精),在这个函数里,我们定义用户为接受了用户的信息,并获取他的身份信息。
并且调用valid_msg的方法来判断添加好友的信息是否存在,如果返回的结果为真,就调用邀请用户的方法。
<强>部署到UCloud 强>
接下来我们尝试将项目部署到UCloud云主机上:
<强>创建主机
强>
- <李>
注册UCloud——专业云计算服务商
李> <李>点击左侧的云主机,然后点击创建主机
李> <李>右侧选择付费方式,点击立即购买