Skip to content

AvishkarPatil/StickPick

Repository files navigation

StickPick

StickPick

Telegram → WhatsApp Sticker Converter

Fetch any Telegram sticker pack, convert animated & static stickers, and export directly to WhatsApp — all from one app.


Kotlin Jetpack Compose FFmpeg Android WhatsApp

[+] How It Works

Paste a Telegram sticker pack link → Download → Preview → Convert → Add to WhatsApp

The app fetches sticker metadata via the Telegram Bot API, downloads all stickers, converts .webm video stickers to animated WebP using FFmpeg, and serves them to WhatsApp through a ContentProvider following the official WhatsApp Sticker API.

[+] Features

  • Animated & Static : handles video (.webm) and image (.webp) stickers from Telegram
  • Smart Pack Splitting : auto-separates animated (max 30) and static (max 50) into valid WhatsApp packs
  • WhatsApp + Business : export to both WhatsApp and WhatsApp Business
  • Gallery Import : add your own images to any pack before converting
  • Dark Mode : light, dark, and system-default themes
  • Transparent Padding : non-square stickers keep transparency, no black bars
  • Configurable : pack size limit, author name, bot token — all from settings

[+] Setup

1. Get a Telegram Bot Token
  1. Open Telegram and search for @BotFather
  2. Send /newbot and follow the prompts
  3. Copy the token (looks like 123456789:ABCDefGhI...)

The bot is only used to access the Telegram API — it doesn't need to be added to any group.

2. Build & Run
git clone https://github.com/AvishkarPatil/StickPick.git
cd StickPick

Open in Android Studio → Build → Run on device.

Note: FFmpeg conversion requires a real ARM device. Emulator (x86) will be extremely slow.

3. First Launch

The app walks you through a two-step onboarding:

  1. Paste your Telegram Bot Token
  2. Enter your name (appears as publisher on WhatsApp packs)

Both can be changed later in Settings.

[+] Building the APK

# Debug (faster, larger ~130MB with x86)
./gradlew assembleDebug

# Release (ARM only, ~87MB)
./gradlew assembleRelease -x lintVitalAnalyzeRelease -x lintVitalReportRelease -x lintVitalRelease

Output: app/build/outputs/apk/release/app-release.apk

APK size is ~87MB due to FFmpeg native libraries. An AAB for Play Store would be ~45MB per device via ABI splitting.

[+] License

This project is licensed under the MIT License.


Built with ❤️ by Avishkar Patil