{
  "schemaVersion": "1.0",
  "item": {
    "slug": "tsend",
    "name": "telegram send files",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Shingwha/tsend",
    "canonicalUrl": "https://clawhub.ai/Shingwha/tsend",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/tsend",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=tsend",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/pyproject.toml",
      "scripts/tsend/cli.py",
      "scripts/tsend/client.py",
      "scripts/tsend/config.py",
      "scripts/tsend/utils.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/tsend"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/tsend",
    "agentPageUrl": "https://openagent3.xyz/skills/tsend/agent",
    "manifestUrl": "https://openagent3.xyz/skills/tsend/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/tsend/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Telegram Sender (tsend)",
        "body": "Zero-config CLI tool. Install once, send forever."
      },
      {
        "title": "Installation",
        "body": "Tip: Try using tsend command first. If command not found, then install."
      },
      {
        "title": "Using uv (recommended)",
        "body": "cd <skill-path>/scripts\nuv tool install -e .\n\nReplace <skill-path> with the actual skill path.\n\nAfter installation, tsend command is available globally."
      },
      {
        "title": "From source (alternative)",
        "body": "If you don't have uv:\n\ncd <skill-path>/scripts\npip install -e ."
      },
      {
        "title": "Just use it",
        "body": "tsend send document.pdf\ntsend send photo.jpg --caption \"Description\"\ntsend send image.png -c \"Screenshot\"\n\n# Send multiple files\ntsend send file1.pdf file2.jpg file3.png\ntsend send *.pdf --caption \"Documents\"  # caption only goes to first file"
      },
      {
        "title": "Using specific profile",
        "body": "tsend send file.pdf --profile mybot\ntsend send photo.png -c \"Description\" -p picoclaw\n\nThat's it. No setup, no checks, no questions."
      },
      {
        "title": "Only if it fails (once)",
        "body": "tsend config set --token \"YOUR_BOT_TOKEN\" --chat-id \"YOUR_CHAT_ID\"\n\nOr specify a profile:\n\ntsend config set --profile mybot --token \"TOKEN\" --chat-id \"CHAT_ID\"\ntsend config default mybot  # Set as default\n\nThe tool saves config to ~/.tsend/config.json."
      },
      {
        "title": "Multiple Profiles",
        "body": "Manage multiple bots with profiles:\n\n# List all profiles\ntsend config list\n\n# Show specific profile\ntsend config show --profile mybot\n\n# Send with specific profile\ntsend send file.pdf --profile mybot"
      },
      {
        "title": "Environment Variable",
        "body": "Set default profile via environment:\n\nexport TSEND_PROFILE=mybot\ntsend send file.pdf  # Uses 'mybot' profile\n\nUseful for different services (nanobot, picoclaw, etc.)."
      },
      {
        "title": "When something's wrong",
        "body": "\"token invalid\" → Fix with one command:\n\ntsend config set --token NEW_TOKEN --chat-id NEW_ID\n\nNo reinstall, no config file hunting."
      }
    ],
    "body": "Telegram Sender (tsend)\n\nZero-config CLI tool. Install once, send forever.\n\nInstallation\n\nTip: Try using tsend command first. If command not found, then install.\n\nUsing uv (recommended)\ncd <skill-path>/scripts\nuv tool install -e .\n\n\nReplace <skill-path> with the actual skill path.\n\nAfter installation, tsend command is available globally.\n\nFrom source (alternative)\n\nIf you don't have uv:\n\ncd <skill-path>/scripts\npip install -e .\n\nJust use it\ntsend send document.pdf\ntsend send photo.jpg --caption \"Description\"\ntsend send image.png -c \"Screenshot\"\n\n# Send multiple files\ntsend send file1.pdf file2.jpg file3.png\ntsend send *.pdf --caption \"Documents\"  # caption only goes to first file\n\nUsing specific profile\ntsend send file.pdf --profile mybot\ntsend send photo.png -c \"Description\" -p picoclaw\n\n\nThat's it. No setup, no checks, no questions.\n\nOnly if it fails (once)\ntsend config set --token \"YOUR_BOT_TOKEN\" --chat-id \"YOUR_CHAT_ID\"\n\n\nOr specify a profile:\n\ntsend config set --profile mybot --token \"TOKEN\" --chat-id \"CHAT_ID\"\ntsend config default mybot  # Set as default\n\n\nThe tool saves config to ~/.tsend/config.json.\n\nMultiple Profiles\n\nManage multiple bots with profiles:\n\n# List all profiles\ntsend config list\n\n# Show specific profile\ntsend config show --profile mybot\n\n# Send with specific profile\ntsend send file.pdf --profile mybot\n\nEnvironment Variable\n\nSet default profile via environment:\n\nexport TSEND_PROFILE=mybot\ntsend send file.pdf  # Uses 'mybot' profile\n\n\nUseful for different services (nanobot, picoclaw, etc.).\n\nWhen something's wrong\n\n\"token invalid\" → Fix with one command:\n\ntsend config set --token NEW_TOKEN --chat-id NEW_ID\n\n\nNo reinstall, no config file hunting."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Shingwha/tsend",
    "publisherUrl": "https://clawhub.ai/Shingwha/tsend",
    "owner": "Shingwha",
    "version": "2.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/tsend",
    "downloadUrl": "https://openagent3.xyz/downloads/tsend",
    "agentUrl": "https://openagent3.xyz/skills/tsend/agent",
    "manifestUrl": "https://openagent3.xyz/skills/tsend/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/tsend/agent.md"
  }
}