Question fréquemment posée
Contexte
Lorsqu'on utilise Streamer.bot, plusieurs fonctions dites "inline" sont disponibles au sein des champs qui acceptent des variables. On peut en trouver le détail dans la documentation officielle : https://docs.streamer.bot/guide/variables#inline-functions et il est par exemple possible de faire des opérations mathématiques simples. Exemple "$math(%variable% * 10)$" permet de récupérer le résultat de l'opération multipliant la variable fournie par 10.
Problème
Il y a bien quelques fonctions inline consacrées aux chaînes de caractères, comme "$length(%rawInput%)$" qui permet de connaître la longueur du texte présent dans la variable fournie. Toutefois, il n'y a pas de méthode simple pour séparer différents éléments au sein d'une chaine de caractères en précisant un séparateur.
Solution
J'ai créé une sub action spécifique codée en C# intitulée "Découpage de la chaine %chaineADecouper% avec le séparateur %separateur%" qui permet en fournissant une %chaineADecouper% et en précisant un %separateur% (qui peut être un seul caractère ou plusieurs) d'obtenir facilement %partieGauche% et %partieDroite%".
Par exemple :
- %chaineADecouper% : "Je suis un titre Chapitre : Je suis un nom de chapitre"
- %separateur% : "Chapitre :"
- %partieGauche% donnera "Je suis un titre"
- %partieDroite% donnera "Je suis un nom de chapitre"
Mise en œuvre de la solution
Directement via l'import de Streamer.bot
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
Amélioration possible
Il pourrait être envisageable d'améliorer le concept afin de permettre l'extraction de plus de deux sous-chaînes (utilisation d'une ligne séparée par des virgules ou points virgules par exemple).
Plus généralement, il pourrait être envisagé de concevoir toute une série de sub actions permettant d'émuler ce qu'on peut traditionnellement faire en programmation avec la notion de variable de type tableau : ajouter, supprimer, mélanger, explode, implode... Car Streamer.bot ne permet pas d'utiliser et d'avoir des fonctions associées à des variables tableau. Cela est très dommage car c'est fort utile dans une grande variété de situations.
Utilisation
Conçu notamment pour le streamer kafkalino sur Twitch qui avait besoin de fournir à des sub actions 2 informations d'un coup en un seul argument. Ledit argument est ensuite découpé en deux morceaux grâce à cette solution.