Créer un script de réponse pré-définie sur le forum

Paradise'

Premium
Inscription
30 Juin 2013
Messages
4 259
Réactions
4 384
Points
20 795
1470501154-psd-header-gtp.png



Introduction

Dans ce topic je vous montrerai comment faire un script comme m'a réalisé le membre @DEVR0 il y a maintenant près de deux ans avec seulement deux boutons.
Je suis sous Google Chrome, donc mon éditeur de script est Tampermonkey, mais ce sera le même code pour tous les navigateurs.
Voilà à quoi cela ressemblera, en cliquant sur un des boutons, cela mettra un texte prédéfini dans la zone de texte, pratique pour des répétitions récentes sur le forum non ?

158049695e6dc104bf970588e755480c.png


1470501746-separateurs-gtp.png


Codage

Quand on commence la création de notre script, il est vide, normal non ? On va commencer par mettre les informations de base.
Donc on remplit ceci :

6c213c071fb7e2def951a29379c4e3ed.png


Voilà si vous avez réussi ça, félicitation c'était le plus difficile.
Donc on commence par définir nos fonctions, c'est là où on mettra notre texte prédéfini.

Code:
$(document).ready(function(){

On se retrouve donc avec ceci :

63d912615ed12301c61f0f6aab46ab89.png


Donc comme première réponse prédéfinie le texte sera :
« Bonjour,
Comment ça va ? »

Pour ce faire, on va commencer par définir notre fonction que on appel, reply_bonjour.
Puis, deux variables, une première qu'on appelle « rl » comme retour ligne, elle servira à être inséré pour les retours à la ligne
Une seconde que on appelle « txt » comme texte, elle servira à définir le texte.

Code:
function reply_bonjour(){
     var rl = '<br>\n';
     var txt = "Bonjour" + rl + "Comment ça va ?";
     reply(txt);

06eb53e26e01ebfdf470077b06887f411.png


Donc maintenant on met ceci pour l'afficher en bas de la zone de texte :

Code:
var style= '<style>#barre{text-align:center;border-radius:5px;border:1px solid rgb(210,210,210);padding:10px;}#barre a{margin-right:8px;margin-left:8px;}</style>';
            var bjr = '<a href="javascript:void(0);" style="color:#3c5365;text-decoration:none;" data-action="bjr" data-message=""><i class="fa fa-angellist"></i>  Bonjour</a>';



53045b6597178649a80c39a2cf9cac811.png


Pour afficher le bouton dans la barre on met ceci :
Code:
$('#QuickReply').find('.submitUnit').before('<br>' + style + '<div class="barre" id="barre">' + bjr + '</div></br>'); // UI


Une fois ceci fait, c'est très simple il faut définir que le bouton « bjr » est la fonction « reply_bonjour » pour ceci on met ce code :

Code:
$('#barre a').on('click', function(){
        if($(this).data('action') == "bjr"){
           reply_bonjour();
        }


0c3a27ba5c87aa87bdbe371e2e0aeab91.png


Au final voila notre code entier :

Code:
// ==UserScript==
// @name         Tutoriel premium RG
// @namespace    https://reality-gaming.fr/
// @version      0.1
// @description  Réponse prédéfinie sur RG
// @author       Paradise
// @include      https://reality-gaming.fr/threads/*
// @include      https://reality-gaming.fr/conversations/*
// @grant        none
// ==/UserScript==

$(document).ready(function(){

        function reply_bonjour(){
     var rl = '<br>\n';
     var txt = "Bonjour" + rl + "Comment ça va ?";
     reply(txt);
        }

            var style= '<style>#barre{text-align:center;border-radius:5px;border:1px solid rgb(210,210,210);padding:10px;}#barre a{margin-right:8px;margin-left:8px;}</style>';
            var bjr = '<a href="javascript:void(0);" style="color:#3c5365;text-decoration:none;" data-action="bjr" data-message=""><i class="fa fa-angellist"></i>  Bonjour</a>';


    $('#QuickReply').find('.submitUnit').before('<br>' + style + '<div class="barre" id="barre">' + bjr + '</div></br>');

    $('#barre a').on('click', function(){
        if($(this).data('action') == "bjr"){
           reply_bonjour();
        }
    });
});


06904f98d41a470ac3b0c2bd5394019d.png


Si on veut rajouter d'autres boutons voila comment faire :

52d869523a045758dc07fbfd73c23146.png



Pour finir, vous aurez pu voir que vos boutons sont bien visibles mais que cela ne fait rien, il vous faut ajouter ce code :

Code:
 function reply(txt){
        $('iframe.redactor_textCtrl').contents().find('body').html(txt);
        $('iframe.redactor_textCtrl').contents().find('body').select();
        $('iframe.redactor_textCtrl').contents().find('body').focus();
    }


Tout en haut juste avant vos fonctions.
8827b69991a226550c0f11697ddf4ed9.png


Rendu :

69d6d632d2e0bafd37b52321184d581d.png


Voila ce tutoriel s'achève ici à vous de faire vos réponses prédéfinies :)
 

TeaZ

Helpeur
Premium
Inscription
21 Juillet 2012
Messages
2 172
Réactions
775
Points
17 576
Très bon topic, ça va énormément m'aider! Très utile pour les Helpeurs et Modérateurs d'après moi :oui:

Je me pose juste la question, où faut-il entrer toutes ces lignes de code? :mmh:
 

LeNooByDu95

スーパーマリオ
Premium
Inscription
28 Octobre 2014
Messages
2 224
Réactions
669
Points
8 748
Très bon topic, ça va énormément m'aider! Très utile pour les Helpeurs et Modérateurs d'après moi :oui:

Je me pose juste la question, où faut-il entrer toutes ces lignes de code? :mmh:
ICI puis ICI
 

TeaZ

Helpeur
Premium
Inscription
21 Juillet 2012
Messages
2 172
Réactions
775
Points
17 576
Sous Mozilla Firefox, je ne trouve pas un éditeur de script comme Tampermonkey... :mmh:
 

TeaZ

Helpeur
Premium
Inscription
21 Juillet 2012
Messages
2 172
Réactions
775
Points
17 576
Oui c'est normal sur firefox c'est Greasemonkey :
Super merci, par contre ça se présente sous cette forme, donc est-ce que les lignes de codes doivent être entrées de la même façon et où est-ce qu'elles doivent être entrées (Inclus? Exclus?)
screenshot%20ao%C3%BBt%208%20-%2015h25m19s60.png

sDU5igj
 

LeNooByDu95

スーパーマリオ
Premium
Inscription
28 Octobre 2014
Messages
2 224
Réactions
669
Points
8 748
Bonjour
Comment ça va ?
Marche nikel merci <3 :
Super merci, par contre ça se présente sous cette forme, donc est-ce que les lignes de codes doivent être entrées de la même façon et où est-ce qu'elles doivent être entrées (Inclus? Exclus?)
screenshot%20ao%C3%BBt%208%20-%2015h25m19s60.png

sDU5igj
Nom : Le Nom de ton script
Espace de nom :https://reality-gaming.fr/
Description : Se que tu veux :)
Inclus :
https://reality-gaming.fr/threads/*
https://reality-gaming.fr/conversations

ensuite tu fait ok :)
 

TeaZ

Helpeur
Premium
Inscription
21 Juillet 2012
Messages
2 172
Réactions
775
Points
17 576
Bonjour
Comment ça va ?
Marche nikel merci <3 :

Nom : Le Nom de ton script
Espace de nom :https://reality-gaming.fr/
Description : Se que tu veux :)
Inclus :
https://reality-gaming.fr/threads/*
https://reality-gaming.fr/conversations

ensuite tu fait ok :)
Et les lignes de code du script elles vont où? Dans Exclus?
 

LeNooByDu95

スーパーマリオ
Premium
Inscription
28 Octobre 2014
Messages
2 224
Réactions
669
Points
8 748
J'ai trouvé en cliquant sur OK la script s'ouvre, merci à toi ;)
Après tu mais sa
Code:
$(document).ready(function(){
   
function reply(txt){
        $('iframe.redactor_textCtrl').contents().find('body').html(txt);
        $('iframe.redactor_textCtrl').contents().find('body').select();
        $('iframe.redactor_textCtrl').contents().find('body').focus();
    }
   
        function reply_bonjour(){
     var rl = '<br>\n';
     var txt = "Bonjour" + rl + "Comment ça va ?";
     reply(txt);
        }

            var style= '<style>#barre{text-align:center;border-radius:5px;border:1px solid rgb(210,210,210);padding:10px;}#barre a{margin-right:8px;margin-left:8px;}</style>';
            var bjr = '<a href="javascript:void(0);" style="color:#3c5365;text-decoration:none;" data-action="bjr" data-message=""><i class="fa fa-angellist"></i>  Bonjour</a>';


    $('#QuickReply').find('.submitUnit').before('<br>' + style + '<div class="barre" id="barre">' + bjr + '</div></br>');

    $('#barre a').on('click', function(){
        if($(this).data('action') == "bjr"){
           reply_bonjour();
        }
    });
});
Bon codage ;)
 

TeaZ

Helpeur
Premium
Inscription
21 Juillet 2012
Messages
2 172
Réactions
775
Points
17 576
Que faut-il mettre dans le code si on veut mettre une partie du texte de la réponse prédéfinie, en gras ?

Merci de votre aide :p
 

LeNooByDu95

スーパーマリオ
Premium
Inscription
28 Octobre 2014
Messages
2 224
Réactions
669
Points
8 748
Je ne veux pas que tout soit en gras, seulement le Bonjour par exemple :ok:
Oui regarde tu rajoute simplement
Code:
[b] Bonjour [/b]
entre le mot ou ta phrase :)
Je t'invite a aller voir la liste de bbcode :)
 
Haut