- version-bumper: automated multi-file version synchronization - plugin-scaffolder: standardized 12-language i18n template generation - doc-mirror-sync: automated README to docs mirroring - i18n-validator: dictionary key alignment analysis via AST - gh-issue-replier: professional English reply with star-check logic - gh-issue-scheduler: unanswered issue audit and action planning
32 lines
943 B
Bash
Executable File
32 lines
943 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Robust Star Checker v2
|
|
# Usage: ./check_star.sh <issue_number>
|
|
|
|
ISSUE_NUM=$1
|
|
if [ -z "$ISSUE_NUM" ]; then exit 2; fi
|
|
|
|
# 1. Get Repo and Author info
|
|
REPO_FULL=$(gh repo view --json owner,name -q ".owner.login + \"/\" + .name")
|
|
USER_LOGIN=$(gh issue view "$ISSUE_NUM" --json author -q ".author.login")
|
|
|
|
# 2. Use GraphQL for high precision (Detects stars even when REST 404s)
|
|
IS_STARRED=$(gh api graphql -f query='
|
|
query($owner:String!, $repo:String!, $user:String!) {
|
|
repository(owner:$owner, name:$repo) {
|
|
stargazers(query:$user, first:1) {
|
|
nodes {
|
|
login
|
|
}
|
|
}
|
|
}
|
|
}' -f owner="${REPO_FULL%/*}" -f repo="${REPO_FULL#*/}" -f user="$USER_LOGIN" -q ".data.repository.stargazers.nodes[0].login")
|
|
|
|
if [ "$IS_STARRED" == "$USER_LOGIN" ]; then
|
|
echo "Confirmed: @$USER_LOGIN HAS starred $REPO_FULL. ⭐"
|
|
exit 0
|
|
else
|
|
echo "Confirmed: @$USER_LOGIN has NOT starred $REPO_FULL."
|
|
exit 1
|
|
fi
|