Skip to content

Héberger soi‐même

Johan le stickman edited this page Oct 27, 2023 · 6 revisions

Si vous ne souhaitez pas utiliser l'instance déjà hébergée de Call Notifier, vous pouvez héberger le service sur votre propre infrastructure.
Ces étapes permettent l'hébergement du bot Telegram, vous devrez aussi suivre les étapes pour héberger l'API.

Prérequis

Configurer la base de données

Cette base de donnée est commune pour le bot Telegram, le bot Discord et l'API. Si vous avez déjà créer un projet Supabase, vous pouvez passer cette étape.

  1. Rendez-vous le site de Supabase pour créer un compte.
  2. Créer un projet et rendez-vous dans les paramètres de celui-ci, puis dans l'onglet "API".
  3. Vous pourrez noter les informations suivantes : URL du projet, clé "anon public".
  4. Rendez-vous ensuite dans "Table editor" et créer les 3 tables suivantes :
uniquecode users users status
image image_2 image_3 image_4
  1. Une fois ces tables ajoutées et configurées avec les bonnes valeurs et les bons types, rendez-vous dans "Authentification" puis dans l'onglet "Policies".
  2. Ajoutez cette règle pour chaque table de votre base de données : image

Création du bot Telegram.

  1. Commencez une conversation avec BotFather
  2. Exécutez la commande /newbot et donnez un nom à votre bot et un pseudo unique.

Gardez bien le token généré, sachez que ce token est privé et qu'il ne doit pas être dévoilé.

  1. Facultatif : pour afficher le menu de commande, faites dans BotFather la commande /setcommands, sélectionnez votre bot, puis collez le texte ci-dessous.
voicemail - Ecouter le dernier vocal. 
contact - Récupérer le numéro d’un contact. 
createcontact - Créer un contact. 
deletecontact - Supprimer un contact. 
mynumber - Connaître votre numéro fixe.
wps - Activer le wps. 
logout - Déconnecter votre freebox au bot.

Installation

  1. Cloner le repository
git clone https://github.com/Freebox-Tools/telegram-call-notifier.git
  1. Installer les dépendances
cd telegram-call-notifier
npm install
# ou "pnpm install" si vous utilisez pnpm
  1. Créer un fichier .env à la racine du projet, et y ajouter les variables suivantes :
BOT_TOKEN=token_du_bot_telegram # Token du bot Telegram, obtenu avec BotFather

SUPABASE_LINK=https://****.supabase.co
SUPABASE_PUBLIC_KEY=<longue clé d'accès à l'API, privée contrairement à ce que le nom indique, permet un accès complet à la base de données, voir la partie sur Supabase>
  1. Lancer le bot
npm start
# ou vous pouvez utiliser pm2 pour le lancer en arrière plan
pm2 start index.js --name "Telegram Call Notifier"