Ayant quitté FreeMobile pour une nouvelle promo, je ne bénéficie plus de l'api pour l'envoi de sms qui me permettait d'avoir un message dès qu'un téléchargement était fini.

j'ai vu que Télégram permet de créer des Bots et qu'une API HTTP existe.

Après quelques recherches, j'ai trouvé un script basic pour Transmission qui utilise curl et je l'ai adapté au couple rtorrent/rutorrent du forum.

Dans Télégram :

Créer un bot et récuperer son token :

  1. Envoyer le message /newbot à @BotFather

  2. Saisir un nom et username pour votre bot. Vous récupérez le token de votre nouveau bot sous la forme XXXXXXXXX:yyyyyyyyyyyyyyyyyyyyy

Récupérer son ID Télégram :

  • Envoyer le message /getid à @myidbot

Sur votre dédié :

Dans le dossier /home/<votre-user> de votre Rutorrent :

nano torrent-telegram.sh

#!/bin/bash

# Remplacer VOTRE_CHAT_ID par votre identifiant Telegram obtenu depuis @myidbot
# Remplacer XXXXXXXXX:yyyyyyyyyyyyyyyyyyyyy avec le Token de votre Bot créé depuis @BotFather

DESTINATAIRE="VOTRE_CHAT_ID"
TOKEN="XXXXXXXXX:yyyyyyyyyyyyyyyyyyyyy"

curl -s --data chat_id=$DESTINATAIRE --data-urlencode text="$1 terminé!" "https://api.telegram.org/bot$TOKEN/sendMessage" > /dev/null

Le rendre exécutable :

chmod +x torrent-telegram.sh

Et n'oublié pas de changer le propriétaire si vous l'avez créer en root par exemple :

chown votre_user:votre_user torrent-telegram.sh

On rajoute le script à la fin dans votre conf rtorrent :

nano /home/<votre_user>/.rtorrent.rc

system.method.set_key = event.download.finished,botgram,"execute=/home/<votre_user>/torrent-telegram.sh,$d.get_name="

Relancez rtorrent depuis l'interface Seedbox Manager ou en ligne de commande :

killall --user <votre_user> rtorrent
killall --user <votre_user> screen
rm /home/<votre_user>/.session/rtorrent.lock
/etc/init.d/<votre_user>-rtorrent start

#Et si besoin :
/bin/su <votre_user> -c "/usr/bin/screen -dmS irc_logger /usr/bin/irssi"

Et voilà ! Couplé aux notifications SickRage, vous savez quand votre dernier épisode est sortie et quand vous pouvez le regarder.

Merci à @ex_rat pour l'inspiration notifications par sms
et autre source : Gist dubstrike

Salut !

Je vais tenter ça de suite, j'ai déja ça avec SickRage c'est bien utile !

Par contre petit oubli :

system.method.set_key = event.download.finished,botgram,"execute=/home/philippe/torrent-telegram.sh,$d.get_name="

"philippe" devient <votre username> 🙂

Merci !

    Awesome, merci !

    Si on pouvait grab le nom du torrent en plus, ça serait ouf :o

    Je connais pas trop system.method.set_key, mais je suis sur que c'est possible!

      warzag Merci ! C'est corrigé.

      BXT C'est bien ce qui se passe. Le nom du torrent précède le "terminé"
      D'où le $d.get_name= à la fin de la ligne dans rtorrent

      Ouep, pour ça que j'ai barré mon texte 😛

      4 ans plus tard

      Bonjour ,
      je déterre le topic , de mon coté le script fonctionne bien quand je le lance manuellement mais impossible a faire fonctionner depuis rtorrent
      J'ai essayer plusieurs choses , dans le exec.log j'ai le résultat success pourtant

      Log

      --- Success ---
      
      ---
      sh /config/rtorrent/telegram.sh Spotify-v8.5.70.868-Mod.apk
      ---
      
      --- Background task ---
      
      --- Success ---

      rtorrent.rc

      method.set_key = event.download.finished,filebot,"execute.throw.bg={sh /config/rtorrent/telegram.sh,$d.name=}"

      Comment résoudre le problème ?
      J'ai verifié les droits , tout me semble ok

      Répondre…