feat: format scripts
This commit is contained in:
@@ -27,7 +27,7 @@ export interface SendDingTalkMessageOptions {
|
||||
export interface DingTalkMessageAt {
|
||||
atMobiles?: Array<string>;
|
||||
atUserIds?: Array<string>;
|
||||
isAtAll?: boolean,
|
||||
isAtAll?: boolean;
|
||||
}
|
||||
|
||||
export interface DingTalkTextMessage {
|
||||
@@ -36,38 +36,53 @@ export interface DingTalkTextMessage {
|
||||
}
|
||||
|
||||
export interface DingTalkMarkdownMessage {
|
||||
title?: string,
|
||||
title?: string;
|
||||
content: string;
|
||||
at?: DingTalkMessageAt;
|
||||
}
|
||||
|
||||
export async function sendDingTalkTextMessage(message: DingTalkTextMessage, options: SendDingTalkMessageOptions) {
|
||||
export async function sendDingTalkTextMessage(
|
||||
message: DingTalkTextMessage,
|
||||
options: SendDingTalkMessageOptions,
|
||||
) {
|
||||
return await sendDingTalkMessage({
|
||||
msgtype: "text",
|
||||
text: {
|
||||
content: message.content,
|
||||
}
|
||||
},
|
||||
}, options);
|
||||
}
|
||||
|
||||
export async function sendDingTalkMarkdownMessage(message: DingTalkMarkdownMessage, options: SendDingTalkMessageOptions) {
|
||||
export async function sendDingTalkMarkdownMessage(
|
||||
message: DingTalkMarkdownMessage,
|
||||
options: SendDingTalkMessageOptions,
|
||||
) {
|
||||
return await sendDingTalkMessage({
|
||||
msgtype: "markdown",
|
||||
markdown: {
|
||||
title: message.title || "untitled",
|
||||
text: message.content,
|
||||
}
|
||||
},
|
||||
}, options);
|
||||
}
|
||||
|
||||
// deno-lint-ignore no-explicit-any
|
||||
export async function sendDingTalkMessage(message: any, options: SendDingTalkMessageOptions) {
|
||||
export async function sendDingTalkMessage(
|
||||
// deno-lint-ignore no-explicit-any
|
||||
message: any,
|
||||
options: SendDingTalkMessageOptions,
|
||||
) {
|
||||
let send_url = options.base_url || BASE_DING_TALK_URL;
|
||||
send_url += "?access_token=" + encodeURIComponent(options.access_token);
|
||||
if (options.sec_token) {
|
||||
const timestamp = new Date().getTime();
|
||||
const timestamp_and_secret = `${timestamp}\n${options.sec_token}`;
|
||||
const sec_token_sign = hmac("sha256", options.sec_token, timestamp_and_secret, "utf8", "base64") as string;
|
||||
const sec_token_sign = hmac(
|
||||
"sha256",
|
||||
options.sec_token,
|
||||
timestamp_and_secret,
|
||||
"utf8",
|
||||
"base64",
|
||||
) as string;
|
||||
send_url += "×tamp=" + timestamp;
|
||||
send_url += "&sign=" + encodeURIComponent(sec_token_sign);
|
||||
}
|
||||
@@ -78,4 +93,3 @@ export async function sendDingTalkMessage(message: any, options: SendDingTalkMes
|
||||
throw `Send DingTalk message failed: ${send_ding_talk_resp_body.errcode}`;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user