10⾏代码实现消息同步(wxpy)
⽬前,成员的⼈数上限是500⼈。⽽现实中,有很多社、校友、同事的成员数量已超过500⼈,只能分拆在不同的⾥
⾯。在聊天过程中,不同的成员⽆法相互沟通。
去年,宏论⼯作室介绍了的⽅法。现在,我们改⽤wxpy模块,以更简洁的代码实现消息同步。wxpy模块是在itchat模块的基础上再次
封装,所以使⽤起来更简便。利⽤本⽂介绍的代码,每个账号都可以变成“机器⼈”,在指定的之间⾃动同步消息,打通了500⼈
上限的阻碍,让不同的成员互相沟通。
安装wxpy模块:
pip install -U wxpy -i "pypi.doubanio/simple/"
如果要使⽤该模块的其他功能,可以查看。
代码:
下⾯给出消息同步的完整代码(去除注释⽂字,只有10⾏代码):
from wxpy import*
#导⼊wxpy模块的全部内容
bot=Bot()
# 初始化机器⼈,电脑弹出⼆维码,⽤⼿机扫码登陆
#登陆后,更新列表(包括未保存到通讯录的)
my_ups().search('铲屎官')
#出名字包括“铲屎官”的。假设我们有2个,分别叫“铲屎官1”、“铲屎官2”。如果有3个或以上的铲屎,上⾯这句代码也能全部出来,并在后⾯的代码my_groups[0].update_group(members_details=True)
#更新“铲屎官1”的成员列表信息
my_groups[1].update_group(members_details=True)
#更新“铲屎官2”的成员列表信息
代码转换@ister(my_groups, except_self=False)
#注册消息响应事件,⼀旦收到铲屎的消息,就执⾏下⾯的代码同步消息。机器⼈⾃⼰在⾥发布的信息也进⾏同步。
def sync_my_groups(msg):
sync_message_in_groups(msg, my_groups)
#同步“铲屎官1”和“铲屎官2”的消息。包括⽂字、图⽚、视频、语⾳、⽂件、分享、普通表情、地图等。
bot.join()
#堵塞线程,让机器⼈保持运⾏
把上述10⾏代码保存为⽂件sync.py,然后在电脑运⾏,就能开始同步消息了:
python sync.py
个性化:
我们可以根据具体情境优化代码,以满⾜个性化要求:
1、在Linux服务器运⾏机器⼈,需要使⽤终端⼆维码。初始化机器⼈的代码改为:
bot=Bot(cache_path=True, console_qr=2)
#console_qr=2,这个整数可以调整。如果终端底⾊是⽩⾊,则改为负数。
2、如果需要同步的名字不同,可以⽤以下命令进⾏指定:
my_groups[0]=ups().search('铲屎官')
my_groups[1]=ups().search('吃货')
#指定同步“铲屎官”和“吃货”的消息
3、wxpy在同步消息时,会默认给发消息的成员添加⼀个⼩图标作为临时头像。如果想使⽤更简洁的⽅式,可以改⽤以下代码:
@ister(my_groups, except_self=False)
def sync_my_groups(msg):
my_ber.name+':'
#给转发的消息加上前缀,显⽰成员名字和冒号。成员名字从备注、昵称、昵称⾥⾯按顺序⾃动获取。
sync_message_in_groups(msg, my_groups, prefix=my_name)
4、在最后增加⼀条代码,给机器⼈发送消息,表⽰代码执⾏成功
bot.file_helper.send('Hello')
#向机器⼈的⽂件传输助⼿发送消息“Hello”
bot.join()
最后,建议⽤⼩号做“机器⼈”,并适当控制同步消息的数量和频率,以免对成员造成不必要的骚扰,同时不影响个⼈⼤号的正常使⽤。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论