欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python3 通过bot方式登录微信给好友发送消息

程序员文章站 2022-07-12 15:17:57
...

环境:python3.7
安装 wxpy,requests
pip3 install wxpy
pip3 install requests
windows7
先要知道 金山词霸API接口:http://open.iciba.com/dsapi

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from threading import Timer
from itchat.content import *
import requests
import itchat
from wxpy import *   

#获取金山词霸每日一句英语
def getNews():
	#打开金山词霸开放平台API
	url = "http://open.iciba.com/dsapi"
	req = requests.get(url)
	#"content":"Interests are anchors, and I believe they will bring peace and even happiness in the end."
	contents = req.json()['content'] #仅仅只获取关键字为content对应的值
	trans = req.json()['translation']
	return contents,trans
#微信登录函数
def login_wechat():
	global bot
	bot = Bot()
#发送消息
def sendNews():
	bot = Bot() #开启微信登录
	#登录缓存信息,不需要每次去扫描登录
	#bot = Bot(cache_path=True)
	if bot == None:
		login_wechat()
	try:
		#1.想给谁发信息,先找到该朋友,备注名对应的UserName
		my_friend = bot.friends().search(name = r'小小')[0]
		#方法一:通过函数返回值一次性返回多个参数值
		new_cont, new_trans = getNews()
		#print(new_cont)
		#print(new_trans)
		#方法二:通过多次调用函数返回某个值
		msg1 = str(getNews()[0]) #获取金山词霸字典内容
		msg2 = str(getNews()[1][5:])
		#3.发送消息
		my_friend.send(new_cont)
		my_friend.send(new_trans)
		#每隔86400秒发送一次,每天发送一次
		Timer(86400,sendNews).start()
	except:
		print("发送失败")
		
if __name__ == '__main__':    
	sendNews()#函数调用