itchat微信群自动发送日报
itchat.auto_login()
这种方法将会通过微信扫描二维码登录,但是这种登录的方式确实短时间的登录,并不会保留登录的状态,也就是下次登录时还是需要扫描二维码,如果加上
hotReload==True
,那么就会保留登录的状态,至少在后面的几次登录过程中不会再次扫描二维码,该参数生成一个静态文件itchat.pkl
用于存储登录状态
send_msg
send_msg(msg='Text Message', toUserName=None)
,其中的的msg
是要发送的文本,toUserName
是发送对象, 如果留空, 将发送给自己,返回值为True
或者False
实例代码
import itchat
itchat.auto_login()
itchat.send_msg("hello world.")
send_file
send_file(fileDir, toUserName=None)
fileDir
是文件路径, 当文件不存在时, 将打印无此文件的提醒,返回值为True
或者False
实例代码
import itchat
itchat.auto_login()
itchat.send_file("/tmp/test.txt")
群聊
get_chatrooms
: 返回完整的群聊列表.
search_chatrooms
: 群聊搜索.
update_chatroom
: 获取群聊用户列表或更新该群聊.
- 群聊在首次获取中不会获取群聊的用户列表, 所以需要调用该命令才能获取群聊成员.
- 传入群聊的
UserName
, 返回特定群聊的详细信息.- 传入
UserName
组成的列表, 返回指定用户的最新信息组成的列表.
memberList = itchat.update_chatroom('@@abcdefg1234567', detailedMember=True)
- 创建群聊,增加/删除群聊用户:
- 由于之前通过群聊检测是否被好友拉黑的程序, 目前这三个方法都被严格限制了使用频率.
- 删除群聊需要本账号为管理员, 否则无效.
- 将用户加入群聊有直接加入与发送邀请, 通过
useInvitation
设置.- 超过 40 人的群聊无法使用直接加入的加入方式.
memberList = itchat.get_frients()[1:]
# 创建群聊, topic 键值为群聊名称.
chatroomUserName = itchat.create_chatroom(memberList, "test chatroom")
# 删除群聊内的用户
itchat.delete_member_from_chatroom(chatroomUserName, memberList[0])
# 增加用户进入群聊.
itchat.add_member_into_chatroom(chatroomUserName, memberList[0], useInvitation=False)
itchat微信群自动发送日报(itchat调用部分)
from datetime import datetime
import itchat
def SentChatRoomsMsg(name, context,filepath):
itchat.get_chatrooms(update=True)
iRoom = itchat.search_chatrooms(name)
for room in iRoom:
if room['NickName'] == name:
userName = room['UserName']
break
itchat.send_msg(context, userName)
itchat.send_file(filepath, userName)
print("发送时间:" + datetime.now().strftime("%Y-%m-%d %H:%M:%S") + "\n"
"发送到:" + name + "\n"
"发送内容:" + context + "\n")
print("*********************************************************************************")
def loginCallback():
print("***登录成功***")
def exitCallback():
print("***已退出***")
itchat.auto_login(hotReload=True, enableCmdQR=True, loginCallback=loginCallback, exitCallback=exitCallback)
SentChatRoomsMsg('项目运维群名','微信自动发送文件测试','python运行.pdf')