包含以下核心内容: 1. 完整的Docker容器化部署方案,支持多架构amd64/arm64 2. 自研Web管理面板,包含登录认证、实例管理、权限控制 3. 微信实例容器镜像,内置中文字体与输入法修复 4. 飞牛OS应用打包适配 5. 完整的文档与运维指南
181 lines
8.0 KiB
JavaScript
181 lines
8.0 KiB
JavaScript
// 发布 / 新 issue → Telegram 群通知。把 GitHub Markdown 转成 Telegram 支持的 HTML 再发,
|
||
// 失败则回退纯文本,保证必达。无服务器,跑在 GitHub Actions(telegram-notify.yml)。
|
||
//
|
||
// 事件来源(env EVENT):
|
||
// release —— 发布事件,用 release 的 payload
|
||
// issues —— 新 issue 事件,用 issue 的 payload
|
||
// workflow_dispatch —— 手动触发,拉「最新 release」渲染发送(用于测试渲染效果)
|
||
|
||
const TG = process.env.TG_TOKEN;
|
||
const CHAT = process.env.TG_CHAT;
|
||
const EVENT = process.env.EVENT || '';
|
||
if (!TG || !CHAT) {
|
||
console.log('TELEGRAM_BOT_TOKEN / TELEGRAM_CHAT_ID 未配置,跳过');
|
||
process.exit(0);
|
||
}
|
||
|
||
const esc = (s) => (s || '').replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
|
||
|
||
// 行内 Markdown → Telegram HTML(在已 HTML-escape 的文本上运行)
|
||
function inlineMd(s) {
|
||
s = s.replace(/\[([^\]]+)\]\(([^)\s]+)\)/g, (_, t, u) => `<a href="${u.replace(/"/g, '"')}">${t}</a>`);
|
||
s = s.replace(/\*\*([^*]+?)\*\*/g, '<b>$1</b>');
|
||
s = s.replace(/__([^_]+?)__/g, '<b>$1</b>');
|
||
s = s.replace(/(^|[^*])\*([^*\n]+?)\*(?!\*)/g, '$1<i>$2</i>');
|
||
return s;
|
||
}
|
||
|
||
// GitHub Markdown → Telegram HTML。Telegram 不支持标题/表格/列表标记,转成粗体/·/• 等。
|
||
function mdToHtml(md) {
|
||
const blocks = [];
|
||
md = md.replace(/```[^\n]*\n([\s\S]*?)```/g, (_, code) => {
|
||
blocks.push('<pre>' + esc(code.replace(/\n$/, '')) + '</pre>');
|
||
return ` |