#!/bin/bash toolName=matrix-commander toolCloneUrl='https://github.com/8go/matrix-commander.git' toolDeps="python3-pip python3-venv libolm-dev" toolCredentialDir= toolEncStoreDir= # Get script working directory # (when called from a different directory) WDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >>/dev/null 2>&1 && pwd)" APTOPT= CONFIG=0 SCRIPT_FILE=$(basename -- $0) SCRIPT_NAME=${SCRIPT_FILE%%.*} CONFIG_FILE_NAME="${SCRIPT_NAME}.cfg" CONFIG_FILE_TEMPLATE="$WDIR/${CONFIG_FILE_NAME}.example" seq_config() { ## or to use sequencer api with global config file: initSeqConfig "$CONFIG_FILE_NAME" "$CONFIG_FILE_TEMPLATE" if [ $? -eq 0 ] ; then CONFIG=1 else # End if no configuration file exists dry || return -1 fi toolCredentialDir="$MACO_BASE_DIR/.config/matrix-commander" toolEncStoreDir="$MACO_BASE_DIR/.local/share/matrix-commander" ## Apt cmdline option to suppress user interaction quiet && APTOPT="-y" ## Return of non zero value will abort the sequence return 0 } step_1_info() { echo "Run $toolName"; } step_1_alias() { echo "run"; } step_1() { shift exe "$MACO_BASE_DIR/bin/python3" "$MACO_DIR/matrix-commander.py" "$@" } step_3_info() { echoinfoArgs "[MESSAGE] [MESSAGE] ..." echo "Send message" echoinfo "Each string ([MESSAGE]) is send as separate message" } step_3_alias() { echo "message"; } step_3() { shift step run -m "$@" } step_50_info() { echo "Install $toolName dependencies"; } step_50_alias() { echo "install"; } step_50() { apt install $toolDeps $APTOPT } step_51_info() { echo "Add system user $MACO_USER"; } step_51() { id $MACO_USER >/dev/null 2>&1 [ $? -eq 0 ] && endReturn -o 1 "User $MACO_USER already exists" exe adduser --system $MACO_USER --group --home "${MACO_BASE_DIR}" --no-create-home } step_52_info() { echo "Create venv and install $toolName"; } step_52() { [ -e "$MACO_BASE_DIR" ] && endReturn -o 1 "$toolName already installed" exe python3 -m venv "$MACO_BASE_DIR" endReturn -o $? "Creating virtual environment failed" exe git clone $toolCloneUrl "$MACO_DIR" exe chown -R $MACO_USER: "$MACO_BASE_DIR" exe sudo -u $MACO_USER ${MACO_BASE_DIR}/bin/pip install --upgrade pip } step_53_info() { echo "Install python requirements"; } step_53() { cat < People -> select matrix commander user -> Security -> sessions -> matrix-commander session * verify with emojis ## Credential information location matrix-commander expects the following files to be in place for the user to be able to send/receive messages credentials.json - $MACO_BASE_DIR/.config/matrix-commander/credentials.json store - $MACO_BASE_DIR/.local/share/matrix-commander/store NOTES_EOF } readonly sqr_minVersion=16 . /usr/local/bin/sequencer.sh