Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
1 result

README.md

Blame
  • README.md 10.70 KiB

    Signalbot

    This project realizes a signal community bot known from other social plattforms like Twitch, Discord & Mumble. It is based on the simple request to automatically remind a groupchat of upcoming birthdays and events.

    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 .

    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.

    • Installation JRE: $ sudo apt-get install default-jre
    • Installation Gradle: $ sudo apt-get install gradle
    • When installing Rust on a Raspberry Pi, it is recommended to install rustup - The Rust Language installer by snapcraft
      • Installation of the Snap Store: $ sudo apt install snapd
      • Restart the Pi: $ sudo reboot
      • Installation of core snap: $ sudo snap install core
      • Installation of rustup: $ sudo snap install rustup --classic
    • Installation of the protocol buffer compiler: $ sudo apt install protobuf-compiler

    Compilation of the signal-cli libraries

    The signal-cli equires the libraries Libsignal-client and Libzkgroup. They will be downloaded from GitHub and then compiled.

    • Installation of the Libsignal-client library
      • Switch to the java directory: $ cd java
      • Comment out the compilation of the Android Lib with #
      • $ 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.