Telegram messenger for Android

Related tags

App telegram
Overview

Telegram messenger for Android

Telegram is a messaging app with a focus on speed and security. It’s superfast, simple and free. This repo contains the official source code for Telegram App for Android.

Creating your Telegram Application

We welcome all developers to use our API and source code to create applications on our platform. There are several things we require from all developers for the moment.

  1. Obtain your own api_id for your application.
  2. Please do not use the name Telegram for your app — or make sure your users understand that it is unofficial.
  3. Kindly do not use our standard logo (white paper plane in a blue circle) as your app's logo.
  4. Please study our security guidelines and take good care of your users' data and privacy.
  5. Please remember to publish your code too in order to comply with the licences.

API, Protocol documentation

Telegram API manuals: https://core.telegram.org/api

MTproto protocol manuals: https://core.telegram.org/mtproto

Compilation Guide

Note: In order to support reproducible builds, this repo contains dummy release.keystore, google-services.json and filled variables inside BuildVars.java. Before publishing your own APKs please make sure to replace all these files with your own.

You will require Android Studio 3.4, Android NDK rev. 20 and Android SDK 8.1

  1. Download the Telegram source code from https://github.com/DrKLO/Telegram ( git clone https://github.com/DrKLO/Telegram.git )
  2. Copy your release.keystore into TMessagesProj/config
  3. Fill out RELEASE_KEY_PASSWORD, RELEASE_KEY_ALIAS, RELEASE_STORE_PASSWORD in gradle.properties to access your release.keystore
  4. Go to https://console.firebase.google.com/, create two android apps with application IDs org.telegram.messenger and org.telegram.messenger.beta, turn on firebase messaging and download google-services.json, which should be copied to the same folder as TMessagesProj.
  5. Open the project in the Studio (note that it should be opened, NOT imported).
  6. Fill out values in TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java – there’s a link for each of the variables showing where and which data to obtain.
  7. You are ready to compile Telegram.

Localization

We moved all translations to https://translations.telegram.org/en/android/. Please use it.

