# Intégrations FilyX

Le module **FilyX Connect** est hébergé avec le site sur le VPS OVH. Il est séparé par chaîne Kick : une règle, un webhook, un journal et une destination Discord ne peuvent jamais être utilisés par une autre chaîne.

## Fonctions disponibles sans service payant

- FilyX Bot via OAuth Discord : le streamer accepte l’installation sur son serveur, choisit ensuite son salon et peut retirer la liaison depuis son panel.
- Discord par webhook officiel, chiffré côté serveur avec `APP_KEY`.
- YouTube via son flux RSS public officiel.
- Flux RSS ou Atom HTTPS public (blog, podcast, CMS, boutique ou site créateur).
- Passage en direct Kick à partir de l’état déjà synchronisé par FilyX.
- Webhooks entrants FilyX pour Make, IFTTT, Zapier, une boutique ou un script.
- Règles, cooldowns, anti-doublon, embeds, aperçus images, rôles Discord et journal des livraisons.

Les premières synchronisations YouTube/RSS établissent un point de départ et n’annoncent pas l’ancien contenu. Les suivantes vérifient les changements toutes les dix minutes. Kick est vérifié au rythme du moteur FilyX, sans polling agressif.

## Configuration streamer

1. Ouvrir **Panel → Intégrations**.
2. Cliquer **Ajouter FilyX Bot à mon Discord**, choisir un serveur puis le salon d’annonce. L’installation demande uniquement les droits de voir les salons, publier les messages et les embeds.
3. Configurer une source : Channel ID YouTube, URL RSS/Atom HTTPS ou chaîne Kick.
4. Créer une règle Discord et utiliser le bouton de test.

Le webhook Discord est conservé comme plan de secours pour les configurations existantes. Il ne peut pas installer le bot, consulter les salons ou gérer les rôles : ce sont des capacités du bot OAuth uniquement.

Un webhook personnalisé créé dans le panel reçoit un JSON tel que :

```json
{
  "title": "Nouveau contenu",
  "description": "Description facultative",
  "url": "https://example.com/article",
  "thumbnail": "https://example.com/image.jpg",
  "platform": "custom",
  "event_type": "webhook.received",
  "id": "identifiant-unique-facultatif"
}
```

L’URL du webhook est affichée une seule fois à sa création. Elle doit être gardée comme un mot de passe.

## Réseaux nécessitant des clés officielles

Twitch, Instagram/Facebook, X et TikTok sont volontairement signalés comme limités tant que leurs clés OAuth/API officielles ne sont pas configurées. FilyX ne scrape pas ces plateformes. En attendant, une règle webhook personnalisée ou une annonce manuelle fonctionne gratuitement.

Pour activer FilyX Bot, créer l’application Discord officielle, générer le bot et déclarer dans l’environnement du VPS :

```env
DISCORD_CLIENT_ID=
DISCORD_CLIENT_SECRET=
DISCORD_BOT_TOKEN=
DISCORD_REDIRECT_URI=https://filyx.hom3r-off.fr/auth/discord/bot/callback
```

Dans le portail Discord, autoriser l’installation serveur avec les scopes `bot` et `applications.commands`. Ne jamais placer de clé OAuth, de bot token ou de webhook Discord dans le navigateur, le dépôt ou un message de chat.

## Exploitation OVH

Les tâches de synchronisation sont exécutées par `CronService` depuis le moteur FilyX hébergé sur OVH. Les tables concernées sont `integration_connections`, `integration_rules`, `integration_events`, `integration_delivery_logs` et `integration_webhooks`.

Pour diagnostiquer une annonce, consulter le journal dans le panel puis, si nécessaire, les logs du service `filyx-bot-engine.service`. Les secrets ne figurent jamais dans les logs ni dans le dashboard.
