Skip to content
 
 

Repository files navigation

Pebblegram

Pebblegram brings Telegram to Pebble watches with a PebbleKit JS Telegram client. The watch app gives you a fast inbox, readable message threads, inline photo previews, canned replies, and dictation replies without a separate companion service.

Chat list Messages Photo message Actions

Download

What It Does

  • Shows recent Telegram chats with unread state and message previews
  • Opens one-on-one chats, regular groups, and pinned/foldered chat lists
  • Displays incoming and outgoing chat bubbles
  • Loads inline photo previews, GIF/video still previews, and text link previews
  • Sends replies with Pebble dictation
  • Sends configurable canned replies
  • Sends emoji replies
  • Sends, updates, and removes Telegram reactions
  • Replies to, forwards, edits, and deletes messages from the watch
  • Loads older messages on demand
  • Keeps open chats and the chat list refreshed while the app is running
  • Supports Basalt, Diorite, Emery, and Gabbro builds
  • Includes a black-and-white optimized Diorite image path
  • Includes round-screen layout handling for Gabbro

Changes Since 3.3

Pebblegram 3.5 is the current live Telegram build.

  • Reworked resident message and chat-list text storage to reduce fixed RAM use.
  • Made the chat list appear progressively so the UI becomes usable much sooner on launch.
  • Deferred nonessential startup work until the first visible chats are drawn.
  • Raised media size and quality limits, especially on Emery and Gabbro.
  • Added screenshot-aware photo contrast handling for both dark and light app screenshots.
  • Improved tall-photo navigation so entering and panning through long images is consistent.
  • Disabled the experimental Emery touch keyboard to reclaim RAM for media and speed.
  • Updated the bundled release PBW and GitHub release download for 3.5.

Quick Start

  1. Install Pebblegram 3.5 PBW with the Pebble/Rebble mobile app.
  2. Open Pebblegram settings in the Pebble mobile app.
  3. Enter your Telegram API ID, API hash, and phone number.
  4. Save once to request a Telegram login code.
  5. Reopen settings, enter the login code, and save again.
  6. If Telegram asks for two-step verification, reopen settings, enter your Telegram cloud password, and save again.

Create Telegram API credentials at my.telegram.org/apps.

Development

Install the Pebble SDK/tooling, then build:

pebble build

Build the bundled Telegram client:

npm install
npm run build:pgjs-gramjs

For local testing with embedded API credentials, keep them in an ignored environment file such as .env.pgjs.local, then source it before building the bundle. Do not commit personal API credentials, Telegram sessions, or generated PBWs that contain credentials.

Project Structure

  • src/c/Pebblegram.c: watch UI, AppMessage handling, scrolling, image decoding, actions, dictation
  • src/pkjs/index.js: PebbleKit JS runtime and watch communication
  • src/pkjs/config.html: Pebble settings page
  • src/pkjs/pgjs/: Telegram client, auth, settings storage, and image processing
  • resources/images/menu_icon.png: launcher/app-list icon bundled into the PBW
  • store/screenshots/: store listing screenshots
  • release/: packaged PBW

Security Notes

  • Do not commit .env, .env.*, Telegram session files, generated personal PBWs, ngrok configs, or account tokens.
  • Public release builds must not embed a personal Telegram API ID or API hash.
  • Telegram API ID/hash are required by Telegram's MTProto API. The public PBW does not embed a personal API ID/hash.

Status

Pebblegram 3.5 is the current direct Telegram build. The core flows work, but this is still community software for an unsupported watch platform.

About

A pebble Telegram client

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages