A variant of Nagram with additional features.
This is a personal fork by @dazewell with a few extras on top of NagramX:
-
Per-chat time zones: set a time zone for any personal chat or group through the profile edit view. The chat header and contacts list show the peer's current local time as a clock pill. Tap the pill to get a worldtimebuddy-style side-by-side time converter in a bottom sheet view. Each message also shows both your local time and the peer's.
-
Quick schedule button: the calendar icon stays visible in the input bar while you type. One tap to schedule instead of long-pressing Send. Toggle it off in settings if you prefer the default.
-
Physical keyboard hotkeys: matches Telegram Desktop bindings for BT/USB keyboards. Does nothing on software keyboards. Can be disabled in settings.
Shortcut Action EscCancel reply/edit, close search, go back Up(empty input)Edit last sent message Ctrl+FSearch in current chat / chat list Ctrl+WClose current chat Ctrl+PgDn/Ctrl+PgUpNext / previous chat Ctrl+Alt+Home/EndFirst / last chat Ctrl+Shift+↓/↑Next / previous folder Ctrl+0Saved Messages Ctrl+1..8Pinned chat 1–8 Ctrl+9Archive Ctrl+JContacts Ctrl+LLock app (when passcode is set) Ctrl+MMinimize app Ctrl+RMark current chat as read Alt+EnterSchedule message (Enter confirms the picker) Alt+↑/↓Step reply target older / newer; past newest clears Alt+;Emoji search: type to filter, arrows to pick, Enter inserts, Ctrl+Enter sends, Esc closes Ctrl+B/I/U/KBold / italic / underline / link Ctrl+Shift+X/M/P/NStrikethrough / monospace / spoiler / plain Ctrl+Shift+.Quote (works at cursor without a selection too)
Latest versions are available through:
- Telegram Channel (Latest Beta)
- GitHub Actions (CI Artifacts)
- GitHub Releases (Latest Stable)
Official APKs use the following Android signing certificate:
- Package name:
nekox.messenger/nekox.messengerx(base version) - SHA-256:
0D:51:91:56:E8:0C:91:8C:28:C4:80:BF:D1:3F:31:6A:3B:3B:F7:22:DB:53:2F:AB:74:66:0E:C8:E5:C5:06:A1
-
Obtain API credentials (
TELEGRAM_APP_IDandTELEGRAM_APP_HASH) from Telegram Developer Portal. Createlocal.propertiesin the project root with:TELEGRAM_APP_ID=<your_telegram_app_id> TELEGRAM_APP_HASH=<your_telegram_app_hash>
-
For APK signing: Replace
release.keystorewith your keystore and add signing configuration tolocal.properties:KEYSTORE_PASS=<your_keystore_password> ALIAS_NAME=<your_alias_name> ALIAS_PASS=<your_alias_password>
-
For FCM support: Replace
TMessagesProj/google-services.jsonwith your own configuration file. -
Open the project in Android Studio to start building.
-
Replace
TMessagesProj/release.keystorewith your keystore file. -
Configure
local.propertieswith the following:KEYSTORE_PASS=<your_keystore_password> ALIAS_NAME=<your_alias_name> ALIAS_PASS=<your_alias_password> TELEGRAM_APP_ID=<your_telegram_app_id> TELEGRAM_APP_HASH=<your_telegram_app_hash>
Base64 encode the contents of this file.
-
Configure GitHub Action secrets:
LOCAL_PROPERTIES: Base64-encoded content from step 2HELPER_BOT_TOKEN: Telegram bot token from @Botfather (e.g.,1111:abcd)HELPER_BOT_TARGET: Primary Telegram chat ID (e.g.,777000)HELPER_BOT_CANARY_TARGET: Chat ID for test builds and metadata (can matchHELPER_BOT_TARGET)
-
Trigger the Release Build workflow.