开源微信个人号 API | itchat 微信机器人( 三 )

  • 以上第3和4项功能可以一同使用:itchat.search_friends(name='小白', wechatAccount='littleboy')
  • 3、更新用户信息的方法为 update_friend , 该方法需要传入用户的 UserName , 返回指定用户的最新信息 。当然也可以传入 UserName 组成的列表 , 那么相应的也会返回指定用户的最新信息组成的列表 。
    公众号1、公众号的获取方法为 get_mps , 将会返回完整的公众号列表:
    • 其中每个公众号为一个字典
    • 传入 update 键为 True 将可以更新公众号列表并返回
    2、公众号的搜索方法为 search_mps , 有两种搜索方法:
    • 获取特定 UserName 的公众号:search_mps(userName='公众号名')
    • 获取名字中含有特定字符的公众号 , 返回值为一个字典的列表:search_mps(name='littleboy')
    群聊1、群聊的获取方法为 get_chatrooms , 将会返回完整的群聊列表:
    • 其中每个群聊为一个字典
    • 传入 update 键为 True 将可以更新群聊列表并返回通讯录中保存的群聊列表
    • 群聊列表为后台自动更新 , 如果中途意外退出存在极小的概率产生本地群聊消息与后台不同步
    • 为了保证群聊信息在热启动中可以被正确的加载 , 即使不需要持续在线的程序也需要运行 itchat.run()
    • 如果不想要运行上述命令 , 请在退出程序前调用 itchat.dump_login_status() , 更新热拔插需要的信息
    2、群聊的搜索方法为 search_chatrooms , 有两种搜索方法 , 分别是通过传参 userName 和 name 进行搜索 , 方式同公众号搜索相似 。
    3、群聊用户列表的获取方法为 update_chatroom , 同时需要关注以下几点:
    • 如果想要更新该群聊的其他信息也可以用该方法
    • 群聊在首次获取中不会获取群聊的用户列表 , 所以需要调用该命令才能获取群聊的成员
    • 该方法需要传入群聊的 UserName , 返回特定群聊的详细信息
    • 同样也可以传入 UserName 组成的列表 , 那么相应的也会返回指定用户的最新信息组成的列表
    4、创建、增加、删除群聊用户的方法如下所示:
    memberList = itchat.get_friends()[1:]# 创建群聊 , topic键值为群聊名chatroomName = itchat.create_chatroom(memberList, '测试群聊')# 删除群聊内的群友itchat.delete_member_from_chatroom(chatroomName, memberList[0])# 增加好友进入群聊itchat.add_member_into_chatroom(chatroomName, memberList[0], useInvitation=False)不过还需要注意以下几点:
    • 由于之前通过群聊检测是否被好友拉黑的程序 , 目前这三个方法都被严格限制了使用频率
    • 删除群聊需要本账号为群管理员 , 否则会失败
    • 将用户加入群聊有直接加入与发送邀请 , 通过 useInvitation 设置
    • 超过40人的群聊无法使用直接加入的加入方式 , 特别注意
    总结本文为大家简单介绍了 itchat 所提供的大部分功能 , 通过这些功能我们完全可以非常方便的开发出一个微信聊天机器人 。还有目前微信对新账号有限制 , 即不能登陆微信网页版 , 所以这种账号也不能通过 itchat 登陆 。另外 GitHub 上也有很多基于 itchat 做的开源机器人项目 , 有兴趣可以去搜索 , 再次感谢各位开源作者的贡献 。
    参考
    • itchat 文档:https://itchat.readthedocs.io/zh/latest/




    推荐阅读