Files
vbev.dev/.gitea/actions/telegram-message-escape/action.yaml
T
vbevdev 457bf8e586
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 6s
deploy-workflow: create docker compose file
2026-07-04 01:41:14 +03:00

39 lines
1.0 KiB
YAML

name: '🧼 Telegram message escape'
description: 'Automatically escapes dots, dashes, and exclamation marks for Telegram MarkdownV2'
inputs:
message:
description: 'The raw text string to escape'
required: true
outputs:
escaped_message:
description: 'The safely escaped string ready for Telegram'
value: ${{ steps.escape.outputs.result }}
runs:
using: 'composite'
steps:
- id: escape
shell: python
env:
RAW_MESSAGE: ${{ inputs.message }}
ESCAPED_MESSAGE: $GITHUB_OUTPUT
run: |
import os
raw_text = os.environ.get("RAW_MESSAGE", "")
output_file = os.environ.get("ESCAPED_MESSAGE")
escape_chars = ["-", ".", "!"]
escaped_text = raw_text
for char in escape_chars:
escaped_text = escaped_text.replace(char, f"\\{char}")
escaped_text = escaped_text.replace("`", "\\`")
with open(output_file, "a", encoding="utf-8") as f:
f.write("result<<EOF\n")
f.write(f"{escaped_text}\n")
f.write("EOF\n")