python(常练思维不痴呆)

itchat微信群自动发送日报

2019-08-01  本文已影响0人  羋学僧

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')
学习资源
上一篇下一篇

猜你喜欢

热点阅读