@@ -5,12 +5,15 @@ This project realizes a signal community bot known from other social plattforms
# Installation
This chapter covers the whole installation of the signalbot while using a Raspberry Pi 4 with RaspberryOS already installed. Additionally you'll need a phonenumber that is not linked to an existing signal account.
If you just want to use the bot via Signal scroll down to [Features](# Features).
You can find any addiotional information in docs/main.pdf.
## Installation preparation
This section describes how to install signal-cli on a Raspberry Pi 4. Note that earlier hardware versions are not supported due to the built-in processor generation.
This section describes how to install signal-cli on a Raspberry Pi 4. Note that earlier hardware versions are not supported due to the built-in processor generation. In order for libsignal to work you'll need JRE 17 or higher.
* When installing Rust on a Raspberry Pi, it is recommended to install *rustup - The Rust Language installer* by [snapcraft](https://snapcraft.io/install/rustup/raspbian)
* Installation of the Snap Store: `$ sudo apt install snapd`
...
...
@@ -28,9 +31,6 @@ The *signal-cli* equires the libraries [Libsignal-client](https://github.com/Asa
*`$ sed -i "s/, ':android'//" settings.gradle`
*`$ ./build_jni.sh desktop`\
The compiled library is then located in the directory *libsignal-client* under *target/release/libsignal_jni.so*.
* Installation of the Libzkgroup library
*`$ make libzkgroup`
You can optionally compile with four processor cores using the `-j4` parameter.
## Compilation and installation of the signal-cli
This section corresponds to the [signal-cli instructions](https://github.com/AsamK/signal-cli#building) for compiling.
...
...
@@ -49,7 +49,9 @@ The libraries compiled in the previous section must now be replaced in the compi
*`exec "$JAVACMD" "$JAVA_LIBRARY_PATH" "$@"`
## Installing the required Python libraries
Automatically install all required packages: `pip3 install -r requirements.txt`
Manually install the PyGObject: `$ sudo apt install python3-gi`
Automatically install all required packages: `$ pip3 install -r requirements.txt`
# Create an Account
A phone number is required to create an account. It is possible to receive the opening code via SMS or voice call. In these instructions, a landline number is used for the account and thus the activation by voice call. Please note that the country code must be entered for the telephone number, which is +49 for Germany.
...
...
@@ -114,7 +116,7 @@ The bot will try to guess the language of `<String>`. Example: `.deepl ES, Where
## Crawlers
`.genderneutral <German String>` or `.gn <German String>` - Looks if a string (can be more than one sentence) is genderneutral and displays alternatives for genderspecific words. Powered by [geschicktgendern](https://www.geschicktgendern.de)
`.freegames` - Displays video games that are currently free, *but usually not*. Powered by [freegamesyo](https://www.freegamesyo.com)
`.freegames` - DISCONTINUED: Displays video games that are currently free, *but usually not*. Powered by [freegamesyo](https://www.freegamesyo.com)
## Databases
`.saveQuote <"Quote">; <Person>; <Year>` - Save a quote. Example: `.savequote "640 kB ought to be enough for anybody."; Not Gates; 1981`
@@ -153,7 +153,8 @@ Für die Kommunikation mit den Signal Servern wird die \textit{signal-cli} \cite
\subsection{Installation}
\label{sec:einleitung_SignalCLI_Install}
Dieser Abschnitt beschreibt die Installation der signal-cli auf einem Raspberry Pi 4. Hierbei ist zu beachten, dass frühere Hardwareversionen aufgrund der eingebauten Prozessorgeneration nicht unterstützt werden.
Dieser Abschnitt beschreibt die Installation der signal-cli auf einem Raspberry Pi 4. Hierbei ist zu beachten, dass frühere Hardwareversionen aufgrund der eingebauten Prozessorgeneration nicht unterstützt werden. Es sei zu beachten, dass JRE in der Version 17 oder höher installiert wird. Gegebenenfalls ist dafür eine aktuelle Linux-Version vonnöten.
\item Installation von Gradle\\\lstinline[breaklines=true]|$ sudo apt-get install gradle|
\item Installation von Rust\\ Bei der Installation von Rust auf einem Raspberry Pi wird die Installation von \textit{rustup - The Rust Language installer} von snapcraft \cite{snapcraftrustup} empfohlen.
\begin{itemize}
...
...
@@ -185,9 +188,6 @@ Die \textit{signal-cli} benötigt die Bibliotheken \textit{Libsignal-client} \ci
Die kompilierte Bibliothek befindet sich dann im Verzeichnis \lstinline[breaklines=true]|libsignal-client| unter \lstinline[breaklines=true]|target/release/libsignal_jni.so|
\item Installation der Libzkgroup Bibliothek\\
\lstinline[breaklines=true]|$ make libzkgroup|\\
Optional kann mit dem Parameter -j4 mit vier Prozessorkernen kompiliert werden