mirror of
https://github.com/LLOneBot/LLOneBot.git
synced 2024-11-22 01:56:33 +00:00
refactor
This commit is contained in:
parent
5b90a25f8f
commit
c6dddcd664
@ -12,7 +12,7 @@
|
||||
"deploy-win": "cmd /c \"xcopy /C /S /Y dist\\* %LITELOADERQQNT_PROFILE%\\plugins\\LLOneBot\\\"",
|
||||
"format": "prettier -cw .",
|
||||
"check": "tsc",
|
||||
"compile:proto": "pbjs --no-create --no-convert --no-encode --no-verify -t static-module -w es6 -p src/ntqqapi/proto -o src/ntqqapi/proto/compiled.js systemMessage.proto profileLikeTip.proto groupMemberIncrease.proto && pbts -o src/ntqqapi/proto/compiled.d.ts src/ntqqapi/proto/compiled.js"
|
||||
"compile:proto": "pbjs --no-create --no-convert --no-encode --no-verify -t static-module -w es6 -p src/ntqqapi/proto -o src/ntqqapi/proto/compiled.js systemMessage.proto profileLikeTip.proto groupMemberChange.proto && pbts -o src/ntqqapi/proto/compiled.d.ts src/ntqqapi/proto/compiled.js"
|
||||
},
|
||||
"author": "",
|
||||
"license": "MIT",
|
||||
|
@ -171,7 +171,7 @@ function onLoad() {
|
||||
log(arg)
|
||||
})
|
||||
|
||||
const intervalId = setInterval(() => {
|
||||
const intervalId = setInterval(async () => {
|
||||
const self = Object.assign(selfInfo, {
|
||||
uin: globalThis.authData?.uin,
|
||||
uid: globalThis.authData?.uid,
|
||||
@ -185,6 +185,7 @@ function onLoad() {
|
||||
|
||||
if (config.enableLLOB && (config.satori.enable || config.ob11.enable)) {
|
||||
startHook()
|
||||
await ctx.sleep(300)
|
||||
} else {
|
||||
llonebotError.otherError = 'LLOneBot 未启动'
|
||||
log('LLOneBot 开关设置为关闭,不启动 LLOneBot')
|
||||
|
@ -173,7 +173,7 @@ export class NTQQUserApi extends Service {
|
||||
|
||||
async getUinByUidV2(uid: string) {
|
||||
let uin = (await invoke('nodeIKernelGroupService/getUinByUids', [{ uidList: [uid] }])).uins.get(uid)
|
||||
if (uin) return uin
|
||||
if (uin && uin !== '0') return uin
|
||||
uin = (await invoke('nodeIKernelProfileService/getUinByUid', [{ callFrom: 'FriendsServiceImpl', uid: [uid] }])).get(uid)
|
||||
if (uin) return uin
|
||||
uin = (await invoke('nodeIKernelUixConvertService/getUin', [{ uids: [uid] }])).uinInfo.get(uid)
|
||||
|
42
src/ntqqapi/proto/compiled.d.ts
vendored
42
src/ntqqapi/proto/compiled.d.ts
vendored
@ -461,64 +461,64 @@ export namespace SysMsg {
|
||||
public static getTypeUrl(typeUrlPrefix?: string): string;
|
||||
}
|
||||
|
||||
/** Properties of a GroupMemberIncrease. */
|
||||
interface IGroupMemberIncrease {
|
||||
/** Properties of a GroupMemberChange. */
|
||||
interface IGroupMemberChange {
|
||||
|
||||
/** GroupMemberIncrease groupCode */
|
||||
/** GroupMemberChange groupCode */
|
||||
groupCode?: (number|null);
|
||||
|
||||
/** GroupMemberIncrease memberUid */
|
||||
/** GroupMemberChange memberUid */
|
||||
memberUid?: (string|null);
|
||||
|
||||
/** GroupMemberIncrease type */
|
||||
/** GroupMemberChange type */
|
||||
type?: (number|null);
|
||||
|
||||
/** GroupMemberIncrease adminUid */
|
||||
/** GroupMemberChange adminUid */
|
||||
adminUid?: (string|null);
|
||||
}
|
||||
|
||||
/** Represents a GroupMemberIncrease. */
|
||||
class GroupMemberIncrease implements IGroupMemberIncrease {
|
||||
/** Represents a GroupMemberChange. */
|
||||
class GroupMemberChange implements IGroupMemberChange {
|
||||
|
||||
/**
|
||||
* Constructs a new GroupMemberIncrease.
|
||||
* Constructs a new GroupMemberChange.
|
||||
* @param [properties] Properties to set
|
||||
*/
|
||||
constructor(properties?: SysMsg.IGroupMemberIncrease);
|
||||
constructor(properties?: SysMsg.IGroupMemberChange);
|
||||
|
||||
/** GroupMemberIncrease groupCode. */
|
||||
/** GroupMemberChange groupCode. */
|
||||
public groupCode: number;
|
||||
|
||||
/** GroupMemberIncrease memberUid. */
|
||||
/** GroupMemberChange memberUid. */
|
||||
public memberUid: string;
|
||||
|
||||
/** GroupMemberIncrease type. */
|
||||
/** GroupMemberChange type. */
|
||||
public type: number;
|
||||
|
||||
/** GroupMemberIncrease adminUid. */
|
||||
/** GroupMemberChange adminUid. */
|
||||
public adminUid: string;
|
||||
|
||||
/**
|
||||
* Decodes a GroupMemberIncrease message from the specified reader or buffer.
|
||||
* Decodes a GroupMemberChange message from the specified reader or buffer.
|
||||
* @param reader Reader or buffer to decode from
|
||||
* @param [length] Message length if known beforehand
|
||||
* @returns GroupMemberIncrease
|
||||
* @returns GroupMemberChange
|
||||
* @throws {Error} If the payload is not a reader or valid buffer
|
||||
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
||||
*/
|
||||
public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): SysMsg.GroupMemberIncrease;
|
||||
public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): SysMsg.GroupMemberChange;
|
||||
|
||||
/**
|
||||
* Decodes a GroupMemberIncrease message from the specified reader or buffer, length delimited.
|
||||
* Decodes a GroupMemberChange message from the specified reader or buffer, length delimited.
|
||||
* @param reader Reader or buffer to decode from
|
||||
* @returns GroupMemberIncrease
|
||||
* @returns GroupMemberChange
|
||||
* @throws {Error} If the payload is not a reader or valid buffer
|
||||
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
||||
*/
|
||||
public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): SysMsg.GroupMemberIncrease;
|
||||
public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): SysMsg.GroupMemberChange;
|
||||
|
||||
/**
|
||||
* Gets the default type url for GroupMemberIncrease
|
||||
* Gets the default type url for GroupMemberChange
|
||||
* @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
|
||||
* @returns The default type url
|
||||
*/
|
||||
|
@ -1015,27 +1015,27 @@ export const SysMsg = $root.SysMsg = (() => {
|
||||
return ProfileLikeTip;
|
||||
})();
|
||||
|
||||
SysMsg.GroupMemberIncrease = (function() {
|
||||
SysMsg.GroupMemberChange = (function() {
|
||||
|
||||
/**
|
||||
* Properties of a GroupMemberIncrease.
|
||||
* Properties of a GroupMemberChange.
|
||||
* @memberof SysMsg
|
||||
* @interface IGroupMemberIncrease
|
||||
* @property {number|null} [groupCode] GroupMemberIncrease groupCode
|
||||
* @property {string|null} [memberUid] GroupMemberIncrease memberUid
|
||||
* @property {number|null} [type] GroupMemberIncrease type
|
||||
* @property {string|null} [adminUid] GroupMemberIncrease adminUid
|
||||
* @interface IGroupMemberChange
|
||||
* @property {number|null} [groupCode] GroupMemberChange groupCode
|
||||
* @property {string|null} [memberUid] GroupMemberChange memberUid
|
||||
* @property {number|null} [type] GroupMemberChange type
|
||||
* @property {string|null} [adminUid] GroupMemberChange adminUid
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constructs a new GroupMemberIncrease.
|
||||
* Constructs a new GroupMemberChange.
|
||||
* @memberof SysMsg
|
||||
* @classdesc Represents a GroupMemberIncrease.
|
||||
* @implements IGroupMemberIncrease
|
||||
* @classdesc Represents a GroupMemberChange.
|
||||
* @implements IGroupMemberChange
|
||||
* @constructor
|
||||
* @param {SysMsg.IGroupMemberIncrease=} [properties] Properties to set
|
||||
* @param {SysMsg.IGroupMemberChange=} [properties] Properties to set
|
||||
*/
|
||||
function GroupMemberIncrease(properties) {
|
||||
function GroupMemberChange(properties) {
|
||||
if (properties)
|
||||
for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
|
||||
if (properties[keys[i]] != null)
|
||||
@ -1043,52 +1043,52 @@ export const SysMsg = $root.SysMsg = (() => {
|
||||
}
|
||||
|
||||
/**
|
||||
* GroupMemberIncrease groupCode.
|
||||
* GroupMemberChange groupCode.
|
||||
* @member {number} groupCode
|
||||
* @memberof SysMsg.GroupMemberIncrease
|
||||
* @memberof SysMsg.GroupMemberChange
|
||||
* @instance
|
||||
*/
|
||||
GroupMemberIncrease.prototype.groupCode = 0;
|
||||
GroupMemberChange.prototype.groupCode = 0;
|
||||
|
||||
/**
|
||||
* GroupMemberIncrease memberUid.
|
||||
* GroupMemberChange memberUid.
|
||||
* @member {string} memberUid
|
||||
* @memberof SysMsg.GroupMemberIncrease
|
||||
* @memberof SysMsg.GroupMemberChange
|
||||
* @instance
|
||||
*/
|
||||
GroupMemberIncrease.prototype.memberUid = "";
|
||||
GroupMemberChange.prototype.memberUid = "";
|
||||
|
||||
/**
|
||||
* GroupMemberIncrease type.
|
||||
* GroupMemberChange type.
|
||||
* @member {number} type
|
||||
* @memberof SysMsg.GroupMemberIncrease
|
||||
* @memberof SysMsg.GroupMemberChange
|
||||
* @instance
|
||||
*/
|
||||
GroupMemberIncrease.prototype.type = 0;
|
||||
GroupMemberChange.prototype.type = 0;
|
||||
|
||||
/**
|
||||
* GroupMemberIncrease adminUid.
|
||||
* GroupMemberChange adminUid.
|
||||
* @member {string} adminUid
|
||||
* @memberof SysMsg.GroupMemberIncrease
|
||||
* @memberof SysMsg.GroupMemberChange
|
||||
* @instance
|
||||
*/
|
||||
GroupMemberIncrease.prototype.adminUid = "";
|
||||
GroupMemberChange.prototype.adminUid = "";
|
||||
|
||||
/**
|
||||
* Decodes a GroupMemberIncrease message from the specified reader or buffer.
|
||||
* Decodes a GroupMemberChange message from the specified reader or buffer.
|
||||
* @function decode
|
||||
* @memberof SysMsg.GroupMemberIncrease
|
||||
* @memberof SysMsg.GroupMemberChange
|
||||
* @static
|
||||
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
|
||||
* @param {number} [length] Message length if known beforehand
|
||||
* @returns {SysMsg.GroupMemberIncrease} GroupMemberIncrease
|
||||
* @returns {SysMsg.GroupMemberChange} GroupMemberChange
|
||||
* @throws {Error} If the payload is not a reader or valid buffer
|
||||
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
||||
*/
|
||||
GroupMemberIncrease.decode = function decode(reader, length) {
|
||||
GroupMemberChange.decode = function decode(reader, length) {
|
||||
if (!(reader instanceof $Reader))
|
||||
reader = $Reader.create(reader);
|
||||
let end = length === undefined ? reader.len : reader.pos + length, message = new $root.SysMsg.GroupMemberIncrease();
|
||||
let end = length === undefined ? reader.len : reader.pos + length, message = new $root.SysMsg.GroupMemberChange();
|
||||
while (reader.pos < end) {
|
||||
let tag = reader.uint32();
|
||||
switch (tag >>> 3) {
|
||||
@ -1117,37 +1117,37 @@ export const SysMsg = $root.SysMsg = (() => {
|
||||
};
|
||||
|
||||
/**
|
||||
* Decodes a GroupMemberIncrease message from the specified reader or buffer, length delimited.
|
||||
* Decodes a GroupMemberChange message from the specified reader or buffer, length delimited.
|
||||
* @function decodeDelimited
|
||||
* @memberof SysMsg.GroupMemberIncrease
|
||||
* @memberof SysMsg.GroupMemberChange
|
||||
* @static
|
||||
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
|
||||
* @returns {SysMsg.GroupMemberIncrease} GroupMemberIncrease
|
||||
* @returns {SysMsg.GroupMemberChange} GroupMemberChange
|
||||
* @throws {Error} If the payload is not a reader or valid buffer
|
||||
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
||||
*/
|
||||
GroupMemberIncrease.decodeDelimited = function decodeDelimited(reader) {
|
||||
GroupMemberChange.decodeDelimited = function decodeDelimited(reader) {
|
||||
if (!(reader instanceof $Reader))
|
||||
reader = new $Reader(reader);
|
||||
return this.decode(reader, reader.uint32());
|
||||
};
|
||||
|
||||
/**
|
||||
* Gets the default type url for GroupMemberIncrease
|
||||
* Gets the default type url for GroupMemberChange
|
||||
* @function getTypeUrl
|
||||
* @memberof SysMsg.GroupMemberIncrease
|
||||
* @memberof SysMsg.GroupMemberChange
|
||||
* @static
|
||||
* @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
|
||||
* @returns {string} The default type url
|
||||
*/
|
||||
GroupMemberIncrease.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
|
||||
GroupMemberChange.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
|
||||
if (typeUrlPrefix === undefined) {
|
||||
typeUrlPrefix = "type.googleapis.com";
|
||||
}
|
||||
return typeUrlPrefix + "/SysMsg.GroupMemberIncrease";
|
||||
return typeUrlPrefix + "/SysMsg.GroupMemberChange";
|
||||
};
|
||||
|
||||
return GroupMemberIncrease;
|
||||
return GroupMemberChange;
|
||||
})();
|
||||
|
||||
return SysMsg;
|
||||
|
@ -1,10 +1,9 @@
|
||||
syntax = "proto3";
|
||||
package SysMsg;
|
||||
|
||||
// GroupChange?
|
||||
message GroupMemberIncrease {
|
||||
message GroupMemberChange {
|
||||
uint32 groupCode = 1;
|
||||
string memberUid = 3;
|
||||
uint32 type = 4; // 130:主动 131:被邀请
|
||||
uint32 type = 4; // 130:主动 131:被动
|
||||
string adminUid = 5;
|
||||
}
|
@ -362,14 +362,22 @@ class OneBot11Adapter extends Service {
|
||||
const event = new OB11ProfileLikeEvent(detail.uin!, detail.nickname!, +times)
|
||||
this.dispatch(event)
|
||||
} else if (msgType === 33) {
|
||||
const tip = SysMsg.GroupMemberIncrease.decode(sysMsg.bodyWrapper!.body!)
|
||||
const tip = SysMsg.GroupMemberChange.decode(sysMsg.bodyWrapper!.body!)
|
||||
if (tip.type !== 130) return
|
||||
this.ctx.logger.info('群成员增加', tip)
|
||||
const memberUin = await this.ctx.ntUserApi.getUinByUid(tip.memberUid)
|
||||
const operatorUin = await this.ctx.ntUserApi.getUinByUid(tip.adminUid)
|
||||
const event = new OB11GroupIncreaseEvent(tip.groupCode, +memberUin, +operatorUin)
|
||||
this.dispatch(event)
|
||||
}
|
||||
}/* else if (msgType === 34) {
|
||||
const tip = SysMsg.GroupMemberChange.decode(sysMsg.bodyWrapper!.body!)
|
||||
this.ctx.logger.info('群成员减少', tip)
|
||||
const memberUin = await this.ctx.ntUserApi.getUinByUid(tip.memberUid)
|
||||
const operatorUin = await this.ctx.ntUserApi.getUinByUid(tip.adminUid) //0
|
||||
const subType = tip.type === 130 ? 'leave' : 'kick'
|
||||
const event = new OB11GroupDecreaseEvent(tip.groupCode, +memberUin, +operatorUin, subType)
|
||||
this.dispatch(event)
|
||||
}*/
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ export class OB11GroupDecreaseEvent extends OB11GroupNoticeEvent {
|
||||
constructor(groupId: number, userId: number, operatorId: number, subType: GroupDecreaseSubType = 'leave') {
|
||||
super()
|
||||
this.group_id = groupId
|
||||
this.operator_id = operatorId // 实际上不应该这么实现,但是现在还没有办法识别用户是被踢出的,还是自己主动退出的
|
||||
this.operator_id = operatorId
|
||||
this.user_id = userId
|
||||
this.sub_type = subType
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user