TelegramClient is a Squeak-Client for the widely used Telegram-Messenger. It aims to provide features such as Authentication, Contacts, Message and Media sending and a minimal UI as well as as a Zen-mode and receiving messages in the background.
The current TelegramClient doesn't works because the TDLib (Version 1.8.0) is outdated and is not longer supported further informations.
This Project is part of the "Softwaretechnik" Lecture since 2020 at the Hasso Plattner Institute.
✨ | Feature |
---|---|
🔓 | Authenticate yourself in your Telegram-Account |
✉️ | Send messages to other users |
💬 | Display open Chats in a List |
📫 | Receive messages |
🆕 | Create new chats |
🔔 | Receive push notifications |
🌍 | Start Telegram via WorldMenu |
🚶 | Logout |
😎 | Display Emojis |
🖼 | Display Images |
ℹ | Show group description and members |
↩ | Reference an old message |
🖼 | Show profile pictures, also in info screen |
🖼️ | Display, choose and send static sticker |
:) | Display emoji as substitute for an animated sticker |
🙋 | Display, participate, create and send polls |
🎬 | view and send videos |
📄 | view, download and send documents |
We currently only support Squeak 6.
Open a Workspace and evaluate the following command in it:
Metacello new
baseline: 'TelegramClient';
repository: 'github://hpi-swa-teaching/TelegramClient/packages';
load.
-
Install the following prerequisites:
- Last compatible FFI version. For Squeak version 5.3 use
Metacello new configuration: 'FFI'; load.
to install it. - JSON package from SqueakSource.
- Animations package GitHub.
- MTF package from GitHub
- Last compatible FFI version. For Squeak version 5.3 use
-
Check our release page for an online installer in the form of a SAR file. Install this SAR file in your Squeak image.
-
Click the Telegram entry in the Apps WorldMenu or execute the command
TCUTelegram newWithTCCCore
. The menu is only available if you already started the app once or installed the app via a release SAR file.
For further information or manual setup take a look in our setup guide.
The wiki has a lot of useful information for continuing the development of this project. Feel free to add new information to the wiki.
Pre-Releases are created automatically whenever a commit is added to the develop-branch. Releases should created before each client meeting and can simply be done by merging develop into master.
Group 13 of the 2024 SWT I module included Jannes Konarski, Jonas Kubeler, Elia Doumerc, Fabian Möller, and Alexander Ho.
Group 11 of the 2022 SWT I module included Richard Wohlbold, Til Bergmann, Antony Kamp, Lucas Reisener, Erik Kohlros, and Jacob Schäfer.
Group 2 of the 2021 SWT I module included Romeo Sommerfeld, Raphael Kunert, Jannis Berndt, Philipp Keese, Tom Richter, and Paul Ermler.
Group 13 of the 2020 SWT I module included Rohan Sawahn, Jonas Schmidt, Frederik Wollny, Stefan Spangenberg, Lukas Laskowski, and Niklas Schilli.
Feel free to add your names to the list.
This project uses assets from https://openmoji.org/ for Emoji support. These are downloaded when the client starts for the first time and not hosted in this repository. Each file is resized before being displayed and filenames are stripped of certain Unicode units after download. The contents of the files is not changed. OpenMoji is published under the Creative Commons Share Alike License 4.0 CC BY-SA 4.0. Their project is also hosted on GitHub.