Skip to content

Rename issue-338.md to issue-38.md #10

Rename issue-338.md to issue-38.md

Rename issue-338.md to issue-38.md #10

Workflow file for this run

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