Comments
  • Fixed infinite connection loop when device has no network.

    Fixed infinite connection loop when device has no network.

    When the device has no network or is in offline mode the code enters in a loop, attempting (and obviously failing) to ping the servers. This brings to 100% CPU usage and battery drain. This patch simply avoids to reschedule a connection attempt when there is no network.

    A typo in a log message has been also fixed.

    opened by mscg82 33
  • Settings toggle to invert notification messages

    Settings toggle to invert notification messages

    Telegram is the only chat application that inverts the order of messages in the notifications. I added an option in the notification settings to allow the user to select which order they want their messages to appear.

    opened by jcarter3 17
  • Dutch translation for Telegram

    Dutch translation for Telegram

    I (@geertw and @NielsdeBlaauw) have made a professional Dutch translation for Telegram, courtesy by @interexperts. We have thorougly reviewed our translation and we are sure that it is correct, consistent and has the right attitude towards Dutch natives. Thank you for considering our merge!

    opened by geertw 14
  • New features, some of them solving open issues

    New features, some of them solving open issues

    I have implemented some features that people usually request to Support Force Team:

    1. Confirmation when creating a new secret chat: according to issue #241
    2. Confirmation when sharing contact info: As it is an option that appears on top of chat when contact don't know your number, I think (and so do some other member of Spanish Support Force) that it is a good idea to ask for confirmation, to avoid unintentionally clicks.
    3. Only wifi Automatic Download: As an option in settings for Audio and photos, according to issue #146. It can also be helpful to save data, when then people, like me, have a limit of 1GB or even less.
    4. Add Version Info in Settings: A new section have been added in settings (at the bottom) that shows currently version name, according to issue #391.
    5. Show/Hide Last Connection: This is the hardest one because with current API the only way (the one I used) is to avoid client sending "online" notification to servers, so other users can't know if I am online; they will only know the time when I decided to hide it as my "last connection time". According to this, this feature is client dependent so if using another client without this feature, this client will send "online" info and contact wil know it.
    6. Finally I added some strings needed to strings.xml (in English and Spanish).

    There are some changes in build.gradle that I needed in order to compile my app correctly, but don't think they are needed in official version (except changing version number).

    opened by rubenlagus 13
  • Update strings.xml

    Update strings.xml

    This file is a Catalan Translation ("values-ca") For Catalan people. WhatsApp is not translated to Catalan and this must bé a good feature to Telegram.By the way, What about to change language from Setttings menu?Not all devices have Catalan system option and choosing from menu can solve this issue with Telegram App.Kind Regards Escufi

    opened by escufi 13
  • Catalan translation + fix a hard-coded string ('Send Logs')

    Catalan translation + fix a hard-coded string ('Send Logs')

    I first fixed a hard-coded string in SettingsActivity.java externalizing it to resources XML files (warning, in values-ar I put it in English).

    Then I created the Catalan translation from scratch.

    opened by unknowncatalan 12
  • BUG in notification settings activity

    BUG in notification settings activity

    [BUG] after call this method, when MessagesLed and GroupLed row fit in a same screen both of them display in a same color.

    Because of Issues section is disabled I had to propose that here.

    opened by SHi-ON 9
  • New Features for Blocked Contacts

    New Features for Blocked Contacts

    1. Added a new table in database for blocked contacts
    2. Bocked contacts list in setting now make use of previous database.
    3. When seeing the profile of a blocked contact, now appear the option to "unblock" it instead of "block" one.
    4. Added support for more than 200 blocked contact (not tested as I don't have so many blocked contacts).
    5. When blocking/unblocking a contact, de table in database is updated and a notification posted (also when loading MessagesActivity.java).
    6. In Contact Profile Activity, the menu bar is forced to be created/modified by the UIthread (to avoid problems when need to be modified)
    7. Added comment to the methods I have added.
    opened by rubenlagus 9
  • added notification light settings (global, user, chat)

    added notification light settings (global, user, chat)

    I have added the ability to change the notification light for private chats and group chats. Additionally the color can be changed for each individual user/group.

    It would be nice to see this in the next version :)

    opened by ghost 9
  • improved accessibility of telegram for blind users

    improved accessibility of telegram for blind users

    In oficial telegram for android it exists problem,when it impossible accept or decline calls with talkback,if we have android seven or lower,I.E when blind users do double tap,it nothing happends,because we not get action AccessibilityNodeInfo.ACTION_CLICK in method of custom view performAccessibilityAction and in method onTouchEvent of custom view we should be use super version of this method,I.E super.onTouchEvent and we should set clickable true in constructor of class CallSwipeView. Also in telegram,when someone busy and decline our call,instead of contentDescription with CallAgain string name we have contentDescription with VoipEndCall string name,so blind users consider,that after pressing of this button window of call in telegram probably will be closed,I.E as it works,when user press cancel button,but instead of this call start again,so it should be fixed,because it misleadin of blind users of telegram. Also in this pull request was fixed error 87,which happends,for example,if we compile telegram in android studio in windows.

    opened by AlexandrKozlovskiy 8
  • fixed remote upload of images (eg. the one in your backup Google folder)

    fixed remote upload of images (eg. the one in your backup Google folder)

    if you try to upload an image from your Google backup for example (ie is not in your local storage) i'ts doing nothing. After this fix it works: the changes for uploading image are made only in ChatActivity and Wallpaper one.. Are you using image upload elsewere?

    for more infos: https://developer.android.com/guide/topics/providers/document-provider.html#client at the paragraph Open a document -> Bitmap

    opened by AlexGreg 8
  • Fix issue with search in ActionBar

    Fix issue with search in ActionBar

    This pull request fixes an issue where searching for the "from:" keyword in the ActionBar would cause the app to crash. The issue was caused by attempting to access a line in the layout that did not exist. The solution is to add a check to ensure that the line offset is within the bounds of the layout before attempting to access it. This fix will prevent the app from crashing when searching for "from:" in the ActionBar.

    opened by Laky-64 0
  • Update theme icon in the drawer when theme is changed from settings

    Update theme icon in the drawer when theme is changed from settings

    When user changes theme in the chat settings by clicking on Switch to Day Mode or Switch to Night Mode button, the button icon in the drawer doesn't change.

    Steps to reproduce:

    1. Go to Chat Settings in the settings menu.
    2. In the chat settings, change theme by clicking on Switch to Day Mode or Switch to Night Mode.
    3. After changing the theme come back to initial page (LaunchActivity).
    4. Open the drawer and check the theme button in the drawer, (it shows wrong image (sun instead of moon or moon instead of sun)).
    5. Now change the theme from drawer button the button animation doesn't trigger.
    opened by ryg-git 0
  • Fix ipv6 connection hangs when in v4 environment

    Fix ipv6 connection hangs when in v4 environment

    Since connection will be reset to USE_IPV4_IPV6_RANDOM when connection failed even in pure v4 environment.

    https://github.com/DrKLO/Telegram/blob/0e17caa7a6facd8220077ee708c4acc942a175d1/TMessagesProj/jni/tgnet/Connection.cpp#L699-L702

    However, it does not reset lastProtocolUsefullData correctly if connectionType is not ConnectionTypeGeneric (usually problem occurs when ConnectionTypeGenericMedia) and lastProtocolUsefullData will be set false only here.

    https://github.com/DrKLO/Telegram/blob/0e17caa7a6facd8220077ee708c4acc942a175d1/TMessagesProj/jni/tgnet/Connection.cpp#L299-L311

    So it always connect as ipv6 if lastProtocolUsefullData is true and RAND_bytes got 0, 3, 6 even there is no ipv6 capability.

    I try to fix it using always reset lastProtocolUsefullData to false when USE_IPV4_IPV6_RANDOM is meet.

    opened by ayanamist 0
  • Fix black screen in topics (Forwarding messages)

    Fix black screen in topics (Forwarding messages)

    When you try to forward any message from topic to a topic, the screen becomes black if you use Alternative navigation. We have to use animation start and end to fix this issue

    opened by arsLan4k1390 0
