Mise en garde
Avant toute chose, les bots et groupes Telegram sont publics.
Introduction
Il existe trois types de notifications dans DSM: Email, SMS et Service Push.
Les notifications par Email sont intéressantes afin d’avoir un suivi des évènements non urgent.
Les notifications par SMS arrivent instantanément aux différents destinataires (maximum deux), ce service nécessite néanmoins un fournisseur de service.
Dans le cas de Free Mobile, ce dernier propose la possibilité d' »envoyez des notifications par SMS sur votre propre mobile via n’importe quel équipement connecté à internet ».
Dans la plus part des autres cas, le founisseur de service est payant pour l’envoi de message, les cout varie selon les formules choisi.
Les notifications Push arrivent le plus par du temps instantanément sur les périphériques enregistrés. Cela implique que les destinataires soient enregistrés et connectés au service.
Dans le cas des notifications via Telegram, il est possible d’envoyer les notifications via mail à un serveur qui renverra ce message aux destinataires via Telegram. Ou détourne la configuration des notifications SMS afin d’envoyer directement les notifications via Telegram ( c’est ce dernier cas qui sera développé dans ce tuto).
De plus afin de simplifier la gestion des destinataires, nous allons envoyer les notifications directement dans un salon.
Création du Bot
DSM communiquera avec Telegram via un Bot. Pour ce faire, nous devons d’abord le créer et le configurer.
Dans votre application Telegram, chercher BotFather.
Et démarrer une conversation avec lui: /start

Demandez-lui de créer un nouveau bot avec la commande: /newbot

Entrez le nom de votre bot. Il sera afficher dans les conversation avec ce dernier. Dans notre exemple ce sera « Syno_Notif ». Ce nom n’a pas le besoin d’être unique.
Entré ensuite son « username ». Ce nom est unique et doit se terminer « bot ». Si le nom d’utilisateur du bot existe, choisissez-en un autre.
La procédure de création se termine avec le message « Done!… », contenant un résumé des données du bot. Dans notre cas:
Lien pour contacter le bot: t.me/Syno_bot
token du bot: 5555555555:Ab69Ab69Ab69Ab69Ab69Ab69Ab69Ab69Ab69
Gardez votre token en sécurité et stockez-le en toute sécurité, il peut être utilisé par n’importe qui pour contrôler votre bot.
Collecte des données de configurations
Nous avons désormais notre bot ainsi que son token, mais il nous manque nos propres données.
Si vous souhaitez que le bot communique directement avec vous:
Contacter directement votre bot soit en le cherchant via son « username » soit en cliquant sur le lien t.me/[username_bot] (dans notre cas t.me/Syno_bot)
Dans le même temps ouvrez une fenêtre dans votre navigateur à l’adresse suivante:
https://api.telegram.org/bot[token]/getUpdates (dans notre exemple cela donne: https://api.telegram.org/bot5555555555:Ab69Ab69Ab69Ab69Ab69Ab69Ab69Ab69Ab69/getUpdates )
Spamer votre bot en envoyant divers messages, le contenue importe peu, le but étant de générer du trafic au travers de quelques messages ( un ou deux messages suffisent la plupart du temps).
Actualisez la page https://api.telegram.org/bot[token]/getUpdates, vous devriez voir apparaitre vos messages sous la forme:
"message":{"message_id":1,"from":{"id":88888888,"is_bot":false,"first_name":"Mon_Prénom","username":"Mon_username","language_code":"fr"},"chat":{"id":88888888,"first_name":"Mon_Prénom","username":"Mon_username","type":"private"},"date":1600000000,"text":"coincoin"}},
Ce qui nous intéresse ici, est la partie « id »:88888888, ce numéro, sera nécessaire a votre bot afin d’entré en communication avec vous.
Si vous souhaitez que le bot communique avec un groupe:
Créez un groupe et ajouter votre bot via son « username ».
Dans le même temps ouvrez une fenêtre dans votre navigateur à l’adresse suivante:
https://api.telegram.org/bot[token]/getUpdates (dans notre exemple cela donne: https://api.telegram.org/bot5555555555:Ab69Ab69Ab69Ab69Ab69Ab69Ab69Ab69Ab69/getUpdates )
Suivant les réglages que vous aurez à effectuer, les messages de groupe ne remonteront pas au bot. Pour être sûr que celle-ci parvienne au bot, précédez là / exemple, taper la commande: /id
Actualisez la page https://api.telegram.org/bot[token]/getUpdates, vous devriez voir apparaitre vos messages sous la forme:
"message":{"message_id":2,"from":{"id":88888888,"is_bot":false,"first_name":"Mon_Prénom","username":"Mon_username","language_code":"fr"},"chat":{"id":-777777777,"title":"Nom_du_Groupe","type":"group","all_members_are_administrators":true},"date":1600000000,"text":"/id","entities":[{"offset":0,"length":3,"type":"bot_command"}]}}]}
Ce qui nous intéresse ici, est la partie "id":-777777777 qui suit "chat": . Ce numéro, sera nécessaire a votre bot afin d’entré en communication avec le groupe.
Configurez de DSM:
Connectez vous a votre NAS.
Ouvrez le Panneau de configuration, puis allez dans notification, SMS:
Cocher: « Activer les notification par SMS »:

Cliquez sur « Ajouter un fournisseur de service SMS »
Nom du fournisseur: Telegram (vous pouvez mettre ce que vous voulez, il vous servira à identifier quel fournisseur dans le menu déroulant)
URL SMS: adapté la ligne suivante:
https://api.telegram.org/bot(BOT_TOKEN_MINUS_BRACKETS)/sendMessage?chat_id=(CHAT_ID_MINUS_BRACKETS)&text=Hello+world&user=User&password=Password&to=12345678
Dans le cas de notre exemple nous avons:
- Token du bot: 5555555555:Ab69Ab69Ab69Ab69Ab69Ab69Ab69Ab69A
- Votre ID: 88888888
- ID du groupe:
-777777777

Cas du contact direct:
https://api.telegram.org/bot5555555555:Ab69Ab69Ab69Ab69Ab69Ab69A/sendMessage?chat_id=88888888&text=Hello+world&user=User&password=Password&to=12345678
Cas du contact via le groupe:
https://api.telegram.org/bot5555555555:Ab69Ab69Ab69Ab69Ab69Ab69A/sendMessage?chat_id=-777777777&text=Hello+world&user=User&password=Password&to=12345678
Une fois renseignez faite suivant:

Ici, rien n’a modifié, fait de nouveau suivant:

Configurez les champs comme ci-dessus, cliquer sur « Effectué ».

Sélectionnez le profil Telegram, précédemment créez, comme fournisseur de service SMS. Si besoin, renseignez un nom d’utilisateur, un mot de passe ainsi qu’un numéro de téléphone. Le contenu de ces champs n’a aucune importance, dans la configuration actuelle.
Cliquez sur « Appliquer » puis sur « Envoyé un message SMS de test », vous devriez recevoir un message de test.
Il ne vous reste plus qu’a allé dans l’onglet « Règles » afin de paramétré les notifications suivant vos besoins.
Sources
https://medium.com/@nicholaschum/synology-dsm-6-x-telegram-bot-alerts-2f069eb3e9f2
https://core.telegram.org/bots


