TeleSqueak 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, clean UI as well as as a Zen-mode and receiving messages in the background.
This Project is part of the "Softwaretechnik" Lecture 2020 at the Hasso Plattner Institute.
Make sure you have the current version of Squeak installed.
- Step 1: Install the Squeak Git Client and clone this repository. For the trunk clone develop, for the latest stable release choose master.
- Step 2: Install the Squeak FFI Workload. To do so, open the Workspace in Squeak and execute the following command:
(Installer repository: 'http://source.squeak.org/FFI') install: 'FFI-Pools'; install: 'FFI-Kernel'.
- Step 3: Download the required native Binaries for your system. Windows, Mac, Ubuntu 18 lts. Select the latest successful run of the pipeline and download the single artifact produced by the respective pipeline.
- Step 4: Place the unzipped binaries inside of your squeak image inside the 'Resource' folder.
- Step 5 (Windows only): Install the Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019
Alternatively, check our release page for an online installer in the form of a sar file. In that case you just have to follow steps two and five.
In a workspace window either execute the command TCUTelegram newWithTCCCore
or click the Telegram entry in the Apps dropdown menu. The menu is only available if you already started the app once or installed the app via a release sar file.
Tdlib build instructions are available on their Github page. They also have a wonderful build instruction generator available which was the basis for our workflow . Check it out here. Alternatively use the Github Pipelines we setup and modify them according to newer build instructions for successive tdlib versions. Currently we release at Tag 1.6.0.
The TelegramClient is build on the TelegramDatabseLibrary which provides access to Telegram API via a JSON-Interface. We include Tdlib in our project and can access it with the Squeak FFI, in turn allowing us to access the Telegram API via JSON-Interface. Once this project concludes there will be a need for the next group to aquire a new API key.
We have a Discord server setup with a Github Webhook, notifying us on important changes to the repository. Most exchanges happened in there, making it a valueable resource for successive groups.
Group 13 of the 2020 SWT I module incuded Rohan Sawahn, Jonas Schmidt, Frederik Wollny, Stefan Spangenberg, Lukas Laskowski and Niklas Schilli.