-
Notifications
You must be signed in to change notification settings - Fork 2
82 lines (73 loc) · 4.5 KB
/
Copy pathtelegram.yml
File metadata and controls
82 lines (73 loc) · 4.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
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"