WeChatFerry/WeChatFerry/rpc/proto/wcf.proto
2023-12-03 16:35:42 +08:00

198 lines
4.8 KiB
Protocol Buffer
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

syntax = "proto3";
package wcf;
option java_package = "com.iamteer";
enum Functions {
FUNC_RESERVED = 0x00;
FUNC_IS_LOGIN = 0x01;
FUNC_GET_SELF_WXID = 0x10;
FUNC_GET_MSG_TYPES = 0x11;
FUNC_GET_CONTACTS = 0x12;
FUNC_GET_DB_NAMES = 0x13;
FUNC_GET_DB_TABLES = 0x14;
FUNC_GET_USER_INFO = 0x15;
FUNC_GET_AUDIO_MSG = 0x16;
FUNC_SEND_TXT = 0x20;
FUNC_SEND_IMG = 0x21;
FUNC_SEND_FILE = 0x22;
FUNC_SEND_XML = 0x23;
FUNC_SEND_EMOTION = 0x24;
FUNC_ENABLE_RECV_TXT = 0x30;
FUNC_DISABLE_RECV_TXT = 0x40;
FUNC_EXEC_DB_QUERY = 0x50;
FUNC_ACCEPT_FRIEND = 0x51;
FUNC_RECV_TRANSFER = 0x52;
FUNC_REFRESH_PYQ = 0x53;
FUNC_DOWNLOAD_ATTACH = 0x54;
FUNC_GET_CONTACT_INFO = 0x55;
FUNC_REVOKE_MSG = 0x56;
FUNC_DECRYPT_IMAGE = 0x60;
FUNC_ADD_ROOM_MEMBERS = 0x70;
FUNC_DEL_ROOM_MEMBERS = 0x71;
}
message Request
{
Functions func = 1;
oneof msg
{
Empty empty = 2;
string str = 3;
TextMsg txt = 4;
PathMsg file = 5;
DbQuery query = 6;
Verification v = 7;
AddMembers m = 8;
XmlMsg xml = 9;
DecPath dec = 10;
Transfer tf = 11;
uint64 ui64 = 12; // 64 位整数,通用
bool flag = 13;
AttachMsg att = 14;
AudioMsg am = 15;
}
}
message Response
{
Functions func = 1;
oneof msg
{
int32 status = 2; // Int 状态,通用
string str = 3; // 字符串
WxMsg wxmsg = 4; // 微信消息
MsgTypes types = 5; // 消息类型
RpcContacts contacts = 6; // 联系人
DbNames dbs = 7; // 数据库列表
DbTables tables = 8; // 表列表
DbRows rows = 9; // 行列表
UserInfo ui = 10; // 个人信息
};
}
message Empty { }
message WxMsg
{
bool is_self = 1; // 是否自己发送的
bool is_group = 2; // 是否群消息
uint64 id = 3; // 消息 id
uint32 type = 4; // 消息类型
uint32 ts = 5; // 消息类型
string roomid = 6; // 群 id如果是群消息的话
string content = 7; // 消息内容
string sender = 8; // 消息发送者
string sign = 9; // Sign
string thumb = 10; // 缩略图
string extra = 11; // 附加内容
string xml = 12; // 消息 xml
}
message TextMsg
{
string msg = 1; // 要发送的消息内容
string receiver = 2; // 消息接收人,当为群时可@
string aters = 3; // 要@的人列表,逗号分隔
}
message PathMsg
{
string path = 1; // 要发送的图片的路径
string receiver = 2; // 消息接收人
}
message XmlMsg
{
string receiver = 1; // 消息接收人
string content = 2; // xml 内容
string path = 3; // 图片路径
int32 type = 4; // 消息类型
}
message MsgTypes { map<int32, string> types = 1; }
message RpcContact
{
string wxid = 1; // 微信 id
string code = 2; // 微信号
string remark = 3; // 备注
string name = 4; // 微信昵称
string country = 5; // 国家
string province = 6; // 省/州
string city = 7; // 城市
int32 gender = 8; // 性别
}
message RpcContacts { repeated RpcContact contacts = 1; }
message DbNames { repeated string names = 1; }
message DbTable
{
string name = 1; // 表名
string sql = 2; // 建表 SQL
}
message DbTables { repeated DbTable tables = 1; }
message DbQuery
{
string db = 1; // 目标数据库
string sql = 2; // 查询 SQL
}
message DbField
{
int32 type = 1; // 字段类型
string column = 2; // 字段名称
bytes content = 3; // 字段内容
}
message DbRow { repeated DbField fields = 1; }
message DbRows { repeated DbRow rows = 1; }
message Verification
{
string v3 = 1; // 加密的用户名
string v4 = 2; // Ticket
int32 scene = 3; // 添加方式17 名片30 扫码
}
message AddMembers
{
string roomid = 1; // 要加的群ID
string wxids = 2; // 要加群的人列表,逗号分隔
}
message UserInfo
{
string wxid = 1; // 微信ID
string name = 2; // 昵称
string mobile = 3; // 手机号
string home = 4; // 文件/图片等父路径
}
message DecPath
{
string src = 1; // 源路径
string dst = 2; // 目标路径
}
message Transfer
{
string wxid = 1; // 转账人
string tfid = 2; // 转账id transferid
string taid = 3; // Transaction id
}
message AttachMsg
{
uint64 id = 1; // 消息 id
string thumb = 2; // 消息中的 thumb
string extra = 3; // 消息中的 extra
}
message AudioMsg
{
uint64 id = 1; // 语音消息 id
string dir = 2; // 存放目录
}