Telegram
Telegram for fancy-flow — as four imported, versioned packages, one per runtime. Not vendored source: a copy cannot be upgraded, and third-party APIs change.
| Runtime | Package | Install |
|---|---|---|
| Authoring surface (every host) | @particle-academy/telegram-ui |
npm install @particle-academy/telegram-ui |
| Node | @particle-academy/telegram-js |
npm install @particle-academy/telegram-js |
| PHP 8.4+ | particle-academy/telegram-php |
composer require particle-academy/telegram-php |
| Python 3.11+ | fancy-telegram |
pip install fancy-telegram |
The ui package is the editor surface and is React on every host — a PHP or
Python project installs it and its own runtime package, and never the js one.
What it costs you
One dependency: @particle-academy/fancy-connector-core (or
particle-academy/fancy-connector-core on Composer), which the js and php
packages pull in themselves. The Python package has zero runtime
dependencies.
No Telegram SDK. Plain HTTP, deliberately: a vendor SDK is third-party code subject to the kit's full approval bar, and one per provider is hundreds of dependencies nobody is tracking.
Setting it up
Everything below is generated from provider/manifest.json, so it cannot disagree with what the packages do.
Credentials
A Telegram connection holds 1 value.
Every value here is account scope: one per connected account, not one per installation.
| Field | Scope | Secret | Where it comes from |
|---|---|---|---|
| Bot token | per connected account | secret | From @BotFather — 123456:ABC-DEF… . A bot registered in the test environment is a DIFFERENT bot with a different token; the same token does not reach both. |
The estate
Telegram has a test estate on the same host, reached with credentials from a SEPARATE test account you register. Selecting sandbox mode uses those credentials.
Telegram's test environment is a genuinely SEPARATE ACCOUNT: you create a new account inside it and register a new bot there, so the sandbox credential is a different token rather than the same one pointed elsewhere. The
/testpath segment is how you reach it; the account is what makes it separate. Flood limits are NOT relaxed there, so it is a place to test, not a place to hammer.
What it can do
Triggers
get_updates — Telegram message
Start a run when a Telegram bot receives an update (long polling, not a webhook).
Polls Telegram, no more often than every 1 seconds.
You have to set this up with the provider first:
The host polls getUpdates on a schedule and persists the offset cursor between calls, passing the last cursor back in — Telegram queues nothing once an offset has acknowledged it, so a lost cursor is lost updates. getUpdates and setWebhook are MUTUALLY EXCLUSIVE for one bot: a host running both gets neither.
Run it before you have credentials
Every operation ships a faker, whether or not Telegram has a sandbox. Set a
node's mode to fake and it returns the shape Telegram actually publishes — the
same field names, deterministically — so you can wire the downstream nodes before
touching an account, a key, or a network.
This repository is generated
provider/ is the source. Everything under packages/ is emitted from it and
must not be hand-edited — CI regenerates and diffs on every push, and the
next protocol sync destroys anything it finds. See AGENTS.md.
Two namespaces, which do not match on purpose
The repo is github.com/Fancy-Friends/telegram; the packages publish under
particle-academy. Nothing derives one from the other — the names come from
weaver's friends.json and nowhere else.
Licence
MIT.
Metadata
Release files for fancy-telegram 0.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fancy_telegram-0.3.3.tar.gz | 19.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fancy_telegram-0.3.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.7 kB
Release files / fancy_telegram-0.3.3.tar.gz
| Download URL | fancy_telegram-0.3.3.tar.gz |
|---|---|
| Size | 19.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
430326b1c20346e75bc7a58c750fbf77934aa9b464e62f770e244e6482f803ee
|
|
BLAKE2b-256 checksum How to use checksums |
1c11d1cc8c048597c62dff18afd3017f8b3d56d891d1aea88448a897401b18f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / fancy_telegram-0.3.3-py3-none-any.whl
| Download URL | fancy_telegram-0.3.3-py3-none-any.whl |
|---|---|
| Size | 18.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9fa43d6ea3fdf83dffff2d9992a3dc0fa051dfccb9053f976644d94051f22e2e
|
|
BLAKE2b-256 checksum How to use checksums |
7b26226b36c50d4227a69b3998d14c0053d572500c835d372d161237d77e3af8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|