mirror of
https://gitee.com/jack_whh/action-wechat-work.git
synced 2026-03-10 03:12:55 +08:00
140 lines
3.8 KiB
JavaScript
140 lines
3.8 KiB
JavaScript
const axios = require('axios');
|
|
|
|
const payload = {};
|
|
|
|
if (process.env.INPUT_MSGTYPE === 'text') {
|
|
|
|
payload.msgtype = process.env.INPUT_MSGTYPE;
|
|
|
|
if (!process.env.INPUT_CONTENT) {
|
|
console.log(`[action-wechat-work] INPUT_CONTENT is blank: ${process.env.INPUT_CONTENT}`);
|
|
}
|
|
|
|
payload.text = {
|
|
content: process.env.INPUT_CONTENT,
|
|
};
|
|
|
|
if (process.env.INPUT_MENTIONED_LIST) {
|
|
let mentioned_list;
|
|
try {
|
|
mentioned_list = JSON.parse(process.env.INPUT_MENTIONED_LIST);
|
|
} catch (error) {
|
|
mentioned_list = [];
|
|
console.log(`[action-wechat-work] INPUT_MENTIONED_LIST JSON.parse error: ${error}, JSON string: ${process.env.INPUT_MENTIONED_LIST}`);
|
|
}
|
|
payload.text.mentioned_list = mentioned_list;
|
|
}
|
|
|
|
if (process.env.INPUT_MENTIONED_MOBILE_LIST) {
|
|
let mentioned_mobile_list;
|
|
try {
|
|
mentioned_mobile_list = JSON.parse(process.env.INPUT_MENTIONED_MOBILE_LIST);
|
|
} catch (error) {
|
|
mentioned_mobile_list = [];
|
|
console.log(`[action-wechat-work] INPUT_MENTIONED_MOBILE_LIST JSON.parse error: ${error}, JSON string: ${process.env.INPUT_MENTIONED_MOBILE_LIST}`);
|
|
}
|
|
payload.text.mentioned_mobile_list = mentioned_mobile_list;
|
|
}
|
|
|
|
}
|
|
|
|
if (process.env.INPUT_MSGTYPE === 'markdown') {
|
|
|
|
payload.msgtype = process.env.INPUT_MSGTYPE;
|
|
|
|
if (!process.env.INPUT_CONTENT) {
|
|
console.log(`[action-wechat-work] INPUT_CONTENT is blank: ${process.env.INPUT_CONTENT}`);
|
|
}
|
|
|
|
payload.markdown = {
|
|
content: process.env.INPUT_CONTENT,
|
|
};
|
|
|
|
}
|
|
|
|
if (process.env.INPUT_MSGTYPE === 'image') {
|
|
|
|
payload.msgtype = process.env.INPUT_MSGTYPE;
|
|
|
|
if (!process.env.INPUT_BASE64) {
|
|
console.log(`[action-wechat-work] INPUT_BASE64 is blank: ${process.env.INPUT_BASE64}`);
|
|
}
|
|
|
|
if (!process.env.INPUT_MD5) {
|
|
console.log(`[action-wechat-work] INPUT_MD5 is blank: ${process.env.INPUT_MD5}`);
|
|
}
|
|
|
|
payload.image = {
|
|
base64: process.env.INPUT_BASE64,
|
|
md5: process.env.INPUT_MD5,
|
|
};
|
|
|
|
}
|
|
|
|
if (process.env.INPUT_MSGTYPE === 'news') {
|
|
|
|
payload.msgtype = process.env.INPUT_MSGTYPE;
|
|
|
|
let articles;
|
|
try {
|
|
articles = JSON.parse(process.env.INPUT_ARTICLES);
|
|
} catch (error) {
|
|
articles = [];
|
|
console.log(`[action-wechat-work] INPUT_ARTICLES JSON.parse error: ${error}, JSON string: ${process.env.INPUT_ARTICLES}`);
|
|
}
|
|
payload.news = {
|
|
articles,
|
|
};
|
|
|
|
}
|
|
|
|
if (process.env.INPUT_MSGTYPE === 'file') {
|
|
|
|
payload.msgtype = process.env.INPUT_MSGTYPE;
|
|
|
|
if (!process.env.INPUT_MEDIA_ID) {
|
|
console.log(`[action-wechat-work] INPUT_MEDIA_ID is blank: ${process.env.INPUT_MEDIA_ID}`);
|
|
}
|
|
|
|
payload.file = {
|
|
media_id: process.env.INPUT_MEDIA_ID,
|
|
};
|
|
|
|
}
|
|
|
|
if (process.env.INPUT_MSGTYPE === 'template_card') {
|
|
|
|
payload.msgtype = process.env.INPUT_MSGTYPE;
|
|
|
|
let template_card;
|
|
try {
|
|
template_card = JSON.parse(process.env.INPUT_TEMPLATE_CARD);
|
|
} catch (error) {
|
|
template_card = {};
|
|
console.log(`[action-wechat-work] INPUT_TEMPLATE_CARD JSON.parse error: ${error}, JSON string: ${process.env.INPUT_TEMPLATE_CARD}`);
|
|
}
|
|
payload.template_card = template_card;
|
|
|
|
}
|
|
|
|
console.log('[action-wechat-work] The message content in JSON format...', JSON.stringify(payload));
|
|
|
|
const url = process.env.WECHAT_WORK_BOT_WEBHOOK;
|
|
|
|
(async () => {
|
|
console.log('[action-wechat-work] Sending message ...');
|
|
await axios.post(url, JSON.stringify(payload), {
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
});
|
|
console.log('[action-wechat-work] Message sent Success! Shutting down ...');
|
|
process.exit(0);
|
|
})()
|
|
.catch((err) => {
|
|
console.error('[action-wechat-work] Message sent error:');
|
|
err.message && console.error(`[action-wechat-work] err.message: ${err.message}`);
|
|
err.response && err.response.data && console.error(`[action-wechat-work] err.response.data: ${err.response.data}`);
|
|
process.exit(1);
|
|
});
|