Concevez votre propre superposition de messages en vedette

Créez des messages surlignés de marque, des citations d'interview et des tiers inférieurs à partir du flux de messages sélectionnés.

Choisissez la bonne page de démarrage

Une superposition présentée montre un message sélectionné dans le Dock ou par une automatisation existante. Le simple fait de recevoir un chat ordinaire ne signifie pas qu'il doit apparaître ici. Copier featured.html ou le fichier exact sous themes/featured-styles/ utilisé par la conception que vous avez choisie. La valeur

Moteur de rendu de message en vedette réel avec un message fictif en surbrillance
featured.html réel rendu localement avec un message fictif.

Téléchargez et conservez la structure du fichier

  1. 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.
  2. Copier featured.html à my-featured.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.
  3. 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.

FichierPourquoi c'est important
featured.htmlAffichage principal des messages vedettes.
samplefeatured.htmlRendu d'échantillons alternatif.
themes/featured-styles/featured-modern.htmlUn thème vedette ; d'autres styles s'assoient à ses côtés.
themes/featured-styles/artwork.cssIllustrations utilisées par les thèmes présentés.
themes/collections.cssStyle de collection partagé utilisé par les thèmes.
shared/utils/chatHtml.jsMessage HTML épuré ; nécessite libs/objects.js.
shared/utils/chatBadges.jsRendu de badge et son compagnon CSS.
shared/utils/contentImage.jsGestion du contenu des images dans la page principale présentée.

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.

Collez l'adresse de superposition locale complète dans le champ URL OBS.
Collez l'adresse de superposition locale complète dans le champ URL OBS.
  1. Faites glisser votre fichier HTML modifié vers Chrome ou Edge. Copiez son adresse depuis la barre d'adresse ; ça commence par file:///.
  2. 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.
  3. 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-featured.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

Stylisez la plaque signalétique, le corps du message, le badge de don, la zone d'image, l'alignement et les animations. Conservez les champs et les conteneurs utilisés par le moteur de rendu existant, y compris la gestion d'effacement/masquage. Une page transparente sans message sélectionné est normale. Pour un tiers inférieur, dimensionnez et placez la carte dans le canevas complet de la source plutôt que d'intégrer une capture d'écran fixe du texte dans le design.

Un thème présenté peut partager du CSS et des illustrations avec d'autres thèmes. Ajoutez des remplacements dans votre code HTML copié pour une seule conception ; si vous modifiez une feuille de style partagée, chaque page qui la charge reçoit la modification.

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-featured.html, copied from featured.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].

Make this featured-message page match [brand/reference] as a [lower third / quote card] on [canvas size]. Keep selected-message routing, clear/hide commands, supported media, badges, donation labels, and textonly behavior. Preserve the page's existing bridge label and socket channels; do not change it into an all-chat feed.

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.

  1. Envoyez un message de discussion test au Dock, puis cliquez/sélectionnez-le pour le présenter. Confirmez que votre page personnalisée reçoit la sélection.
  2. Présentez un deuxième message, puis effacez-le. Vérifiez le nettoyage des animations, les messages longs, les avatars, les badges et une sélection d'images uniquement.
  3. Testez un don et un message avec les emotes autorisées, et répétez la sélection dans OBS. L'envoi uniquement d'un test de chat générique à un canal de chat capturé ne teste pas l'itinéraire présenté.

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 : Affichages multiples et routage · Configuration du modèle · Référence des événements · Dépannage de la configuration locale.