微信小机器人 wxpy模块,自动化发送消息
生活随笔
收集整理的這篇文章主要介紹了
微信小机器人 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.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()?
總結
以上是生活随笔為你收集整理的微信小机器人 wxpy模块,自动化发送消息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java语言程序设计第十版(Introd
- 下一篇: FCoE BB6 相关学习笔记