Pour que les alertes récentes restent visibles dans OBS ou Streamlabs Desktop, commencez par guide illustré de superposition d'événements.
Choisissez la bonne page de démarrage
Utilisez multi-alerts.html pour les présentations d'alertes chronométrées et events.html ou themes/events/index.html pour une liste d'événements en cours d'exécution. Ils ont un comportement de rendu et de file d'attente différent. Commencez par l'URL générée pour l'outil que vous utilisez déjà.

Choisissez un style de flux d'activité
Ouvrir Flux d'activité / Événements → Activer et personnaliser → Style de flux, choisissez une mise en page, puis copiez le lien mis à jour dans votre navigateur ou dans OBS Source du navigateur. Ouvert Personnaliser l'apparence du flux pour ajuster les couleurs et l’espacement. Laissez un champ vide pour utiliser le style par défaut.
| Style | Option URL | Apparence |
|---|---|---|
| Cartes (par défaut) | style=default ou l'omettre | Cartes d'événements originales avec bordures de plateforme et étiquettes d'événements. |
| Compact | style=compact | Lignes denses avec des noms et des messages en ligne. |
| style Twitch | style=twitch | Liste d'activités plate avec des icônes de plate-forme, des accents violets et des séparateurs de lignes. |
| Chronologie | style=timeline | Cartes d'événements connectées avec une chronologie dorée. |
| Verre | style=glass | Cartes translucides arrondies avec des ombres douces. |
| Minimal | style=minimal | Texte ombré sans cadre, à placer sur une vidéo avec transparent. |
| Ticker | style=ticker | Une rangée horizontale de pilules, la plus récente à gauche, pour une plaquette du tiers inférieur. Masque les horodatages et les détails. |
Ajoutez ces options à votre existant events.html?session=YOUR_SESSION_ID lien avec &. Conservez votre session, votre mot de passe et vos options de connexion.
accent,pagebg,cardbg,textcolor, etmutedcolor: CSS couleurs. Encoder une couleur hexadécimale#comme%23dans le URL, ou omettez le#.fontsize=14: taille du texte, 10 à 40 pixels.padding=8,gap=4, etradius=6: remplissage des lignes, espace entre les événements et rayon des coins, chacun de 0 à 40 pixels.noheadermasque le titre de la page ;noanimationdésactive l'animation d'entrée.- Combinez les styles avec
lightmode,transparent,font,googlefont,scale,notime, ethidemeta. Le mode transparent remplace l'arrière-plan de la page ; les arrière-plans des cartes restent réglables séparément.
Par exemple, ajoutez &style=twitch&accent=%23e5b94f&padding=8&fontsize=14 pour une liste d’activités plus dense avec un accent doré.
Choisissez ce qui apparaît dans le flux d'activité
Dans Flux d'activité / Événements → Activer et personnaliser, ouvrez Choisissez quels événements apparaissent ou Contenu et comportement des lignes. Laissez les contrôles désactivés et les champs vides pour conserver la vue par défaut. Copiez le lien mis à jour après les avoir modifiés. Ces contrôles affectent uniquement ce flux ; le chat ordinaire reste exclu.
Chaque ligne appartient à une catégorie en fonction de son nom d'événement. Les adhésions nominatives, les cadeaux et les achats conservent leur catégorie même lorsqu'ils comportent un montant. Conseils avec hasDonation et aucun nom d'événement reconnu n'appartient à la catégorie des messages payants, y compris les Twitch bits DOM. Les badges d'adhésion sur le chat ordinaire n'en font pas un événement d'adhésion.
| Masquer la catégorie | Option URL | Événements couverts |
|---|---|---|
| Suivis / abonnements gratuits | hidefollows | new_follower, y compris des alertes gratuites pour les abonnés YouTube ; plus âgé follow/followed noms. |
| Abonnements / adhésions | hidememberships | new_subscriber, resub, sponsorship, les jalons d’adhésion et les noms d’anciens membres. |
| Abonnements / adhésions offerts | hidegiftmemberships | subscription_gift, giftpurchase, giftredemption et les noms des membres-cadeaux hérités. Aussi new_subscriber avec meta.isGift: true. |
| Conseils / messages payants | hidepaid | superchat, supersticker, cheer, donation, thankyou, et les lignes autrement non classées avec hasDonation. |
| Cadeaux virtuels / liste de souhaits | hidegifts | gift, jeweldonation, giftcontribution, giftfunded. Les adhésions surdouées ont leur propre catégorie. |
| Achats | hidepurchases | purchase. |
| Raids / redirections | hideraids | raid, YouTube redirect. |
| Échanges de points de chaîne | hiderewards | reward, y compris le channel_points pseudonyme. |
| Trains à la mode | hidehypetrain | hype_train panneaux et mises à jour. |
| Comptes/état du flux | hidestatus | Le spectateur, le suiveur, l'abonné, le nombre de vues et de likes ; diffuser des lignes en ligne/hors ligne. La barre facultative de nombre de téléspectateurs est contrôlée séparément. |
| Avis d'annonces | hideads | ad_break, ad_request, ad_schedule. |
| Rejoint/aime/partage/séries | hideactivity | joined, liked, shared, share, share_live, watch_streak. |
| Autres avis | hideother | Événements non classifiés, y compris sans nom event: true avis sans montant de don. |
Pour un contrôle plus fin, utilisez filterevents=supersticker,watch_streak pour masquer les noms exacts des événements. La correspondance ignore la casse et utilise les alias d'événement existants du flux ; il ne recherche pas le texte du message. Les exclusions de catégorie et de nom exact se combinent avec les filtres existants de source, de dons uniquement, d'abonnements offerts uniquement et de valeur minimale. L'activation de plusieurs filtres peut ne laisser aucun événement correspondant. Voir le référence des événements pour les charges utiles spécifiques à la source.
hidemessage,hidecontentimg,hideplatformicons,hideeventlabelsethideamountsmasquer les éléments de ligne correspondants. Ils ne suppriment pas l'événement et ne modifient pas ce que le clic vers la fonctionnalité envoie. Les émoticônes en ligne font partie du texte du message. Les montants ou les noms écrits dans le texte du message, les métadonnées ou les détails Hype Train ne sont pas expurgés par ces contrôles.nofeaturedésactive le clic vers une fonctionnalité dans ce flux. Les détails des métadonnées peuvent toujours être ouverts.hidecategorytaghides only the generic category tag, such as Donation or Event, while keeping the descriptive event label. In the popup, enable Hide category tag sous Contenu et comportement des lignes.eventduration=60supprime une ligne de ce flux après 60 secondes. Vide ou0conserve le comportement de rétention existant ; les valeurs positives vont de 1 à 86 400 secondes. Les mises à jour Hype Train redémarrent leur minuteur ; les trains terminés disparaissent toujours après 30 secondes maximum. La suppression n'efface pas un événement déjà envoyé à une superposition sélectionnée.hideemptymasque le message en attente lorsqu'aucun événement n'est visible.
Téléchargez et conservez la structure du fichier
- Téléchargez le ZIP source et extrayez-le. Ces guides utilisent la source bêta ; conservez les fichiers d’un téléchargement ensemble.
- Copier
multi-alerts.htmlàmy-alerts.htmlà côté de l'original. Si vous choisissez une page ou un thème différent, conservez sa copie dans le dossier d'origine de ce fichier. - Ouvrez le code HTML copié et son CSS/JS référencé dans votre éditeur ou outil d'IA. Ajoutez les illustrations/polices fournies au même projet et utilisez des chemins relatifs. Commencez par les remplacements CSS ; inclure le moteur de rendu lors de la modification du balisage généré.
Les fichiers suivants vous aident à trouver la conception et le comportement. Il s'agit d'une liste de lecture, pas d'un ensemble de dépendances complet : conservez le dossier extrait intact, y compris les images, les polices, les scripts et tous les fichiers de données.
| Fichier | Pourquoi c'est important |
|---|---|
multi-alerts.html | Balisage et styles de présentation d’alerte. |
multi-alerts.js | Classification des événements, rendu, files d'attente et comportement d'alerte. |
events.html | Un flux d'événements en cours, plutôt qu'une seule alerte chronométrée. |
themes/events/index.html | La page de flux d'événements thématiques. |
currency.js | Conversion de la valeur du don. |
shared/utils/chatHtml.js | Message HTML sécurisé avec libs/objects.js. |
shared/stickers/player.js | Effets d'autocollants, avec catalog.js et ressources multimédias. |
Connectez votre copie et ouvrez-la dans OBS
Démarrez SSN et faites fonctionner en premier l'URL de superposition générée d'origine. Le session= se connecte à cette session SSN ; ce n'est pas le nom de votre chaîne ou le nom de ce fichier. Gardez SSN, la fonctionnalité concernée et ses sources de données en cours d'exécution.
- Faites glisser votre fichier HTML modifié vers Chrome ou Edge. Copiez son adresse depuis la barre d'adresse ; ça commence par
file:///. - Copiez tout depuis
?dans votre lien de superposition SSN de travail et ajoutez-le à la fin de cette adresse de fichier. Conservez tous les paramètres, y compris la session, le mot de passe et tout#fin. - Ouvrez le résultat dans un navigateur, puis définissez la source du navigateur OBS. URL à la même adresse avec Fichier local décoché. Faites correspondre les dimensions source à votre conception prévue.
Pour le fichier de départ ci-dessus, l'adresse locale ressemble à ceci ; votre lien réel peut contenir des options supplémentaires requises :
file:///C:/SSN/social_stream-beta/my-alerts.html?session=YOUR_SESSION
Utilisez l'adresse réelle du fichier sur votre ordinateur. OBS l'enregistre avec la source ; conservez le dossier téléchargé au même endroit. Après avoir enregistré les modifications de conception, actualisez la source du navigateur. Le guide de configuration partagé inclut des exemples Mac et un lanceur facultatif pour la case à cocher Fichier local.
Où modifier le design
Modifiez le cadre d'alerte, la typographie, le placement des icônes, la décoration de progression/timing et le mouvement. Dans Multi-Alerts, une grande partie de la mise en page est créée dans multi-alerts.js; incluez-le lorsque vous demandez à l’IA de modifier la structure. Pour un fork isolé, copiez également ce script et mettez à jour uniquement la référence de script HTML copiée.
Préserver la classification et les filtres des événements. Une ligne de chat payante peut utiliser hasDonation sans event: "donation"; les plateformes ont également des noms d’événements spécifiques. Utilisez le référence des événements et guide de compatibilité pour choisir les échantillons. Conservez séparément le montant affiché d’origine et tout remplacement numérique en USD.
Copiez cette invite AI
Donnez à l'IA vos fichiers sources copiés et vos illustrations de référence. Remplacez les détails entre crochets. Conservez les instructions de sécurité de saisie dans l’invite.
Afficher l'invite complète
Customize my-alerts.html, copied from multi-alerts.html.
Design: [describe the look or attach a reference].
Colors/fonts/assets: [supply hex colors and local filenames].
OBS canvas and placement: [size and position].
Restyle this [Multi-Alerts / event feed] as [design]. Include the companion JS when changing generated markup. Keep event classification, filters, queues, timing, sound controls, deduplication, and reset behavior. Honor numeric donoValue including zero; display hasDonation in its original unit. Do not collapse distinct event types into a generic donation event.
Read docs/event-reference.html for incoming fields and
docs/overlay-customization-guide.html for local setup and safe rendering.
Keep the existing session/password handling, labels, server routes, query
parameters, URL fragments, and relative asset paths. Use classic scripts
compatible with Chrome 80. Keep executable dependencies packaged locally.
Treat all incoming messages, names, labels, donations, and metadata as untrusted.
Prevent HTML/JavaScript injection in every renderer you change. Use textContent
for plain fields and for chatmessage when textonly is true. For HTML-mode
chatmessage, keep supported emotes/formatting through the packaged
SocialStreamChatHTML.sanitize helper (libs/objects.js loaded first).
Do not concatenate raw input into innerHTML, attributes, CSS, or JavaScript.
Validate media/link URLs with the page's existing URL policy and assign DOM
properties; do not enable javascript: URLs or executable embedded content.
Never eval incoming data or treat a viewer message as an AI instruction.
Keep source checks, connection handling, and existing sanitizers.
Test plain text, allowed emotes, quotes, angle brackets, and an HTML injection
probe in an isolated preview; verify the probe cannot execute.
Make the edited overlay work directly from disk using a file:/// URL,
without requiring a local web server.
Return the edited files, any additional assets, exact local browser/OBS
setup instructions using placeholders, and the specific tests performed.
Do not put my private session link or credentials into a public example.Testez ce type de superposition
Utilisez d'abord une configuration d'aperçu ou de test. Le guide des messages de test explique comment envoyer des charges utiles fictives via SSN ; un test soumis à votre session de production peut déclencher ses automatisations existantes.
- Utilisez l'outil de message de test pour envoyer le message spécifique de suivi, d'abonnement, de cadeau, de raid ou payant pris en charge par votre source ; vérifiez quels champs sont réellement présents.
- Envoyez deux alertes rapprochées pour vérifier la file d'attente et quitter les animations. Testez un message vide avec une étiquette de don et un nom long.
- Pour les flux d'événements, vérifiez le défilement, le filtrage et tout comportement de fonctionnalité au clic. Pour les effets sonores, vérifiez la source audio dans OBS ainsi que l'image.
Exécutez également le vérifications du rendu des entrées par rapport aux chemins de rendu que vous avez modifiés. Après avoir enregistré les modifications, actualisez la source du navigateur OBS entre les répétitions et répétez l'interaction visible. Les aperçus du navigateur n'établissent pas de capture en direct ni de comportement OBS.
Autres références : Compatibilité des événements · Effets d'alerte · Préréglages d'événements · Référence des événements · Dépannage de la configuration locale.