Files
telegram-bot/action.yml
2025-03-21 16:37:02 +03:00

98 lines
2.9 KiB
YAML

name: 'Telegram Bot'
description: 'Telegram Bot API'
inputs:
message:
description: "Text"
required: false
default: ''
caption:
description: "Text"
required: false
default: |
<a href='${{ github.event.repository.html_url }}/actions/runs/${{ github.run_number }}'>%23${{ github.run_number }}</a> <b>${{ github.event.repository.name }}</b>: ${{ github.workflow }}
\nrunner: <a href='${{ github.server_url }}/-/admin/actions/runners'>${{ env.GITEA_RUNNER_NAME }}<a>
message_id:
description: "Message ID"
required: false
default: ''
# update:
# description: "Update message by ID"
# required: false
# default: 'false'
delete:
description: "Message ID to delete"
required: false
default: ''
status:
description: "Status message"
required: false
default: ${{ job.status }}
chat_id:
description: "Chat ID"
required: true
default: ${{ secrets.TELEGRAM_TO }}
bot_token:
description: "Message ID"
required: false
default: ${{ secrets.TELEGRAM_TOKEN }}
outputs:
message_id:
description: "Message ID"
value: ${{ env.OUTPUT_MESSAGE_ID }}
runs:
using: "composite"
steps:
- name: Setup
run: echo "OUTPUT_MESSAGE_ID=" >> $GITHUB_ENV
shell: bash
# - name: Random Number Generator
# id: random-number-generator
# run: echo "random-number=$(echo $RANDOM)" >> $GITHUB_OUTPUT
# shell: bash
- name: Set GitHub Path
run: echo "$GITHUB_ACTION_PATH" >> $GITHUB_PATH
shell: bash
env:
GITHUB_ACTION_PATH: ${{ github.action_path }}
- name: Send message
run: |
STATUS=${{ inputs.status }}
if [[ "$STATUS" == "success" ]]; then
STATUS="✅"
elif [[ "$STATUS" == "failure" ]]; then
STATUS="❌"
elif [[ "$STATUS" == "cancelled" ]]; then
STATUS="⚠️"
fi
if [[ "$STATUS" != '' ]]; then
STATUS="$STATUS "
fi
echo $STATUS
CAPTION="$STATUS${{ inputs.caption }}"
echo $CAPTION
echo "$CAPTION${{ inputs.message }}"
sendMessage "${{ inputs.bot_token }}" ${{ inputs.chat_id }} "$CAPTION${{ inputs.message }}"
shell: bash
- name: Delete message
if: inputs.delete != ''
run: deleteMessage "${{ inputs.bot_token }}" ${{ inputs.chat_id }} ${{ inputs.delete }}
shell: bash
# - name: Send job status
# if: inputs.status != ''
# run: |
# if [[ "${{ job.status }}" == "success" ]]; then
# STATUS="✅"
# elif [[ "${{ job.status }}" == "failure" ]]; then
# STATUS="❌"
# elif [[ "${{ job.status }}" == "cancelled" ]]; then
# STATUS="⚠️"
# else
# STATUS="❓"
# fi
# sendMessage "${{ inputs.bot_token }}" ${{ inputs.chat_id }} "$STATUS ${{ inputs.status }}"
# shell: bash