Releases(release-9.3.0_3021)
Owner
DrKLO
DrKLO
A private messenger for Android.

Signal Android Signal is a messaging app for simple private communication with friends. Signal uses your phone's data connection (WiFi/3G/4G) to commu

Signal 23.2k Jan 7, 2023
Open Super dApp - Your gateway to the new digital commons. Integrated mobile messenger, Ethereum wallet, and Web 3.0 browser built on open, decentralized, and encrypted protocols.

A fully open source, open standard, decentralized "super app" including a secure, encrypted Matrix compatible messenger based off of the Element Messenger, and an Ethereum crypto wallet and web3 browser based off of Alpha Wallet.

2Gather 6 Jul 25, 2022
The third-party Telegram android app.

The third-party Telegram android app.

NekoX Dev 3.5k Jan 8, 2023
Re - Redirect outgoing calls to Signal or Telegram

Re Redirect outgoing calls to Signal or Telegram. Tiny app to redirect outgoing

lucky 26 Oct 8, 2022
Redirect outgoing calls to Signal/Telegram/Threema.

Red Redirect outgoing calls to Signal/Telegram/Threema. Tiny app to redirect outgoing calls to Signal/Telegram/Threema if available. You can cancel re

lucky 26 Oct 8, 2022
A lightweight, feature-rich wrapper for the Telegram Bot API, providing a handy Kotlin DSL to quickly build your bot.

Kotlin Telegram Bot Kotlin based wrapper over Telegram API. Current version of the Telegram Api: 6.0 Principles Annotations Magic. The basic interacti

Jey 61 Dec 27, 2022
Bringing webhooks into Telegram. Push messages to chats via URL with a simple API.

Webhooks over Telegram (WoT) WoT aims to provide a simple API for registering webhooks and sending messages to Telegram chats via them using a single

d1s utils 2 Oct 5, 2022
A repository that contains various examples of how to use the telegram-bot library.

Telegram-bot templates This repository contains simple different examples of how to use the telegram-bot library. How to use All the examples are conv

Jey 3 Nov 15, 2022
Simple Telegram bot that responds with list of results obtained from Google.

Simple project focused on learning a little more about how Telegram bots work and are created. The bot has a very basic functionality: the user types

Jesus Ericks 3 Nov 13, 2022
android-delicious Delicious Android is an Android app which helps you access and save bookmarks via Delicious. It's available over at Google Play.

Delicious Android Delicious Android is an Android app which helps you access and save bookmarks via Delicious. It's available over at Google Play. Fea

Alexander Blom 137 Nov 20, 2022
Android cutout screen support Android P. Android O support huawei, xiaomi, oppo and vivo.

CutoutScreenSupport Android cutout screen support Android P. Android O support huawei, xiaomi, oppo and vivo. Usage whether the mobile phone is cutout

hacket 5 Nov 3, 2022
FoldingNavigationDrawer-Android This is a sample project present how to use Folding-Android to add Folding Efect to Navigation Drawer.

FoldingNavigationDrawer-Android Sample (Play Store Demo) This is a sample project present how to use Folding-Android to add Folding Efect to Navigatio

null 242 Nov 25, 2022
Twidere-Android Twidere is a powerful twitter client for Android 1.6+ 1 , which gives you a full Holo experience and nearly full Twitter's feature.

Twidere for Android Material Design ready and feature rich Twitter/Mastodon/Fanfou app for Android 4.1+. Enjoy Fediverse now! Twidere-Android is maint

Twidere Project 2.7k Jan 2, 2023
:movie_camera: Movie discovery app showcasing Android best practices with Google's recommended architecture: MVVM + Repository + Offline support + Android Architecture Components + Paging library & Retrofit2.

Popular Movies Stage 1 + Stage 2 Discover the most popular and top rated movies playing. Movies data fetched using themoviedb.org API. ✨ Screenshots M

Yassin AJDI 189 Nov 26, 2022
Extensible Android mobile voice framework: wakeword, ASR, NLU, and TTS. Easily add voice to any Android app!

Spokestack is an all-in-one solution for mobile voice interfaces on Android. It provides every piece of the speech processing puzzle, including voice

Spokestack 57 Nov 20, 2022
Aggregated Android news, articles, podcasts and conferences about Android Development

DroidFeed Curated news feed for Android Developers! Stay up to date with the latest Android Development news. Built for the Android developer communit

Dogan Gulcan 183 Dec 2, 2022
Shreyas Patil 2.1k Dec 30, 2022
A simple app to showcase Androids Material Design and some of the cool new cool stuff in Android Lollipop. RecyclerView, CardView, ActionBarDrawerToggle, DrawerLayout, Animations, Android Compat Design, Toolbar

#Android-LollipopShowcase This is a simple showcase to show off Android's all new Material Design and some other cool new stuff which is (new) in Andr

Mike Penz 1.8k Nov 10, 2022
The Android startup used to schedule tasks, jobs while launching Android App.

Android Startup, schedule your startup jobs Introduction AndroidStartup is an open source project used to refine your Andriod App startup. Compared wi

ShouHeng 46 Aug 24, 2022