{"id":29554227,"url":"https://github.com/offchainlabs/telegram-slack-bot","last_synced_at":"2026-03-17T23:06:43.078Z","repository":{"id":280055601,"uuid":"940857649","full_name":"OffchainLabs/Telegram-Slack-Bot","owner":"OffchainLabs","description":null,"archived":false,"fork":false,"pushed_at":"2026-03-13T21:16:19.000Z","size":289749,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-03-14T09:39:36.628Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OffchainLabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-28T23:33:37.000Z","updated_at":"2026-03-13T21:16:26.000Z","dependencies_parsed_at":"2025-03-01T00:51:40.895Z","dependency_job_id":"43a56376-302c-47bd-a0fb-0e0e3005469c","html_url":"https://github.com/OffchainLabs/Telegram-Slack-Bot","commit_stats":null,"previous_names":["greatsoshiant/telegram-slack-bot","offchainlabs/telegram-slack-bot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/OffchainLabs/Telegram-Slack-Bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OffchainLabs%2FTelegram-Slack-Bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OffchainLabs%2FTelegram-Slack-Bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OffchainLabs%2FTelegram-Slack-Bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OffchainLabs%2FTelegram-Slack-Bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OffchainLabs","download_url":"https://codeload.github.com/OffchainLabs/Telegram-Slack-Bot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OffchainLabs%2FTelegram-Slack-Bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30635156,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T22:38:22.569Z","status":"ssl_error","status_checked_at":"2026-03-17T22:38:11.804Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-18T07:08:42.838Z","updated_at":"2026-03-17T23:06:43.049Z","avatar_url":"https://github.com/OffchainLabs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 TelegramSlackApp\n\nA cross-platform desktop tool built with **PyQt6** and **asyncio** for broadcasting messages (optionally with images) to **Telegram groups/channels** and **Slack channels** — with optional **Notion integration** for managing groups via tags.\n\n- ✅ Built with PyQt6 for native GUI experience  \n- ✅ Sends messages to Telegram \u0026 Slack  \n- ✅ Supports image attachments  \n- ✅ Optional: Pull groups from a Notion database using tags  \n- ✅ Easy to install (.pkg for macOS)\n\n---\n\n## 📸 User Interface Overview\n\nHere's what the app looks like on macOS:\n\n![UI Screenshot](ui-interface.png)\n\n### 🧩 Interface Breakdown\n\n| Section | Description |\n|--------|-------------|\n| **Telegram API \u0026 Hash** | Your Telegram API credentials (from [my.telegram.org](https://my.telegram.org)). Required for authentication. |\n| **Slack Token** | A Slack bot token used to send messages via Slack API. |\n| **Telegram Groups / Channels** | Text fields where you can list Telegram group names or channel IDs to send messages to. |\n| **Slack Channels** | List of Slack channels (e.g., `#general`, `#alerts`) to send messages to. |\n| **Use Notion groups instead of manual input** | Check this box to automatically pull and target Telegram/Slack groups based on category tags stored in your Notion database. |\n| **Notion API Token** | Your Notion integration token, used to authenticate and fetch tags/groups. |\n| **Tags (from Notion)** | A checklist that auto-populates with category tags fetched from your Notion database. Select multiple to filter groups/channels. |\n| **🔘 Load Tags from Notion** | Fetches tags from the connected Notion database and populates the tag list below. Use this after entering your Notion token. |\n| **Notion Message Page URL** | Just copy paste the URL of the Notion page contains the message and image. |\n| **🔄 Load Content** | Giving the URL to the app, by clicking on this button you can see the message and image preview |\n| **Send to Telegram / Slack** | Buttons to dispatch the message to your selected platforms. |\n\n---\n\n## 🔧 Installation \u0026 Usage\n\n### 💻 Option 1: Run from source (Mac/Linux)\n\n```bash\n# Clone the repository\ngit clone https://github.com/yourusername/TelegramSlackApp.git\ncd TelegramSlackApp\n\n# Run setup script\nbash run_app.sh\n```\n\nThis script:\n- Checks for Python 3 and installs it if missing\n- Creates a virtual environment\n- Installs required dependencies from `requirements.txt`\n- Launches the app\n\n### 🪟 Option 2: Run on Windows\n\nDouble-click or run:\n\n```bat\nrun_app.bat\n```\n\nMake sure you have Python 3 and pip installed. The `.bat` script mirrors the bash setup.\n\n### 🍎 Option 3: Install on macOS via .pkg\nBuild a macOS `.pkg` installer locally using `py2app` and `pkgbuild`.\n\n\u003e **Note:** The `.pkg` installer is not included in the repository due to GitHub's file size restrictions.  \n\n\u003e To install the app on your Mac, you can build the `.pkg` yourself using the steps below.\n\n---\n\n## 📦 Packaging (Advanced)\n\nTo build your own `.pkg` installer (macOS only):\n\n1. Convert the Python script to `.app` using `py2app`:\n   ```bash\n   python3 setup.py py2app\n   ```\n\n2. Run the packaging script (we’ll include this soon) to:\n   - Move the app bundle into `pkg-root/Applications`\n   - Make it non-relocatable\n   - Generate `component.plist`\n   - Create final `.pkg` file using `pkgbuild`\n\n***We already have a script to create package after changing app or ui. You can bash script by this command:***\n```bash\n./build.sh\n```\n\n---\n\n## 🧠 Project Structure\n\n```\nTelegramSlackApp/\n│\n├── app.py                    # Main application logic\n├── ui_mainwindow.py         # PyQt6-generated GUI file\n├── ui_mainwindow.ui         # Original Qt Designer file\n├── setup.py                 # py2app build script\n├── requirements.txt         # Python dependencies\n├── run_app.sh               # Shell script for Linux/macOS\n├── run_app.bat              # Windows runner\n├── README.md                # This file\n└── (pkg-root/, dist/, build/) # Generated during build\n```\n\n---\n\n## 🧠 Features\n\n- 📤 Send messages to multiple Telegram groups/channels and Slack channels simultaneously\n- 🖼️ Optionally attach an image\n- 🧠 Intelligent channel selection via **Notion tags**\n- 🔒 OAuth-free authentication using Telegram’s API ID + API Hash\n- 🔁 Retry-safe Telegram client with session caching\n\n---\n\n## 💡 Notion Integration\n\nTo use Notion-based message routing:\n\n1. Create a Notion integration: [https://www.notion.so/my-integrations](https://www.notion.so/my-integrations)\n2. Share your target database with the integration\n3. Use this schema in your DB:\n\n| Property         | Type          |\n|------------------|---------------|\n| Platform         | Select (`Telegram` / `Slack`) |\n| Category         | Multi-select (tags like \"Exchanges\", \"Validators\") |\n| Contact Name / Channel ID | Text (e.g., Telegram channel username or Slack channel ID) |\n\n4. To fetch message from Notion, you need to copy paste URL in the ```Use Notion groups instead of manual input``` field.\n---\n\n## 🛠️ Development\n\nMake sure to activate your virtual environment:\n\n```bash\nsource venv/bin/activate  # or use your IDE’s interpreter\n```\n\nThen run:\n\n```bash\n./run_app.sh\n```\n\n\u003e ⚠️ Note: Build artifacts like `.pkg`, `.app`, `dist/`, and `build/` are excluded from version control via `.gitignore`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foffchainlabs%2Ftelegram-slack-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foffchainlabs%2Ftelegram-slack-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foffchainlabs%2Ftelegram-slack-bot/lists"}