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

TeaZ

Helpeur
Premium
Inscription
21 Juillet 2012
Messages
2 172
Réactions
775
Points
17 576
J'ai un problème (encore vous allez dire :mdr:), j'ai modifié ton code pour en mettre un différent:

screenshot%20ao%C3%BBt%208%20-%2016h02m3.png


Je n'arrive pas à voir ce qui fait qu'il ne marche pas :(
 

Escoo

Premium
Inscription
9 Juin 2016
Messages
946
Réactions
435
Points
10 236
est ce que dans le script si je met ":membre:" une foie je choisi la réponse ça me met le pseudo du membre?
 
Inscription
1 Janvier 2015
Messages
5 088
Réactions
2 377
Points
20 610
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 :)
même le c/c de ton code ne fontionee pas pour moi D:
 

Ezoh'

Helpeur
Premium
Inscription
12 Juillet 2016
Messages
2 056
Réactions
926
Points
2 941
Merci :)
Comment on fait pour mettre des AwesomeFont dans la description ?
 

Westiix

Fortnite Player || PHP & VB.NET
Premium
Inscription
5 Octobre 2011
Messages
2 219
Réactions
88
Points
12 753
Salut,

J'ai modifier un peu le code à "ma sauce" :

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(txt){
        $('iframe.redactor_textCtrl').contents().find('body').html(txt);
        $('iframe.redactor_textCtrl').contents().find('body').select();
        $('iframe.redactor_textCtrl').contents().find('body').focus();
    }

    // Fonction qui ecrit dans le textarea
    function ecrire(text){
        var rl = '<br>\n';
        var txt = text + rl;
        reply(txt);
    }

    // Fonction qui permet de crée un bouton (nom, nom de l'action du bouton)
    function btn(text, action){
        var debut_link = "<a href='javascript:void(0);' style='color:#3c5365;text-decoration:none;'";
        var action_link = "data-action='" + action + "'";
        var suite_link = "data-message=''><i class='fa fa-angellist'></i>";
        var texte_link = text;
        var fin_link = "</a>";
        var btn = debut_link + action_link + suite_link + texte_link + fin_link;
      
        return btn;
    }
    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>';

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

    $('#barre a').on('click', function(){
        if($(this).data('action') == "bjr"){
            // si l'action "bjr" existe, on ecrit dans la textarea "Bonjour"
            ecrire("Bonjour !");
        } else if($(this).data('action') == "slt"){
            // si l'action "slt" existe, on ecrit dans la textarea "Salut !"
            ecrire("Salut !");
        }
    });
});
 

Westiix

Fortnite Player || PHP & VB.NET
Premium
Inscription
5 Octobre 2011
Messages
2 219
Réactions
88
Points
12 753
@Julien Moreau :
- 1) Installe
- 2) Clique sur l'icon de TamperMonkey
- 3) Crée un nouveau script et met tout le code dedans puis enregistre le tout
 
Haut