diff --git a/src/core/src/entities/constructor.ts b/src/core/src/entities/constructor.ts index d1c22e50..f6931f1d 100644 --- a/src/core/src/entities/constructor.ts +++ b/src/core/src/entities/constructor.ts @@ -8,6 +8,7 @@ import { SendPicElement, SendPttElement, SendReplyElement, + sendShareLocationElement, SendTextElement, SendVideoElement } from './index'; @@ -27,6 +28,16 @@ export const mFaceCache = new Map(); // emojiId -> faceName export class SendMsgElementConstructor { + static location(): sendShareLocationElement { + return { + elementType: ElementType.ARK, + elementId: '', + shareLocationElement: { + text: "测试", + ext: "" + } + } + } static text(content: string): SendTextElement { return { elementType: ElementType.TEXT, diff --git a/src/core/src/entities/msg.ts b/src/core/src/entities/msg.ts index df8594e1..e844690d 100644 --- a/src/core/src/entities/msg.ts +++ b/src/core/src/entities/msg.ts @@ -33,7 +33,8 @@ export enum ElementType { GreyTip = 8,//Poke别叫戳一搓了 官方名字拍一拍 戳一戳是另一个名字 ARK = 10, MFACE = 11, - MARKDOWN = 14 + MARKDOWN = 14, + SHARELOCATION = 28 } export interface SendTextElement { @@ -120,6 +121,15 @@ export interface SendMarketFaceElement { marketFaceElement: MarketFaceElement; } +export interface sendShareLocationElement { + elementType: ElementType.ARK; + elementId: string; + shareLocationElement: { + text: string; + ext: string; + } +} + export interface FileElement { fileMd5?: string; fileName: string; @@ -163,7 +173,7 @@ export interface SendMarkdownElement { } export type SendMessageElement = SendTextElement | SendPttElement | - SendPicElement | SendReplyElement | SendFaceElement | SendMarketFaceElement | SendFileElement | SendVideoElement | SendArkElement | SendMarkdownElement + SendPicElement | SendReplyElement | SendFaceElement | SendMarketFaceElement | SendFileElement | SendVideoElement | SendArkElement | SendMarkdownElement | sendShareLocationElement export enum AtType { notAt = 0, diff --git a/src/onebot11/action/msg/SendMsg/create-send-elements.ts b/src/onebot11/action/msg/SendMsg/create-send-elements.ts index 1c09da86..b5dd63d5 100644 --- a/src/onebot11/action/msg/SendMsg/create-send-elements.ts +++ b/src/onebot11/action/msg/SendMsg/create-send-elements.ts @@ -209,6 +209,10 @@ const _handlers: { [OB11MessageDataType.xml]: () => undefined, [OB11MessageDataType.poke]: () => undefined, + + [OB11MessageDataType.Location]: async () => { + return SendMsgElementConstructor.location(); + } }; const handlers = <{ diff --git a/src/onebot11/types/message.ts b/src/onebot11/types/message.ts index 552bf05b..560d4eed 100644 --- a/src/onebot11/types/message.ts +++ b/src/onebot11/types/message.ts @@ -59,7 +59,8 @@ export enum OB11MessageDataType { poke = 'poke', dice = 'dice', RPS = 'rps', - miniapp = 'miniapp'//json类 + miniapp = 'miniapp',//json类 + Location = "Location" } export interface OB11MessageMFace {