nanobot/skills/telegram-bot-broadcast/SKILL.md
```skill --- name: telegram-broadcast description: Sends a message to all users subscribed to a Telegram bot. metadata: nanobot: emoji: 📢 category: communication tags: [telegram, broadcast, messaging] --- ## Telegram Broadcast Skill This skill allows the nanobot to send a broadcast message to all users who have subscribed to a Telegram bot. **Prerequisites:** * The nanobot must have a configured Telegram bot token. * The nanobot must have a database or storage mechanism to
npx skillsauth add astoryh/pasb nanobot/skills/telegram-bot-broadcastInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
---
name: telegram-broadcast
description: Sends a message to all users subscribed to a Telegram bot.
metadata:
nanobot:
emoji: 📢
category: communication
tags: [telegram, broadcast, messaging]
---
## Telegram Broadcast Skill
This skill allows the nanobot to send a broadcast message to all users who have subscribed to a Telegram bot.
**Prerequisites:**
* The nanobot must have a configured Telegram bot token.
* The nanobot must have a database or storage mechanism to track user IDs who have subscribed to the bot. This could be a simple list, a database table, or any other suitable data structure.
* The nanobot must have the necessary permissions to send messages to the subscribed users.
**Instructions:**
1. **Retrieve Subscribed User IDs:** Query the storage mechanism to retrieve a list of all user IDs that have subscribed to the Telegram bot. The format of these IDs will depend on the Telegram API (typically integers).
2. **Validate Message Content:** Ensure the provided message content is valid for Telegram. This includes checking for excessive length, prohibited characters, and potential formatting issues.
3. **Iterate and Send Messages:** Iterate through the list of subscribed user IDs. For each user ID:
* Construct the Telegram message using the provided content.
* Use the Telegram Bot API to send the message to the user. This will involve using the bot token and the user ID as the chat ID.
* Handle potential errors during message sending (e.g., user blocked the bot, invalid chat ID). Log these errors for debugging purposes.
4. **Confirmation:** Upon successful completion of sending messages to all subscribed users (or after encountering an unrecoverable error), provide a confirmation message indicating the number of messages sent and any errors encountered.
**Input Parameters:**
* `message`: (string) The message content to be broadcast. This should be a plain text string.
**Output:**
* `success`: (boolean) True if the broadcast was successful (or partially successful without critical errors), False otherwise.
* `messages_sent`: (integer) The number of messages successfully sent.
* `errors`: (array) An array of error messages encountered during the broadcast. Each element in the array should be a string describing the error and the user ID where it occurred.
**Error Handling:**
* If the bot token is invalid or missing, return an error indicating that the Telegram bot is not configured.
* If the storage mechanism for subscribed user IDs is unavailable, return an error indicating that the user list cannot be accessed.
* If an error occurs while sending a message to a specific user, log the error and continue to the next user. Do not halt the entire broadcast.
* If the message content is invalid for Telegram, return an error indicating that the message is not valid.
**Example:**
Input: message: "Important announcement: The bot will be undergoing maintenance tomorrow."
Output: success: true messages_sent: 123 errors: []
Input: message: "This is a test message."
Output: success: false messages_sent: 100 errors: ["User 123456789: Bot blocked"]
development
```skill --- name: zoom-meeting-invite description: Generates and sends a Zoom meeting invitation to a specified list of recipients. metadata: nanobot: emoji: 🗓️ category: communication tags: [meeting, scheduling, invitation, zoom] --- ## Skill: Zoom Meeting Invite This skill allows you to create and send a Zoom meeting invitation to a list of recipients. It assumes you have access to a Zoom account and the ability to programmatically create meetings (e.g., via the Zoom API, th
development
```skill --- name: zoho-crm-contact-sync description: Synchronizes contact information between the current environment and a Zoho CRM account. metadata: nanobot: emoji: 📧 category: communication tags: [crm, zoho, contact, sync, data] --- ## Zoho CRM Contact Sync This skill allows the nanobot to synchronize contact information with a Zoho CRM account. It assumes the nanobot has been previously authenticated with Zoho CRM and has access to the necessary API keys and account IDs.
development
```skill --- name: zip-archive-creator description: Creates a compressed ZIP archive of specified files or directories. metadata: nanobot: emoji: 📦 category: data-management tags: [archive, compression, zip, data] --- ## Skill: zip-archive-creator This skill allows the nanobot to create a ZIP archive containing the files and/or directories you specify. **Instructions:** 1. **Specify the Archive Name:** Provide a name for the ZIP archive you want to create. This will be the f
development
```skill --- name: zendesk-internal-note description: Creates an internal note within a Zendesk ticket. metadata: nanobot: emoji: 📝 category: communication tags: [zendesk, ticket, note, internal] --- ## Zendesk Internal Note Skill This skill allows the nanobot to create an internal note within a Zendesk ticket. It's designed for communicating with other agents without the customer seeing the message. **Instructions:** 1. **Identify the Ticket:** The nanobot needs to know whi