itchat包中的__init__.py是该库的入口;在该文件中的源码如下:

# -*- coding: utf-8 -*-

from . import content
from .core import Core
from .config import VERSION
from .log import set_logging __version__ = VERSION # 实例列表,添加处理微信的实例对象
instanceList = [] def new_instance():
"""
用于创建一个新的`Core`的实例化对象,并且返回,
newInstance = Core()是最终封装的实例化对象,封装了Storage,requests,等属性
"""
newInstance = Core()
instanceList.append(newInstance)
return newInstance # 封装`Core`的实例化对象在`originInstance`
# `originInstance` = `newInstance` = `Core()`
originInstance = new_instance() # I really want to use sys.modules[__name__] = originInstance
# but it makes auto-fill a real mess, so forgive me for my following **
# actually it toke me less than 30 seconds, god bless Uganda # components.login
# 在components.login中实现重构
login = originInstance.login
get_QRuuid = originInstance.get_QRuuid
get_QR = originInstance.get_QR
check_login = originInstance.check_login
web_init = originInstance.web_init
show_mobile_login = originInstance.show_mobile_login
start_receiving = originInstance.start_receiving
get_msg = originInstance.get_msg
logout = originInstance.logout
# components.contact
# 在components.contact中实现重构
update_chatroom = originInstance.update_chatroom
update_friend = originInstance.update_friend
get_contact = originInstance.get_contact
get_friends = originInstance.get_friends
get_chatrooms = originInstance.get_chatrooms
get_mps = originInstance.get_mps
set_alias = originInstance.set_alias
set_pinned = originInstance.set_pinned
add_friend = originInstance.add_friend
get_head_img = originInstance.get_head_img
create_chatroom = originInstance.create_chatroom
set_chatroom_name = originInstance.set_chatroom_name
delete_member_from_chatroom = originInstance.delete_member_from_chatroom
add_member_into_chatroom = originInstance.add_member_into_chatroom
# components.messages
# 在components.login中实现重构
send_raw_msg = originInstance.send_raw_msg
send_msg = originInstance.send_msg
upload_file = originInstance.upload_file
send_file = originInstance.send_file
send_image = originInstance.send_image
send_video = originInstance.send_video
send = originInstance.send
revoke = originInstance.revoke
# components.hotreload
# 在components.hotreload中实现重构
dump_login_status = originInstance.dump_login_status
load_login_status = originInstance.load_login_status
# components.register
# 在components.register中实现重构
auto_login = originInstance.auto_login
configured_reply = originInstance.configured_reply
msg_register = originInstance.msg_register
run = originInstance.run
# other functions
search_friends = originInstance.search_friends
search_chatrooms = originInstance.search_chatrooms
search_mps = originInstance.search_mps
set_logging = set_logging

最新文章

  1. 2-SAT 问题
  2. angularjs 迭代器
  3. timingFunction
  4. css3 切换贞动画的效果,仿gif效果
  5. Oracle bbed使用说明1
  6. 在DataTable中添加行和列数据
  7. javascript获取元素的计算样式
  8. [Javascript ] Array methods in depth - sort
  9. 2.4 statistical decision theory
  10. MongoDB 3.4版本, C# 驱动 2.4 操作
  11. go语言的数组和切片区别
  12. LeetCode之“动态规划”:Maximum Subarray
  13. 基于mysql的一些sql语法
  14. python基础篇_005_迭代器和生成器
  15. STL之迭代器(iterator)
  16. p57商环
  17. ibatis实战之插入数据(自动生成主键)
  18. sql 索引 sql_safe_updates
  19. c++——const关键字
  20. Mysql数据库的隔离级别

热门文章

  1. asp.net常用容器
  2. 沁园春·咏史
  3. android 点击返回键退出程序的方法
  4. Java路径获取
  5. Anaconda安装第三方模块
  6. LINQ查询知识总结
  7. 2014年辛星解读css第六节
  8. LeetCode OJ 之 Delete Node in a Linked List (删除链表中的结点)
  9. [Pulgin] 利用swfupload实现java文件批量上传
  10. this关键字和super关键字