⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qq.java

📁 MilyQQ是一个使用控制台的QQ客户端,基于LumaQQ的核心JQL包开发,只有一个可执行的jar包(MilyQQ.jar),携带方便,由于是Java程序,因此理论上应该可以运行于所有平台,不过基于
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
	/** 得到天气数据 */
	public static final byte QQ_SUB_CMD_GET_WEATHER = 0x01;

	// 这两个常量用在下载好友分组时
	/** 号码类型 - 号码代表一个用户 */
	public static final byte QQ_ID_IS_FRIEND = 0x1;
	/** 号码类型 - 号码是一个群 */
	public static final byte QQ_ID_IS_CLUSTER = 0x4;

	// 消息类型,就是ReceiveIMHeader中的类型,对于有些类型,我们做为通知来处理
	//    而不是显示在消息窗口中,比如请求加入,验证之类的消息
	/** 来自好友的消息 */
	public static final char QQ_RECV_IM_FRIEND = 0x0009;
	/** 来自陌生人的消息 */
	public static final char QQ_RECV_IM_STRANGER = 0x000A;
	/** 手机短消息 - 普通绑定用户 */
	public static final char QQ_RECV_IM_BIND_USER = 0x000B;
	/** 手机短消息 - 普通手机 */
	public static final char QQ_RECV_IM_MOBILE = 0x000C;
	/** 手机短消息 - 移动QQ用户 */
	public static final char QQ_RECV_IM_MOBILE_QQ = 0x0013;
	/** 手机短消息 - 移动QQ用户(使用手机号描述) */
	public static final char QQ_RECV_IM_MOBILE_QQ_2 = 0x0014;
	/** 临时会话消息 */
	public static final char QQ_RECV_IM_TEMP_SESSION = 0x001F;
	/** 未知类型的群消息,在2003时是普通群消息 */
	public static final char QQ_RECV_IM_UNKNOWN_CLUSTER = 0x0020;
	/** 通知我被加入到一个群,这个群先前已经建立,我是后来被加的 */
	public static final char QQ_RECV_IM_ADDED_TO_CLUSTER = 0x0021;
	/** 我被踢出一个群 */
	public static final char QQ_RECV_IM_DELETED_FROM_CLUSTER = 0x0022;
	/** 有人请求加入群 */
	public static final char QQ_RECV_IM_REQUEST_JOIN_CLUSTER = 0x0023;
	/** 同意对方加入群 */
	public static final char QQ_RECV_IM_APPROVE_JOIN_CLUSTER = 0x0024;
	/** 拒绝对方加入群 */
	public static final char QQ_RECV_IM_REJECT_JOIN_CLUSTER = 0x0025;
	/** 通知我被加入到一个群,我是在群被创建的时候就被加的 */
	public static final char QQ_RECV_IM_CREATE_CLUSTER = 0x0026;
	/** 临时群消息 */
	public static final char QQ_RECV_IM_TEMP_CLUSTER = 0x002A;
	/** 固定群消息 */
	public static final char QQ_RECV_IM_CLUSTER = 0x002B;
	/** 群通知 */
	public static final char QQ_RECV_IM_CLUSTER_NOTIFICATION = 0x002C;
	/** 收到的系统消息 */
	public static final char QQ_RECV_IM_SYS_MESSAGE = 0x0030;
	/** 收到个性签名改变通知 */
	public static final char QQ_RECV_IM_SIGNATURE = 0x0041;

	// 移动QQ手机短信的发送者描述类型
	/** 用QQ号描述发送者 */
	public static final byte QQ_MOBILE_QQ_BY_QQ = 0x00;
	/** 用手机号码描述发送者 */
	public static final byte QQ_MOBILE_QQ_BY_MOBILE = 0x01;

	// 系统消息类型
	/** 同一个QQ号在其他地方登录,我被踢出 */
	public static final byte QQ_RECV_IM_KICK_OUT = 0x01;

	// 消息类型,这个类型比上面的类型又再低一级,他们基本从属于QQ_RECV_IM_TO_BUDDY
	// 所以他们是normalIMHeader中的类型
	/** 普通文件消息 */
	public static final char QQ_IM_TYPE_TEXT = 0x000B;
	/** 一个TCP连接请求 */
	public static final char QQ_IM_TYPE_TCP_REQUEST = 0x0001;
	/** 接收TCP连接请求 */
	public static final char QQ_IM_TYPE_ACCEPT_TCP_REQUEST = 0x0003;
	/** 拒绝TCP连接请求 */
	public static final char QQ_IM_TYPE_REJECT_TCP_REQUEST = 0x0005;
	/** UDP连接请求 */
	public static final char QQ_IM_TYPE_UDP_REQUEST = 0x0035;
	/** 接受UDP连接请求 */
	public static final char QQ_IM_TYPE_ACCEPT_UDP_REQUEST = 0x0037;
	/** 拒绝UDP连接请求 */
	public static final char QQ_IM_TYPE_REJECT_UDP_REQUEST = 0x0039;
	/** 通知文件传输端口 */
	public static final char QQ_IM_TYPE_NOTIFY_IP = 0x003B;
	/** 请求对方主动连接 */
	public static final char QQ_IM_TYPE_ARE_YOU_BEHIND_FIREWALL = 0x003F;
	/** 未知含意 */
	public static final char QQ_IM_TYPE_ARE_YOU_BEHIND_PROXY = 0x0041;
	/** 未知含意,0x0041的回复 */
	public static final char QQ_IM_TYPE_YES_I_AM_BEHIND_PROXY = 0x0042;
	/** 通知文件中转服务器信息 */
	public static final char QQ_IM_TYPE_NOTIFY_FILE_AGENT_INFO = 0x004B;
	/** 取消TCP或者UDP连接请求 */
	public static final char QQ_IM_TYPE_REQUEST_CANCELED = 0x0049;

	// 以下常量用于QQ短信功能
	/** 短消息发送者最大名称字节长度 */
	public static final int QQ_MAX_SMS_SENDER_NAME = 13;
	/** 接受者手机号最大长度 */
	public static final int QQ_MAX_SMS_MOBILE_LENGTH = 18;
	/** 短信发送时,发送者名称和短信内容的字符数之和的最大值 */
	public static final int QQ_MAX_SMS_LENGTH = 58;
	/** 发送模式 - 免提短信 */
	public static final byte QQ_SMS_MODE_HAND_FREE = 0x20;
	/** 发送模式 - 普通 */
	public static final byte QQ_SMS_MODE_NORMAL = 0x00;
	/** 短消息内容 - 普通短消息 */
	public static final byte QQ_SMS_CONTENT_NORMAL = 0x00;
	/** 短消息内容 - 言语传情 */
	public static final byte QQ_SMS_CONTENT_LOVE_WORD = 0x01;
	/** 短消息内容 - 精美图片 */
	public static final byte QQ_SMS_CONTENT_PICTURE = 0x02;
	/** 短消息内容 - 悦耳铃声 */
	public static final byte QQ_SMS_CONTENT_RING = 0x03;

	// 以下常量用于消息中的表情,对于自定义表情的表示格式参考NormalIM.java的注释
	/** 缺省表情前导字节 */
	public static final byte QQ_TAG_DEFAULT_FACE = 0x14;
	/** 自定义表情前导字节 */
	public static final byte QQ_TAG_CUSTOM_FACE = 0x15;
	/** 该自定义表情在普通消息中第一次出现 */
	public static final byte QQ_TAG_NEW_CUSTOM_FACE = 0x33;
	/** 该自定义表情在普通消息中已经出现过 */
	public static final byte QQ_TAG_EXISTING_CUSTOM_FACE = 0x34;
	/** 该自定义表情在群消息中第一次出现 */
	public static final byte QQ_TAG_NEW_CUSTOM_FACE_CLUSTER = 0x36;
	/** 该自定义表情在群消息中已经出现过, 2004协议 */
	public static final byte QQ_TAG_EXISTING_CUSTOM_FACE_CLUSTER = 0x37;
	/** 自定义表情类型1,未知含义 */
	public static final byte QQ_TAG_CUSTOM_FACE_UNKNOWN_1 = 0x38;
	/** 自定义表情类型2,未知含义 */
	public static final byte QQ_TAG_CUSTOM_FACE_UNKNOWN_2 = 0x39;

	// 认证类型,加一个人为好友时是否需要验证等等
	/** 不需认证 */
	public static final byte QQ_AUTH_NO = 0;
	/** 需要认证 */
	public static final byte QQ_AUTH_NEED = 1;
	/** 对方拒绝加好友 */
	public static final byte QQ_AUTH_REJECT = 2;

	// 认证类型,加入一个群是否需要验证等等
	/** 不需认证 */
	public static final byte QQ_AUTH_CLUSTER_NO = 1;
	/** 需要认证 */
	public static final byte QQ_AUTH_CLUSTER_NEED = 2;
	/** 群拒绝添加成员 */
	public static final byte QQ_AUTH_CLUSTER_REJECT = 3;

	// 这三个常量用在添加好友认证的包中,表示你是请求,或者你拒绝还是同意别人的请求
	/** 通过认证 */
	public static final byte QQ_MY_AUTH_APPROVE = 0x30;
	/** 拒绝认证  */
	public static final byte QQ_MY_AUTH_REJECT = 0x31;
	/** 请求认证 */
	public static final byte QQ_MY_AUTH_REQUEST = 0x32;

	// 联系方法的可见类型
	/** 完全公开 */
	public static final int QQ_CONTACT_OPEN = 0;
	/** 仅好友可见 */
	public static final int QQ_CONTACT_ONLY_FRIENDS = 1;
	/** 完全保密 */
	public static final int QQ_CONTACT_CLOSE = 2;

	// 系统通知的类型
	/** 自己被别人加为好友 */
	public static final int QQ_SYS_BEING_ADDED = 1;
	/**
	 * 对方请求加你为好友
	 * 当对方不使用0x00A8命令发送认证消息,才会收到此系统通知
	 */
	public static final int QQ_SYS_ADD_FRIEND_REQUEST = 2;
	/** 同意对方加自己为好友 */
	public static final int QQ_SYS_ADD_FRIEND_APPROVED = 3;
	/** 拒绝对方加自己为好友 */
	public static final int QQ_SYS_ADD_FRIEND_REJECTED = 4;
	/** 广告 */
	public static final int QQ_SYS_ADVERTISEMENT = 6;
	/** 未知含意 */
	public static final int QQ_SYS_UPDATE_HINT = 9;
	/** 对方把你加为了好友 */
	public static final int QQ_SYS_BEING_ADDED_EX = 40;
	/**
	 * 对方请求加你为好友
	 * 当对方使用0x00A8命令发送认证消息,才会收到此系统通知
	 */
	public static final int QQ_SYS_ADD_FRIEND_REQUEST_EX = 41;

	// QQ_SYS_ADD_FRIEND_REQUEST_EX消息中的最后一个字节标志,是否允许对方加自己为好友
	public static final byte QQ_FLAG_ALLOW_ADD_REVERSE = 0x01;
	public static final byte QQ_FLAG_NOT_ALLOW_ADD_REVERSE = 0x02;

	// 这是搜索用户时指定的搜索类类型,比如是查看全部在线用户,还是自定义查找
	/** 看谁在线上 */
	public static final byte QQ_SEARCH_ALL = 0x31;
	/** 自定义搜索 */
	public static final byte QQ_SEARCH_CUSTOM = 0x30;

    /** QQ文件传送包的头部字节长度 */
    public static final int QQ_LENGTH_FILE_PACKET_HEADER = 12;

    // 文件数据信息包的命令类型
    /** heart beat */
    public static final char QQ_FILE_CMD_HEART_BEAT 			= 0x0001;
    /** heart beat的确认 */
    public static final char QQ_FILE_CMD_HEART_BEAT_ACK 		= 0x0002;
    /** 文件传输已完成 */
    public static final char QQ_FILE_CMD_TRANSFER_FINISHED 		= 0x0003;
    /** 文件操作 */
    public static final char QQ_FILE_CMD_FILE_OP 				= 0x0007;
    /** 文件操作的确认 */
    public static final char QQ_FILE_CMD_FILE_OP_ACK 			= 0x0008;

    // QQ_FILE_CMD_FILE_OP携带的信息类型
    /** 文件基本信息 */
    public static final byte QQ_FILE_BASIC_INFO = 0x1;
    /** 文件数据 */
    public static final byte QQ_FILE_DATA_INFO = 0x2;
    /** 文件EOF */
    public static final byte QQ_FILE_EOF = 0x3;

    // 文件控制信息传输包的命令类型
    /** 发送者say hello */
    public static final char QQ_FILE_CMD_SENDER_SAY_HELLO 		  = 0x0031;
    /** 对发送者hello的确认 */
    public static final char QQ_FILE_CMD_SENDER_SAY_HELLO_ACK	  = 0x0032;
    /** 接收者say hello */
    public static final char QQ_FILE_CMD_RECEIVER_SAY_HELLO		  = 0x0033;
    /** 对接受者hello的确认 */
    public static final char QQ_FILE_CMD_RECEIVER_SAY_HELLO_ACK	  = 0x0034;
    /** 对通知IP的确认,即对QQ_IM_NOTIFY_IP的确认 */
    public static final char QQ_FILE_CMD_NOTIFY_IP_ACK 			  = 0x003C;
    /** 试探连接 */
    public static final char QQ_FILE_CMD_PING    				  = 0x003D;
    /** 试探连接的确认 */
    public static final char QQ_FILE_CMD_PONG 					  = 0x003E;
    /** 主动连接对方 */
    public static final char QQ_FILE_CMD_YES_I_AM_BEHIND_FIREWALL = 0x0040;

    // 文件中转信息包的命令类型
    /** 发送者请求对方提供中转服务 */
    public static final char QQ_FILE_CMD_REQUEST_AGENT = 0x0001;
    /** 接收者向中转服务器报到 */
    public static final char QQ_FILE_CMD_CHECK_IN = 0x0002;
    /** 转发包,这个包里面内嵌着一个文件数据信息包 */
    public static final char QQ_FILE_CMD_FORWARD = 0x0003;
    /** 传输结束 */
    public static final char QQ_FILE_CMD_FORWARD_FINISHED = 0x0004;
    /** 服务器通知可以开始传输数据 */
    public static final char QQ_FILE_CMD_IT_IS_TIME = 0x0005;
    /** 我已经准备好 */
    public static final char QQ_FILE_CMD_I_AM_READY = 0x0006;

    // QQ_FILE_CMD_REQUEST_AGENT命令的应答类型
    /** 批准中转请求 */
    public static final char QQ_FILE_AGENT_SERVICE_APPROVED = 0x0000;
    /** 我现在忙,你找别人吧 */
    public static final char QQ_FILE_AGENT_SERVICE_REDIRECTED = 0x0001;

    // 传输类型
    /** 传输文件 */
    public static final byte QQ_TRANSFER_FILE = 0x65;
    /** 传输自定义表情 */
    public static final byte QQ_TRANSFER_FACE = 0x6B;

    // 请求传送文件消息中的一个标志字节,传输类型之后那个,意思不明,姑且这样
    /** UDP,可能不是这意思 */
    public static final byte QQ_TRANSFER_FILE_UDP = 0;
    /** 直接UDP,可能不是这意思 */
    public static final byte QQ_TRANSFER_FILE_DIRECT_UDP = 1;
    /** TCP,可能不是这意思 */
    public static final byte QQ_TRANSFER_FILE_TCP = 2;
    /** 直接TCP,可能不是这意思 */
    public static final byte QQ_TRANSFER_FILE_DIRECT_TCP = 3;

	// 传送文件的各种情况,每种情况有其对应的连接策略,这个和协议无关,我自己定义的
    /** 双方位于同一个防火墙后 */
	public static final int QQ_SAME_LAN = 0;
	/** 双方都不在防火墙后 */
	public static final int QQ_NONE_BEHIND_FIREWALL = 1;
	/** 我在防火墙后 */
	public static final int QQ_I_AM_BEHIND_FIREWALL = 2;
	/** 他在防火墙后 */
	public static final int QQ_HE_IS_BEHIND_FIREWALL = 3;
	/** 双方在不同的防火墙后 */
	public static final int QQ_ALL_BEHIND_FIREWALL = 4;

	// say hello时的hello byte,不同的情况这个字节不一样
	/** 双方位于同一个防火墙后的Hello */
	public static final byte QQ_SAME_IN_TO_SAME_IN_HELLO = 0;
	/** 一个人在防火墙后,内部的人是发送方时的Hello */
	public static final byte QQ_IN_TO_OUT_HELLO = 1;
	/** 一个人在防火墙后,外部的人是发送方时的Hello */
	public static final byte QQ_OUT_TO_IN_HELLO = 2;
	/** 两个都不在防火墙内时的Hello */
	public static final byte QQ_OUT_TO_OUT_HELLO = 0;

	/** 最大的做MD5的长度,当传送一个文件时,如果这个文件很大,则只对文件的前面一部分做MD5 */
	public static final int QQ_MAX_FILE_MD5_LENGTH = 10002432;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -