{"id":13611758,"url":"https://github.com/paper-plane-developers/paper-plane","last_synced_at":"2025-04-08T12:08:20.169Z","repository":{"id":37497780,"uuid":"336861846","full_name":"paper-plane-developers/paper-plane","owner":"paper-plane-developers","description":"Chat over Telegram on a modern and elegant client","archived":false,"fork":false,"pushed_at":"2024-08-18T06:09:24.000Z","size":3713,"stargazers_count":954,"open_issues_count":89,"forks_count":37,"subscribers_count":27,"default_branch":"main","last_synced_at":"2024-08-20T21:16:40.782Z","etag":null,"topics":["gnome","gtk","gtk4","libadwaita","rust","tdlib","telegram","telegram-client"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paper-plane-developers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"melix99"}},"created_at":"2021-02-07T18:41:03.000Z","updated_at":"2024-08-20T21:16:50.509Z","dependencies_parsed_at":"2023-09-21T21:53:08.815Z","dependency_job_id":"6e4398d4-8e5a-43f0-82f2-ebf06b861c28","html_url":"https://github.com/paper-plane-developers/paper-plane","commit_stats":null,"previous_names":["melix99/telegrand"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paper-plane-developers%2Fpaper-plane","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paper-plane-developers%2Fpaper-plane/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paper-plane-developers%2Fpaper-plane/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paper-plane-developers%2Fpaper-plane/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paper-plane-developers","download_url":"https://codeload.github.com/paper-plane-developers/paper-plane/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247838444,"owners_count":21004580,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gnome","gtk","gtk4","libadwaita","rust","tdlib","telegram","telegram-client"],"created_at":"2024-08-01T19:02:05.106Z","updated_at":"2025-04-08T12:08:20.151Z","avatar_url":"https://github.com/paper-plane-developers.png","language":"Rust","readme":"\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\"data/icons/app.drey.PaperPlane.svg\" alt=\"Paper Plane\" width=\"192\" height=\"192\"/\u003e\n  \u003cbr\u003e\n  Paper Plane\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\u003cstrong\u003eChat over Telegram on a modern and elegant client\u003c/strong\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://hosted.weblate.org/engage/paper-plane/\"\u003e\n    \u003cimg src=\"https://hosted.weblate.org/widgets/paper-plane/-/main/svg-badge.svg\" alt=\"Translation status\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/paper-plane-developers/paper-plane/actions/workflows/ci.yml\"\u003e\n    \u003cimg src=\"https://github.com/paper-plane-developers/paper-plane/actions/workflows/ci.yml/badge.svg\" alt=\"CI status\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://repology.org/project/paper-plane/versions\"\u003e\n    \u003cimg src=\"https://repology.org/badge/tiny-repos/paper-plane.svg\" alt=\"Packaging status\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://t.me/paperplanechat\"\u003e\n    \u003cimg src=\"https://img.shields.io/static/v1?label=Chat\u0026message=@paperplanechat\u0026color=blue\u0026logo=telegram\" alt=\"Telegram group\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=600 src=\"data/resources/screenshots/screenshot1.png\" alt=\"Screenshot\"/\u003e\n\u003c/p\u003e\n\nPaper Plane is an alternative Telegram client.\nIt uses libadwaita for its user interface and strives to meet the design principles of the GNOME desktop.\n\nPaper Plane is still under development and not yet feature-complete.\nHowever, the following things are already working:\n\n- The use of multiple accounts at the same time.\n- Viewing text messages, images, stickers and files.\n- Sending text messages and images.\n- Replying to messages.\n- Searching for groups and persons.\n\n## Installation Instructions\n\n\u003ca href=\"https://repology.org/project/paper-plane/versions\"\u003e\n    \u003cimg src=\"https://repology.org/badge/vertical-allrepos/paper-plane.svg\" alt=\"Packaging status\" align=\"right\"\u003e\n\u003c/a\u003e\n\nPaper Plane is an in-development project and it isn't considered stable software yet.\n\nAlso, the included API credentials in the Flathub release are still very new and untested. In some cases, your account may end up banned by Telegram (check the `Telegram API Credentials` section below).\n\nYou can avoid that by using a custom built version of Paper Plane with provided API credentials via meson options, like [this AUR package](https://aur.archlinux.org/packages/paper-plane-git) which you may prefer using if you use Arch Linux. These API credentials\nare much older and thus the risk of getting banned is reduced.\n\n### Flathub Beta\n\nBut, if you still feel brave enough, you can install the latest release from `Flathub Beta`. To do this, you need to add the the Flathub Beta remote first\n```shell\n$ flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo\n```\nThen you can install the application by issuing\n```shell\n$ flatpak install flathub-beta app.drey.PaperPlane\n```\nPaper Plane can be kept up to date by issuing flatpak's update command like\n```shell\n$ flatpak update\n```\n\n### CI Build (Not Recommended)\n\nYou can also grab the latest CI build with test API credentials from [here](https://nightly.link/paper-plane-developers/paper-plane/workflows/ci/main).\nThen you need to unzip the archive's content and install the application with the command `flatpak install paper-plane.flatpak`. Keep in mind that these test credentials are even more riskier than those from the Flathub release. Also, you need to manually keep it updated.\n\n## Telegram API Credentials\n\nTelegram requires custom clients to set some credentials for using their API. Paper Plane doesn't provide official API credentials, so the packagers are expected to set their own credentials for distributing the app, obtainable at https://my.telegram.org/. However, Paper Plane includes the Telegram's test credentials by default, which are very limited, but usable (especially for development). However, it's known that Telegram sometimes decides to ban accounts that use such credentials (especially newer accounts). For that reason, it's suggested to use your own API credentials, which can be set by using meson options (see the `Build Instructions` section below).\n\n## Build Instructions\n\n### Gnome Builder\n\nUsing Gnome Builder is the easiest way to get the app built without even using the terminal: just clone the repository and press the big \"Run\" button at the top and it will automatically build all the required dependencies together with the app.\n\n### Meson\n\n#### Prerequisites\n\nThe following packages are required to build Paper Plane:\n\n- meson\n- cargo\n- GTK \u003e= 4.10 (with the patch included in the build-aux directory)\n- libadwaita \u003e= 1.4\n- libshumate \u003e= 1.0.0\n- [TDLib 1.8.19](https://github.com/tdlib/td/commit/2589c3fd46925f5d57e4ec79233cd1bd0f5d0c09)\n- [Telegram API Credentials](https://my.telegram.org/) (optional, but recommended)\n\nAdditionally, Paper Plane requires the following GStreamer plugins installed in your system to correctly show all media files:\n\n- gstreamer-libav\n- gstreamer-plugins-good\n\n#### Instructions\n\n```shell\nmeson . _build -Dtg_api_id=ID -Dtg_api_hash=HASH\nninja -C _build\nsudo ninja -C _build install\n```\n\n## Contribution\n\nAny type of participation is encouraged. If you want to translate, you can refer to [our weblate project](https://hosted.weblate.org/engage/paper-plane). But also design and art contributions are welcome. For this [our design repository](https://github.com/paper-plane-developers/paper-plane-designs) is the first place to go.\n\nIf you want to contribute code, please keep your commits in the style of [conventional commits](https://www.conventionalcommits.org/en/v1.0.0). The only difference we make is that we capitalize the actual description after the colon \":\" at the beginning of the sentence.\n\n\n## Acknowledgment\n\nThe general code architecture was heavily inspired by [Fractal](https://gitlab.gnome.org/GNOME/fractal).\n\nAlso, some logic is inspired by [Telegram X](https://github.com/TGX-Android/Telegram-X), which helps to understand how to use some TDLib features correctly and to their fullest potential.\n","funding_links":["https://github.com/sponsors/melix99"],"categories":["Rust","Internet and Networking"],"sub_categories":["Chat, VoIP, and Phone"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaper-plane-developers%2Fpaper-plane","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaper-plane-developers%2Fpaper-plane","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaper-plane-developers%2Fpaper-plane/lists"}