作者:vaaal52653 | 来源:互联网 | 2023-09-15 18:57
1.扫码登录微信fromwxpyimport*#botBot()#每次运行都要扫二维码botBot(cache_pathTrue)#加上参数表示缓存,不用每次都
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.text
embed() # 这个必须加上# 回复发送给自己的消息,可以使用这个方法来进行测试机器人而不影响到他人
#@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 json
import requests
from 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 = "http://www.tuling123.com/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()