name: Discord GitHub Notifications on: issues: types: [opened] issue_comment: types: [created] pull_request: types: [opened] discussion: types: [created] watch: types: [started] jobs: notify-discord: runs-on: ubuntu-latest steps: - name: Send to Google Apps Script (Stars only) if: github.event_name == 'watch' run: | curl -fSs -X POST "${{ secrets.GOOGLE_SCRIPT_ENDPOINT }}" \ -H 'Content-Type: application/json' \ -d '{"url":"${{ github.event.sender.html_url }}"}' - name: Set webhook based on event type id: set-webhook run: | if [ "${{ github.event_name }}" == "discussion" ]; then echo "webhook=${{ secrets.DISCORD_DISCUSSIONS_WEBHOOK }}" >> $GITHUB_OUTPUT elif [ "${{ github.event_name }}" == "watch" ]; then echo "webhook=${{ secrets.DISCORD_STAR_GAZERS }}" >> $GITHUB_OUTPUT else echo "webhook=${{ secrets.DISCORD_WEBHOOK }}" >> $GITHUB_OUTPUT fi - name: Discord Notification uses: Ilshidur/action-discord@master env: DISCORD_WEBHOOK: ${{ steps.set-webhook.outputs.webhook }} with: args: | ${{ github.event_name == 'issues' && format('📣 New issue created: **{0}** by {1} - {2}', github.event.issue.title, github.event.issue.user.login, github.event.issue.html_url) || github.event_name == 'issue_comment' && format('💬 New comment on issue **{0}** by {1} - {2}', github.event.issue.title, github.event.comment.user.login, github.event.comment.html_url) || github.event_name == 'pull_request' && format('🔄 New PR opened: **{0}** by {1} - {2}', github.event.pull_request.title, github.event.pull_request.user.login, github.event.pull_request.html_url) || github.event_name == 'watch' && format('⭐ {0} starred Crawl4AI 🥳! Check out their profile: {1}', github.event.sender.login, github.event.sender.html_url) || format('💬 New discussion started: **{0}** by {1} - {2}', github.event.discussion.title, github.event.discussion.user.login, github.event.discussion.html_url) }}