mirror of
https://gh-proxy.org/https://github.com/tiajinsha/JKVideo
synced 2026-07-07 23:18:38 +08:00
88 lines
3.3 KiB
YAML
88 lines
3.3 KiB
YAML
name: Auto Close Invalid Issues
|
|
|
|
on:
|
|
issues:
|
|
types: [opened]
|
|
|
|
jobs:
|
|
check-issue:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
issues: write
|
|
steps:
|
|
- uses: actions/github-script@v7
|
|
with:
|
|
script: |
|
|
const { owner, repo } = context.repo;
|
|
const issue_number = context.payload.issue.number;
|
|
const title = (context.payload.issue.title || '').toLowerCase();
|
|
const body = (context.payload.issue.body || '').toLowerCase();
|
|
const text = title + ' ' + body;
|
|
|
|
// --- 第一层:攻击性内容 ---
|
|
const abusiveWords = [
|
|
'傻逼','sb','垃圾','废物','狗屎','他妈','滚','草泥马',
|
|
'fuck','shit','操你','你妈','去死','蠢货','弱智','脑残',
|
|
'煞笔','白痴','混蛋','烂货','简历','个人信息','B站','假','找工作','金沙'
|
|
];
|
|
const isAbusive = abusiveWords.some(w => text.includes(w));
|
|
|
|
if (isAbusive) {
|
|
await github.rest.issues.createComment({
|
|
owner, repo, issue_number,
|
|
body: [
|
|
'你好,',
|
|
'',
|
|
'此 Issue 包含不文明内容,已自动关闭。',
|
|
'',
|
|
'我们欢迎任何建设性的反馈,但请保持礼貌和尊重。',
|
|
'如有 Bug 或功能建议,请使用官方模板重新提交,谢谢。',
|
|
].join('\n'),
|
|
});
|
|
await github.rest.issues.update({
|
|
owner, repo, issue_number,
|
|
state: 'closed',
|
|
state_reason: 'not_planned',
|
|
});
|
|
await github.rest.issues.addLabels({
|
|
owner, repo, issue_number,
|
|
labels: ['invalid'],
|
|
});
|
|
return;
|
|
}
|
|
|
|
// --- 第二层:未走模板 ---
|
|
const templateMarkers = [
|
|
'### 运行平台',
|
|
'### 问题描述',
|
|
'### 复现步骤',
|
|
'### 需求背景',
|
|
'### 建议方案',
|
|
];
|
|
const isFromTemplate = templateMarkers.some(m => body.includes(m.toLowerCase()));
|
|
|
|
if (!isFromTemplate) {
|
|
await github.rest.issues.createComment({
|
|
owner, repo, issue_number,
|
|
body: [
|
|
'感谢你的反馈!',
|
|
'',
|
|
'此 Issue 未按照模板填写,已自动关闭。',
|
|
'',
|
|
'请使用以下方式重新提交:',
|
|
'- 🐛 **Bug 报告** → 使用 [Bug 报告模板](../../issues/new?template=bug_report.yml)',
|
|
'- 💡 **功能建议** → 使用 [功能建议模板](../../issues/new?template=feature_request.yml)',
|
|
'- 💬 **使用咨询** → 前往 [Discussions](../../discussions) 提问',
|
|
].join('\n'),
|
|
});
|
|
await github.rest.issues.update({
|
|
owner, repo, issue_number,
|
|
state: 'closed',
|
|
state_reason: 'not_planned',
|
|
});
|
|
await github.rest.issues.addLabels({
|
|
owner, repo, issue_number,
|
|
labels: ['invalid'],
|
|
});
|
|
}
|