Last active
October 11, 2021 09:25
-
-
Save Staubgeborener/be07bb19bcc22849439220115a8193c9 to your computer and use it in GitHub Desktop.
Rechtzeitig über Preisfehler auf mydealz.de benachrichtigt werden
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
#Praktisches Skript für alle mydealerz. Am besten diese Codezeilen mit crontab -e jede Minute ausführen lassen (siehe: https://www.linuxwiki.de/crontab) | |
#Die folgenden Zeilen prüfen dann jede Minute (oder von mir aus Sekunde) ob es einen neuen Preisfehler-Deal gibt und schickt dann eine Telegram-Nachricht mit dem Link raus | |
#So ist es nun möglich tatsächlich auch _rechtzeitig_ über Preisfehler informiert zu werden und nicht erst ~10 Minuten später (beim ersten ausführen wird eine Preisfehler-Nachricht verschickt da eine Referenz fehlt, sit aber völlig normal) | |
TOKEN=<TOKEN> #https://core.telegram.org/bots/api#authorizing-your-bot | |
CHAT_ID=<CHAT_ID> #https://stackoverflow.com/a/32572159 | |
touch .tmp_file_lastknowndeal | |
sleep 1 | |
#wellp, thats a long pipe | |
new_deal=$(wget -qO- https://www.mydealz.de/gruppe/preisfehler -O - | grep -Eo "(http|https)://[a-zA-Z0-9./?=_-]*" | awk '!seen[$0]++' | grep 'mydealz.de/deals/' | head -1) | |
sleep 1 | |
counter=0 | |
#anti-spam-statement | |
while read p; do | |
if [ "$p" == "$new_deal" ]; then ((counter++)); fi | |
done <.tmp_file_lastknowndeal | |
if [ $counter -eq 0 ]; then | |
echo $new_deal >> .tmp_file_lastknowndeal | |
#new deal! telegram action in 3...2...1... | |
#https://core.telegram.org/bots/api | |
URL="https://api.telegram.org/bot$TOKEN/sendMessage" | |
curl -s -X POST $URL -d chat_id=$CHAT_ID -d text="$new_deal" | |
#eventuell hier Anzahl der Zeilen prüfen, tmp loeschen und neue tmp erstellen (letzte Zeile übernehmen) | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@rabe0577
Ich habe derzeit auch eine zweite Version seit einer Woche im Testlauf - genau aus dem Grund, dass sobald Deals gelöscht (oder als Spam markiert wurden) sofort das Script durch den davorgehenden Deal getriggert wird. Sieht im Endeffekt genauso aus wie bei dir mit einer For-Schleife. Danke für das forken und weiterentwickeln!