Rename issue-338.md to issue-38.md #10
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Telegram File Upload with Translation | |
on: | |
push: | |
branches: | |
- main | |
paths: | |
- '*.md' # Trigger only when .md files are added/modified at the root level | |
jobs: | |
notify: | |
runs-on: ubuntu-latest | |
steps: | |
# Step 1: Checkout the repository | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
# Step 2: Get changed Markdown files | |
- name: Get Changed Files | |
id: changed-files | |
uses: tj-actions/changed-files@v45 | |
# Step 3: Translate Markdown Files using Google Translate API | |
- name: Translate Markdown Files | |
if: ${{ steps.changed-files.outputs.added_files != '' }} | |
env: | |
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} | |
run: | | |
mkdir translated_files | |
for FILE in ${{ steps.changed-files.outputs.added_files }}; do | |
if [[ "$FILE" == *.md ]]; then | |
RAW_RESPONSE=$(curl -s -X POST "https://translation.googleapis.com/language/translate/v2?key=${GOOGLE_API_KEY}" \ | |
-H "Content-Type: application/json; charset=utf-8" \ | |
-d '{ | |
"q": "'"$(cat $FILE | sed 's/"/\\"/g' | jq -R -s .)"'", | |
"source": "zh-CN", | |
"target": "en", | |
"format": "text" | |
}') | |
echo "$RAW_RESPONSE" # Log raw response for debugging | |
TRANSLATED_CONTENT=$(echo "$RAW_RESPONSE" | jq -r '.data.translations[0].translatedText') | |
if [[ "$TRANSLATED_CONTENT" == null ]]; then | |
echo "Translation failed for $FILE" | |
exit 1 | |
fi | |
echo "$TRANSLATED_CONTENT" > translated_files/$FILE | |
fi | |
done | |
# Step 4: Upload Translated Files to Telegram | |
- name: Upload Translated Files to Telegram | |
if: success() | |
env: | |
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_API_KEY }} | |
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }} | |
run: | | |
for FILE in translated_files/*; do | |
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendDocument" \ | |
-F chat_id="${TELEGRAM_CHAT_ID}" \ | |
-F document=@"$FILE" \ | |
-F caption="📢 *New Translated Markdown File Added!*\n\nFilename: \`$(basename $FILE)\`" \ | |
-F parse_mode="Markdown" | |
done |