Add moonraker-telegram-bot to kiauh
This commit is contained in:
4
kiauh.sh
4
kiauh.sh
@@ -38,6 +38,9 @@ OCTOPRINT_DIR=${HOME}/OctoPrint
|
||||
#KlipperScreen
|
||||
KLIPPERSCREEN_DIR=${HOME}/KlipperScreen
|
||||
KLIPPERSCREEN_ENV_DIR=${HOME}/.KlipperScreen-env
|
||||
#moonraker-telegram-bot
|
||||
MOONRAKERTELEGRAMBOT_DIR=${HOME}/moonraker-telegram-bot
|
||||
MOONRAKERTELEGRAMBOT_ENV_DIR=${HOME}/moonraker-telegram-bot-env
|
||||
#misc
|
||||
INI_FILE=${HOME}/.kiauh.ini
|
||||
BACKUP_DIR=${HOME}/kiauh-backups
|
||||
@@ -48,6 +51,7 @@ ARKSINE_REPO=https://github.com/Arksine/klipper.git
|
||||
DMBUTYUGIN_REPO=https://github.com/dmbutyugin/klipper.git
|
||||
DWC2FK_REPO=https://github.com/Stephan3/dwc2-for-klipper-socket.git
|
||||
KLIPPERSCREEN_REPO=https://github.com/jordanruthe/KlipperScreen.git
|
||||
NLEF_REPO=https://github.com/nlef/moonraker-telegram-bot.git
|
||||
#branches
|
||||
BRANCH_SCURVE_SMOOTHING=dmbutyugin/scurve-smoothing
|
||||
BRANCH_SCURVE_SHAPING=dmbutyugin/scurve-shaping
|
||||
|
||||
@@ -179,3 +179,17 @@ backup_klipperscreen(){
|
||||
ERROR_MSG=" Can't backup KlipperScreen directory!\n Not found!"
|
||||
fi
|
||||
}
|
||||
|
||||
backup_klipperscreen(){
|
||||
if [ -d $MOONRAKERTELEGRAMBOT_DIR ] ; then
|
||||
status_msg "Creating moonraker-telegram-bot backup ..."
|
||||
check_for_backup_dir
|
||||
get_date
|
||||
status_msg "Timestamp: $current_date"
|
||||
mkdir -p $BACKUP_DIR/moonraker-telegram-bot-backups/"$current_date"
|
||||
cp -r $MOONRAKERTELEGRAMBOT_DIR $_
|
||||
ok_msg "Backup complete!"
|
||||
else
|
||||
ERROR_MSG=" Can't backup KlipperScreen directory!\n Not found!"
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -270,6 +270,21 @@ restart_klipperscreen(){
|
||||
sudo systemctl restart KlipperScreen && ok_msg "KlipperScreen Service restarted!"
|
||||
}
|
||||
|
||||
start_moonraker-telegram-bot(){
|
||||
status_msg "Starting moonraker-telegram-bot Service ..."
|
||||
sudo systemctl start moonraker-telegram-bot && ok_msg "moonraker-telegram-bot Service started!"
|
||||
}
|
||||
|
||||
stop_moonraker-telegram-bot(){
|
||||
status_msg "Stopping moonraker-telegram-bot Service ..."
|
||||
sudo systemctl stop moonraker-telegram-bot && ok_msg "moonraker-telegram-bot Service stopped!"
|
||||
}
|
||||
|
||||
restart_moonraker-telegram-bot(){
|
||||
status_msg "Restarting moonraker-telegram-bot Service ..."
|
||||
sudo systemctl restart moonraker-telegram-bot && ok_msg "moonraker-telegram-bot Service restarted!"
|
||||
}
|
||||
|
||||
restart_nginx(){
|
||||
if [ "$(systemctl list-units --full -all -t service --no-legend | grep -F "nginx.service")" ]; then
|
||||
status_msg "Restarting NGINX Service ..."
|
||||
|
||||
67
scripts/install_moonraker-telegram-bot.sh
Normal file
67
scripts/install_moonraker-telegram-bot.sh
Normal file
@@ -0,0 +1,67 @@
|
||||
install_moonraker-telegram-bot(){
|
||||
source_kiauh_ini
|
||||
system_check_moonraker-telegram-bot
|
||||
#ask user for customization
|
||||
get_user_selections_moonraker-telegram-bot
|
||||
#moonraker-telegram-bot main installation
|
||||
moonraker-telegram-bot_setup
|
||||
#execute customizations
|
||||
symlinks_moonraker-telegram-bot
|
||||
#after install actions
|
||||
restart_moonraker-telegram-bot
|
||||
}
|
||||
|
||||
system_check_moonraker-telegram-bot(){
|
||||
source_kiauh_ini
|
||||
if [ ! -e $klipper_cfg_loc/telegram.log ]; then
|
||||
MOONRAKERTELEGRAMBOT_SL_FOUND="false"
|
||||
else
|
||||
MOONRAKERTELEGRAMBOT_SL_FOUND="true"
|
||||
fi
|
||||
}
|
||||
|
||||
get_user_selections_moonraker-telegram-bot(){
|
||||
#user selection for telegram.log symlink
|
||||
if [ "$KMOONRAKERTELEGRAMBOT_SL_FOUND" = "false" ]; then
|
||||
while true; do
|
||||
echo
|
||||
read -p "${cyan}###### Create telegram.log symlink? (y/N):${default} " yn
|
||||
case "$yn" in
|
||||
Y|y|Yes|yes)
|
||||
echo -e "###### > Yes"
|
||||
SEL_MTBLOG_SL="true"
|
||||
break;;
|
||||
N|n|No|no|"")
|
||||
echo -e "###### > No"
|
||||
SEL_MTBLOG_SL="false"
|
||||
break;;
|
||||
*)
|
||||
print_unkown_cmd
|
||||
print_msg && clear_msg;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
moonraker-telegram-bot_setup(){
|
||||
dep=(wget curl unzip dfu-util)
|
||||
dependency_check
|
||||
status_msg "Downloading moonraker-telegram-bot ..."
|
||||
#force remove existing moonraker-telegram-bot dir
|
||||
[ -d $MOONRAKERTELEGRAMBOT_DIR ] && rm -rf $MOONRAKERTELEGRAMBOT_DIR
|
||||
#clone into fresh moonraker-telegram-bot dir
|
||||
cd ${HOME} && git clone $MOONRAKERTELEGRAMBOT_REPO
|
||||
ok_msg "Download complete!"
|
||||
status_msg "Installing moonraker-telegram-bot ..."
|
||||
$MOONRAKERTELEGRAMBOT_DIR/install.sh
|
||||
echo; ok_msg "moonraker-telegram-bot successfully installed!"
|
||||
}
|
||||
|
||||
symlinks_moonraker-telegram-bot(){
|
||||
#create a telegram.log symlink in klipper_config-dir
|
||||
if [ "$SEL_MTBLOG_SL" = "true" ] && [ ! -e $klipper_cfg_loc/telegram.log ]; then
|
||||
status_msg "Creating telegram.log symlink ..."
|
||||
ln -s /tmp/telegram.log $klipper_cfg_loc
|
||||
ok_msg "Symlink created!"
|
||||
fi
|
||||
}
|
||||
@@ -387,6 +387,49 @@ remove_klipperscreen(){
|
||||
CONFIRM_MSG="KlipperScreen successfully removed!"
|
||||
}
|
||||
|
||||
remove_moonraker-telegram-bot(){
|
||||
source_kiauh_ini
|
||||
|
||||
### remove moonraker-telegram-bot dir
|
||||
if [ -d $MOONRAKERTELEGRAMBOT_DIR ]; then
|
||||
status_msg "Removing moonraker-telegram-bot directory ..."
|
||||
rm -rf $MOONRAKERTELEGRAMBOT_DIR && ok_msg "Directory removed!"
|
||||
fi
|
||||
|
||||
### remove moonraker-telegram-bot VENV dir
|
||||
if [ -d $MOONRAKERTELEGRAMBOT_ENV_DIR ]; then
|
||||
status_msg "Removing moonraker-telegram-bot VENV directory ..."
|
||||
rm -rf $MOONRAKERTELEGRAMBOT_ENV_DIR && ok_msg "Directory removed!"
|
||||
fi
|
||||
|
||||
### remove moonraker-telegram-bot service
|
||||
if [ -e /etc/systemd/system/moonraker-telegram-bot.service ]; then
|
||||
status_msg "Removing moonraker-telegram-bot service ..."
|
||||
sudo systemctl stop moonraker-telegram-bot
|
||||
sudo systemctl disable moonraker
|
||||
sudo rm -f $SYSTEMDDIR/moonraker-telegram-bot.service
|
||||
###reloading units
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl reset-failed
|
||||
ok_msg "moonraker-telegram-bot Service removed!"
|
||||
fi
|
||||
|
||||
### remove moonraker-telegram-bot log
|
||||
if [ -e /tmp/telegram.log ]; then
|
||||
status_msg "Removing moonraker-telegram-bot log file ..."
|
||||
rm -f /tmp/telegram.log && ok_msg "File removed!"
|
||||
fi
|
||||
|
||||
### remove moonraker-telegram-bot log symlink in config dir
|
||||
|
||||
if [ -e $klipper_cfg_loc/telegram.log ]; then
|
||||
status_msg "Removing moonraker-telegram-bot log symlink ..."
|
||||
rm -f $klipper_cfg_loc/telegram.log && ok_msg "File removed!"
|
||||
fi
|
||||
|
||||
CONFIRM_MSG="moonraker-telegram-bot successfully removed!"
|
||||
}
|
||||
|
||||
remove_mjpg-streamer(){
|
||||
### remove MJPG-Streamer service
|
||||
if [ -e $SYSTEMDDIR/webcamd.service ]; then
|
||||
|
||||
@@ -228,6 +228,36 @@ klipperscreen_status(){
|
||||
fi
|
||||
}
|
||||
|
||||
moonraker-telegram-bot_status(){
|
||||
mtbcount=0
|
||||
moonraker-telegram-bot_data=(
|
||||
SERVICE
|
||||
$MOONRAKERTELEGRAMBOT_DIR
|
||||
$MOONRAKERTELEGRAMBOT_ENV_DIR
|
||||
)
|
||||
|
||||
### count amount of moonraker-telegram-bot_data service files in /etc/systemd/system
|
||||
SERVICE_FILE_COUNT=$(ls /etc/systemd/system | grep -E "moonraker-telegram-bot" | wc -l)
|
||||
|
||||
### remove the "SERVICE" entry from the moonraker-telegram-bot_data array if a moonraker-telegram-bot service is installed
|
||||
[ $SERVICE_FILE_COUNT -gt 0 ] && unset moonraker-telegram-bot_data[0]
|
||||
|
||||
#count+1 for each found data-item from array
|
||||
for mtbd in "${moonraker-telegram-bot_data[@]}"
|
||||
do
|
||||
if [ -e $mtbd ]; then
|
||||
mtbcount=$(expr $mtbcount + 1)
|
||||
fi
|
||||
done
|
||||
if [ "$mtbccount" == "${#moonraker-telegram-bot_data[*]}" ]; then
|
||||
MOONRAKERTELEGRAMBOT_STATUS="${green}Installed!${default} "
|
||||
elif [ "$klsccount" == 0 ]; then
|
||||
MOONRAKERTELEGRAMBOT_STATUS="${red}Not installed!${default} "
|
||||
else
|
||||
MOONRAKERTELEGRAMBOT_STATUS="${yellow}Incomplete!${default} "
|
||||
fi
|
||||
}
|
||||
|
||||
#############################################################
|
||||
#############################################################
|
||||
|
||||
@@ -517,6 +547,34 @@ compare_klipperscreen_versions(){
|
||||
fi
|
||||
}
|
||||
|
||||
read_moonraker-telegram-bot_versions(){
|
||||
if [ -d $MOONRAKERTELEGRAMBOT_DIR ] && [ -d $MOONRAKERTELEGRAMBOT_DIR/.git ]; then
|
||||
cd $MOONRAKERTELEGRAMBOT_DIR
|
||||
git fetch origin master -q
|
||||
LOCAL_MOONRAKERTELEGRAMBOT_COMMIT=$(git describe HEAD --always --tags | cut -d "-" -f 1,2)
|
||||
REMOTE_MOONRAKERTELEGRAMBOT_COMMIT=$(git describe origin/master --always --tags | cut -d "-" -f 1,2)
|
||||
else
|
||||
LOCAL_MOONRAKERTELEGRAMBOT_COMMIT=$NONE
|
||||
REMOTE_MOONRAKERTELEGRAMBOT_COMMIT=$NONE
|
||||
fi
|
||||
}
|
||||
|
||||
compare_moonraker-telegram-bot_versions(){
|
||||
unset MOONRAKERTELEGRAMBOT_UPDATE_AVAIL
|
||||
read_moonraker-telegram-bot_versions
|
||||
if [ "$LOCAL_MOONRAKERTELEGRAMBOT_COMMIT" != "$REMOTE_MOONRAKERTELEGRAMBOT_COMMIT" ]; then
|
||||
LOCAL_MOONRAKERTELEGRAMBOT_COMMIT="${yellow}$(printf "%-12s" "$LOCAL_MOONRAKERTELEGRAMBOT_COMMIT")${default}"
|
||||
REMOTE_MOONRAKERTELEGRAMBOT_COMMIT="${green}$(printf "%-12s" "$REMOTE_MOONRAKERTELEGRAMBOT_COMMIT")${default}"
|
||||
MOONRAKERTELEGRAMBOT_UPDATE_AVAIL="true"
|
||||
update_arr+=(update_moonraker-telegram-bot)
|
||||
else
|
||||
LOCAL_MOONRAKERTELEGRAMBOT_COMMIT="${green}$(printf "%-12s" "$LOCAL_MOONRAKERTELEGRAMBOT_COMMIT")${default}"
|
||||
REMOTE_MOONRAKERTELEGRAMBOT_COMMIT="${green}$(printf "%-12s" "$REMOTE_MOONRAKERTELEGRAMBOT_COMMIT")${default}"
|
||||
MOONRAKERTELEGRAMBOT_UPDATE_AVAIL="false"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#############################################################
|
||||
#############################################################
|
||||
|
||||
@@ -533,4 +591,5 @@ ui_print_versions(){
|
||||
compare_mainsail_versions
|
||||
compare_fluidd_versions
|
||||
compare_klipperscreen_versions
|
||||
compare_moonraker-telegram-bot
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ backup_ui(){
|
||||
echo -e "| 2) [Moonraker] | Other: | "
|
||||
echo -e "| 3) [Moonraker DB] | 7) [Duet Web Control] | "
|
||||
echo -e "| | 8) [OctoPrint] | "
|
||||
echo -e "| | 9) [MoonrakerTelegramBot] | "
|
||||
quit_footer
|
||||
}
|
||||
|
||||
@@ -40,6 +41,8 @@ backup_menu(){
|
||||
do_action "backup_dwc2" "backup_ui";;
|
||||
8)
|
||||
do_action "backup_octoprint" "backup_ui";;
|
||||
9)
|
||||
do_action "backup_moonraker-telegram-bot" "backup_ui";;
|
||||
Q|q)
|
||||
clear; main_menu; break;;
|
||||
*)
|
||||
|
||||
@@ -12,10 +12,10 @@ install_ui(){
|
||||
echo -e "| Klipper API: | Other: | "
|
||||
echo -e "| 2) [Moonraker] | 6) [Duet Web Control] | "
|
||||
echo -e "| | 7) [OctoPrint] | "
|
||||
echo -e "| Klipper Webinterface: | | "
|
||||
echo -e "| 3) [Mainsail] | Webcam: | "
|
||||
echo -e "| 4) [Fluidd] | 8) [MJPG-Streamer] | "
|
||||
echo -e "| | | "
|
||||
echo -e "| Klipper Webinterface: | 9) [MoonrakerTelegramBot]| "
|
||||
echo -e "| 3) [Mainsail] | | "
|
||||
echo -e "| 4) [Fluidd] | Webcam: | "
|
||||
echo -e "| | 8) [MJPG-Streamer] | "
|
||||
quit_footer
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,8 @@ main_ui(){
|
||||
echo -e "| 4) [Advanced] | Mainsail: $MAINSAIL_STATUS|"
|
||||
echo -e "| 5) [Backup] | Fluidd: $FLUIDD_STATUS|"
|
||||
echo -e "| | KlipperScreen: $KLIPPERSCREEN_STATUS|"
|
||||
echo -e "| 6) [Settings] | |"
|
||||
echo -e "| 6) [Settings] | MTelegramBot: $MOONRAKERTELEGRAMBOT_STATUS|"
|
||||
echo -e "| | |"
|
||||
echo -e "| | DWC2: $DWC2_STATUS|"
|
||||
echo -e "| ${cyan}$KIAUH_VER${default}| Octoprint: $OCTOPRINT_STATUS|"
|
||||
quit_footer
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
remove_ui(){
|
||||
top_border
|
||||
echo -e "| ${red}~~~~~~~~~~~~~~ [ Remove Menu ] ~~~~~~~~~~~~~~${default} | "
|
||||
echo -e "| ${red}~~~~~~~~~~~~~~ [ Remove Menu ] ~~~~~~~~~~~~~~${default} | "
|
||||
hr
|
||||
echo -e "| Directories which remain untouched: | "
|
||||
echo -e "| --> Your printer configuration directory | "
|
||||
echo -e "| --> ~/kiauh-backups | "
|
||||
echo -e "| You need remove them manually if you wish so. | "
|
||||
echo -e "| Directories which remain untouched: | "
|
||||
echo -e "| --> Your printer configuration directory | "
|
||||
echo -e "| --> ~/kiauh-backups | "
|
||||
echo -e "| You need remove them manually if you wish so. | "
|
||||
hr
|
||||
echo -e "| Firmware: | Touchscreen GUI: | "
|
||||
echo -e "| 1) [Klipper] | 5) [KlipperScreen] | "
|
||||
echo -e "| | | "
|
||||
echo -e "| Klipper API: | Other: | "
|
||||
echo -e "| 2) [Moonraker] | 6) [Duet Web Control] | "
|
||||
echo -e "| | 7) [OctoPrint] | "
|
||||
echo -e "| Klipper Webinterface: | 8) [NGINX] | "
|
||||
echo -e "| 3) [Mainsail] | 9) [MJPG-Streamer] | "
|
||||
echo -e "| 4) [Fluidd] | | "
|
||||
echo -e "| | | "
|
||||
echo -e "| Firmware: | Touchscreen GUI: | "
|
||||
echo -e "| 1) [Klipper] | 5) [KlipperScreen] | "
|
||||
echo -e "| | | "
|
||||
echo -e "| Klipper API: | Other: | "
|
||||
echo -e "| 2) [Moonraker] | 6) [Duet Web Control] | "
|
||||
echo -e "| | 7) [OctoPrint] | "
|
||||
echo -e "| Klipper Webinterface: | 8) [NGINX] | "
|
||||
echo -e "| 3) [Mainsail] | 9) [MJPG-Streamer] | "
|
||||
echo -e "| 4) [Fluidd] | 10) [MoonrakerTelegramBot] | "
|
||||
echo -e "| | | "
|
||||
quit_footer
|
||||
}
|
||||
|
||||
@@ -43,6 +43,8 @@ remove_menu(){
|
||||
do_action "remove_nginx" "remove_ui";;
|
||||
9)
|
||||
do_action "remove_mjpg-streamer" "remove_ui";;
|
||||
10)
|
||||
do_action "remove_moonraker-telegram-bot" "remove_ui";;
|
||||
Q|q)
|
||||
clear; main_menu; break;;
|
||||
*)
|
||||
|
||||
@@ -21,6 +21,7 @@ update_ui(){
|
||||
echo -e "| Other: |---------------|--------------| "
|
||||
echo -e "| 6) [DWC2-for-Klipper] | $LOCAL_DWC2FK_COMMIT | $REMOTE_DWC2FK_COMMIT | "
|
||||
echo -e "| 7) [DWC2 Web UI] | $DWC2_LOCAL_VER | $DWC2_REMOTE_VER | "
|
||||
echo -e "| 5) [MTelegramBot] | $LOCAL_MOONRAKERTELEGRAMBOT_COMMIT | $REMOTE_MOONRAKERTELEGRAMBOT_COMMIT | "
|
||||
echo -e "| |------------------------------| "
|
||||
echo -e "| 8) [System] | $DISPLAY_SYS_UPDATE | "
|
||||
quit_footer
|
||||
|
||||
@@ -39,6 +39,9 @@ update_all(){
|
||||
if [ "$KLIPPERSCREEN_UPDATE_AVAIL" = "true" ]; then
|
||||
echo -e "| ${cyan}● KlipperScreen${default} |"
|
||||
fi
|
||||
if [ "$MOONRAKERTELEGRAMBOT_UPDATE_AVAIL" = "true" ]; then
|
||||
echo -e "| ${cyan}● moonraker-telegram-bot${default} |"
|
||||
fi
|
||||
if [ "$SYS_UPDATE_AVAIL" = "true" ]; then
|
||||
echo -e "| ${cyan}● System${default} |"
|
||||
fi
|
||||
@@ -170,6 +173,15 @@ update_klipperscreen(){
|
||||
start_klipperscreen
|
||||
}
|
||||
|
||||
update_moonraker-telegram-bot(){
|
||||
stop_moonraker-telegram-bot
|
||||
cd $MOONRAKERTELEGRAMBOT_DIR
|
||||
git pull
|
||||
./install.sh
|
||||
ok_msg "Update complete!"
|
||||
start_moonraker-telegram-bot
|
||||
}
|
||||
|
||||
update_system(){
|
||||
status_msg "Updating System ..."
|
||||
sudo apt-get update && sudo apt-get upgrade -y
|
||||
|
||||
Reference in New Issue
Block a user