add project #5
This file contains hidden or 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 Notifications | |
| on: | |
| pull_request_target: | |
| types: [ opened, closed, reopened ] | |
| push: | |
| jobs: | |
| notify-telegram: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Send Telegram Notification | |
| env: | |
| BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }} | |
| CHAT_ID: -1002791189479 # آیدی گروه شما | |
| TOPIC_ID: 1698 # آیدی تاپیک | |
| run: | | |
| DESTRUCTIVE_MESSAGES=( | |
| "🚀 کدامو پاچیدم تو پروژه!" | |
| "🔥 ریدم تو پروژه!" | |
| "😂 ککه رو لا کوکو کردم!" | |
| "💥 یه باگ دیگه اضافه کردم به کد!" | |
| "🔦 با سرعت نور ریدم به کد!" | |
| "🎯 یه مشکل جدید تولید کردم!" | |
| ) | |
| CREATIVE_MESSAGES=( | |
| "😎 خودتون بریزید پشماتون بمونه!" | |
| "💻 یه شاهکار جدید خلق کردم!" | |
| "✨ کدی نوشتم که حتی خودم ازش میترسم!" | |
| "🚀 یه ویژگی جدید به دنیا آوردم!" | |
| "🎨 یه اثر هنری دیگه ساختم!" | |
| "⚡ برق زدم به کیبورد، کد جادویی بیرون اومد!" | |
| "🔮 یه جادوی برنامهنویسی انجام دادم!" | |
| "⚡ حمال برقی pr زد!" | |
| ) | |
| APPROVAL_MESSAGES=( | |
| "✅ یه شاهکار دیگه تایید شد!" | |
| "🎉 کدم انقدر باحال بود که مرج شد!" | |
| "🏆 یکی دیگه از آثار هنری من تایید شد!" | |
| "🌟 درخشش کدم چشم همه رو زد!" | |
| "👑 یه پادشاهی دیگه فتح کردم!" | |
| "🚀 کدم مثل موشک به production رفت!" | |
| "💎 یه جواهر دیگه به مجموعه اضافه شد!" | |
| ) | |
| PROJECT_NAME="${{ github.repository }}" | |
| if [[ "${{ github.event_name }}" == "pull_request_target" ]]; then | |
| if [[ "${{ github.event.action }}" == "opened" ]]; then | |
| RANDOM_FUN=${CREATIVE_MESSAGES[$RANDOM % ${#CREATIVE_MESSAGES[@]}]} | |
| MESSAGE="$RANDOM_FUN%0A%0A📂 *Project:* \`$PROJECT_NAME\`%0A📢 New Pull Request opened%0A🔗 [View PR](${{ github.event.pull_request.html_url }})%0A%0A👤 *Assignee:* ${{ github.actor }}%0A%0A🏷️ *Meta Code Team*" | |
| elif [[ "${{ github.event.action }}" == "closed" && "${{ github.event.pull_request.merged }}" == "true" ]]; then | |
| RANDOM_FUN=${APPROVAL_MESSAGES[$RANDOM % ${#APPROVAL_MESSAGES[@]}]} | |
| MESSAGE="$RANDOM_FUN%0A%0A📂 *Project:* \`$PROJECT_NAME\`%0A✅ Pull Request merged successfully%0A🔗 [View Details](${{ github.event.pull_request.html_url }})%0A%0A👤 *Assignee:* ${{ github.actor }}%0A%0A🏷️ *Meta Code Team*" | |
| else | |
| RANDOM_FUN=${DESTRUCTIVE_MESSAGES[$RANDOM % ${#DESTRUCTIVE_MESSAGES[@]}]} | |
| MESSAGE="$RANDOM_FUN%0A%0A📂 *Project:* \`$PROJECT_NAME\`%0A❌ Pull Request closed without merge%0A🔗 [View Details](${{ github.event.pull_request.html_url }})%0A%0A👤 *Assignee:* ${{ github.actor }}%0A%0A🏷️ *Meta Code Team*" | |
| fi | |
| elif [[ "${{ github.event_name }}" == "push" ]]; then | |
| RANDOM_FUN=${CREATIVE_MESSAGES[$RANDOM % ${#CREATIVE_MESSAGES[@]}]} | |
| COMMITS="" | |
| for commit in $(jq -c '.commits[]' <<< '${{ toJson(github.event.commits) }}'); do | |
| AUTHOR=$(jq -r '.author.name' <<< "$commit") | |
| MSG=$(jq -r '.message' <<< "$commit") | |
| URL=$(jq -r '.url' <<< "$commit") | |
| COMMITS="$COMMITS%0A• 👨💻 $AUTHOR: [$MSG]($URL)" | |
| done | |
| MESSAGE="$RANDOM_FUN%0A%0A📂 *Project:* \`$PROJECT_NAME\`%0A🚀 New push to branch \`${{ github.ref_name }}\`%0A🔗 [View Commits](${{ github.event.compare }})%0A$COMMITS%0A%0A👤 *Assignee:* ${{ github.actor }}%0A%0A🏷️ *Meta Code Team*" | |
| else | |
| RANDOM_FUN=${CREATIVE_MESSAGES[$RANDOM % ${#CREATIVE_MESSAGES[@]}]} | |
| MESSAGE="$RANDOM_FUN%0A%0A📂 *Project:* \`$PROJECT_NAME\`%0Aℹ️ Unknown event: ${{ github.event_name }}%0A%0A👤 *Assignee:* ${{ github.actor }}%0A%0A🏷️ *Meta Code Team*" | |
| fi | |
| curl -s -X POST https://api.telegram.org/bot$BOT_TOKEN/sendMessage \ | |
| -d chat_id=$CHAT_ID \ | |
| -d message_thread_id="$TOPIC_ID" \ | |
| -d parse_mode="Markdown" \ | |
| -d text="$MESSAGE" |