300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 微信小机器人 wxpy模块 自动化发送消息

微信小机器人 wxpy模块 自动化发送消息

时间:2020-02-22 20:15:23

相关推荐

微信小机器人 wxpy模块 自动化发送消息

1. 扫码登录微信

from wxpy import *# bot = Bot() # 每次运行都要扫二维码bot = Bot(cache_path=True) # 加上参数 表示缓存, 不用每次都要去登录了

2. 发送消息

bot.file_helper.send("hello") # file_helper 是微信的文件传输助手, 给文件传输助手发送一条消息,可以在手机端收到如下的消息

3. 接受消息 # 我们实现一个收到消息自动回复的功能。

@bot.register()def print_message(msg1):print(msg1.text)return msg1.textembed() # 这个必须加上# 回复发送给自己的消息,可以使用这个方法来进行测试机器人而不影响到他人#@bot.register(bot.self, except_self=False)#def reply_self(msg):# return 'received: {} ({})'.format(msg.text, msg.type)

4、 搜索好友及微信群 # 我们来实现一个搜索公司群、定位老板并转发老板消息的功能

company_group = bot.groups().search('baby')[0]boss = company_group.search('好友备注名称')[0]# 将老板的消息转发到文件传输助手@bot.register(company_group)def forward_boss_message(msg):if msg.member == boss:msg.forward(bot.file_helper, prefix='老板发言')# 堵塞线程embed()

5、发送好友信息

def send_msgs():try:my_friend = bot.friends().search('微信备注')[0] # 微信备注my_friend.send("哈哈哈")#except:my_friend = bot.friends().search('好友自己的昵称')[0] # 好友自己的昵称my_friend.send("嘻嘻嘻")send_msgs()

6、 统计性别分布的代码如下

friends_stat = bot.friends().stats()print(friends_stat)for sex, count in friends_stat["sex"].items():# 1代表MALE, 2代表FEMALEif sex == 1:print("MALE %d" % count)elif sex == 2:print("FEMALE %d" % count)else:# sex == 0 表示显示不出性别print("显示不出性别 %d" %count)

7、统计好友的地理位置,并打印出人数最多的10个地区

# friends_stat = bot.friends().stats()friend_loc = [] # 每一个元素是一个二元列表,分别存储地区和人数信息for province, count in friends_stat["province"].items():if province != "":friend_loc.append([province, count])# 对人数倒序排序friend_loc.sort(key=lambda x: x[1], reverse=True)print(friend_loc)# # 打印人数最多的10个地区for item in friend_loc[:10]:print(item[0], item[1])

8、send 发送信息

# 发送文本my_friend.send('Hello, WeChat!')# 发送图片my_friend.send_image('my_picture.png')# 发送视频my_friend.send_video('my_video.mov')# 发送文件my_friend.send_file('my_file.zip')# 以动态的方式发送图片my_friend.send('@img@my_picture.png')

9、 这个是借鉴大佬的代码,想看的小伙伴可以学习一下,艺不压身

# coding:utf-8 import jsonimport requestsfrom wxpy import *#bot = Bot()#bot.file_helper.send_image('ParticleSmoke.png')# 回复 my_friend 发送的消息#@bot.register(my_friend)#def reply_my_friend(msg):# return 'received: {} ({})'.format(msg.text, msg.type)# 回复发送给自己的消息,可以使用这个方法来进行测试机器人而不影响到他人#@bot.register(bot.self, except_self=False)#def reply_self(msg):# return 'received: {} ({})'.format(msg.text, msg.type)# 打印出所有群聊中@自己的文本消息,并自动回复相同内容# 这条注册消息是我们构建群聊机器人的基础#@bot.register(Group, TEXT)#def print_group_msg(msg):# if msg.is_at:# print(msg)# msg.reply(meg.text)def auto_ai(text):url = "/openapi/api"api_key="****"payload={"key":api_key,"info":text,"userid":"666"}r = requests.post(url,data=json.dumps(payload))result = json.loads(r.content)if ('url' in result.keys()):return "[九日AI] "+result["text"]+result["url"]else:return "[九日AI] "+result["text"]bot = Bot(cache_path=True)#登录缓存#bot.file_helper.send('[奸笑][奸笑]')print('九日AI已经启动')boring_group1 = bot.groups().search('✪ω✪妹子会有的')[0]@bot.register(boring_group1)def group_message(msg):print('[接收]'+str(msg))if (msg.type!='Text'):ret = '[奸笑][奸笑]'else:ret = auto_ai(msg.text)print('[发送]'+str(ret))return ret@bot.register(chats = [Friend])def forward_message(msg):print('[接收]'+str(msg))if (msg.type!='Text'):ret = '[奸笑][奸笑]'else:ret = auto_ai(msg.text)print('[发送]'+str(ret))return retembed()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。