Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2020-06-07T23:54:35+02:00Les derniers messages parus sur le forum de Zeste de Savoir.DiscordJS Bot Réaction message, message #2220372020-06-07T23:54:35+02:00Helmasaur/@Helmasaurhttps://zestedesavoir.com/forums/sujet/14137/discordjs-bot-reaction-message/?page=1#p222037<p>Tu récupères bien l’ID au démarrage du bot ?</p>
<div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></div><pre><code class="hljs language-js">BOT.on(<span class="hljs-string">'ready'</span>, <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
pr = <span class="hljs-string">"§"</span>
<span class="hljs-keyword">var</span> array = fs.readFileSync(<span class="hljs-string">'DispoID.txt'</span>).toString().split(<span class="hljs-string">"\n"</span>);
<span class="hljs-keyword">for</span>(i <span class="hljs-keyword">in</span> array) {
<span class="hljs-built_in">console</span>.log(array[i]);
}
DispoID = array[<span class="hljs-number">1</span>]
<span class="hljs-keyword">return</span> DispoID
<span class="hljs-built_in">console</span>.log(DispoID)
})
</code></pre></div>
<p>As-tu essayé d’initialiser la variable en dehors de ce bloc ? On dirait que le problème vient du fait qu’il s’agisse d’une variable locale.</p>
<p>PS : la ligne <code>return DispoID</code> ne sert à rien car elle n’exécute rien et que <code>BOT.on()</code> ne stock rien.</p>DiscordJS Bot Réaction message, message #2214862020-05-29T23:20:56+02:00j.riebar/@j.riebarhttps://zestedesavoir.com/forums/sujet/14137/discordjs-bot-reaction-message/?page=1#p221486<p>Chaque semaine, il y a un nouveau message que j’envoie et qui remplace dans le fichier texte l’ID du message précédent par l’ID du nouveau message. Ensuite durant la semaine, les utilisateurs ajoutent des réactions. Ensuite à l’instant T ou je rentre la commande (ici pr + "Début"), le bot check les réaction qui sont présente sous le message et me renvoie la liste des utilisateurs ayant répondu avec un certains emoji. Pour l’instant, il n’arrive même à récupérer le contenu du message. J’ai fait le test de récupérer le contenu avec la vraie ID (directement écrite) puis avec la variable contenant l’ID enregistré dans le fichier texte mais cela ne fonctionne que si je mets directement l’ID (sans passer par la variable). Lorsque je tentais de lire le contenu du message avec l’ID présent dans la variable, la console me revoyait "Undifined" .Donc je pense que c’est la variable DispoID qui pose problème mais j’ai pompé (en changeant a ma sauce sur ce que je comprenais) la partie de code qui écrit dans un fichier texte sur internet donc je ne comprends pas complètement ce que j’ai fait. J’espère que ca répond a ta question et si tu as besoin de contact vocal le discord est toujours présent <img src="/static/smileys/svg/hihi.svg" alt="^^" class="smiley"> </p>DiscordJS Bot Réaction message, message #2214832020-05-29T20:29:56+02:00Helmasaur/@Helmasaurhttps://zestedesavoir.com/forums/sujet/14137/discordjs-bot-reaction-message/?page=1#p221483<figure><blockquote>
<p>Or cela ne marche pas et je ne comprends pas comment il faut faire.</p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/14137/discordjs-bot-reaction-message/?page=1#p221473">j.riebar</a></figcaption></figure>
<p>Un petit conseil pour quand tu demandes de l’aide : quand quelque chose ne fonctionne pas, explique ce qui bloque. Par exemple, un message d’erreur ou même ce qui a fonctionné si ça a été partiel <img src="/static/smileys/svg/hihi.svg" alt="^^" class="smiley"> .</p>
<figure><blockquote>
<p>J’utilise un fichier texte dans lequel j’écris l’ID de mon message pour la sauvegarder quand le Bot s’arrête. Une fois le bot réactivé, je voudrais réutiliser cette ID pour trouver le message et récupérer la liste des utilisateurs qui ont réagit avec les deux première réactions. Or cela ne marche pas et je ne comprends pas comment il faut faire.</p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/14137/discordjs-bot-reaction-message/?page=1#p221473">j.riebar</a></figcaption></figure>
<p>Tu comptes ne sauvegarder qu’un message maximum ? Sinon, tu souhaites lire les résultats jusqu’à une date limite ou non ? Car avec le système de récupérer le message puis les réactions après coup, il y a le risque que le résultat soit modifié au fil du temps.</p>
<hr>
<p>Je n’ai lu le code qu’en diagonal. Je m’y attarderai plus quand je comprendrai exactement ce qui est voulu <img src="/static/smileys/svg/clin.svg" alt=";)" class="smiley"> .</p>DiscordJS Bot Réaction message, message #2214732020-05-29T14:59:52+02:00j.riebar/@j.riebarhttps://zestedesavoir.com/forums/sujet/14137/discordjs-bot-reaction-message/?page=1#p221473<p>Bonjour,</p>
<p>Je fais un BOT pour un serveur Discord et j’ai besoin de récupérer les réaction d’un message que le bot à écrit précédemment. Pour cela j’utilise un fichier texte dans lequel j’écris l’ID de mon message pour la sauvegarder quand le Bot s’arrête. Une fois le bot réactivé, je voudrais réutiliser cette ID pour trouver le message et récupérer la liste des utilisateurs qui ont réagit avec les deux première réactions. Or cela ne marche pas et je ne comprends pas comment il faut faire. Je vous mets le code en entier pour que vous saisissiez l’entièreté mais seule la commande "dr" est utilisé pour faire des test. Ce qui sera écrit dans "dr" sera ensuite copié dans la commande pr+ "début". Si vous avez besoins de plus de détails ou bien que vous avez le temps de m’aidez en vocal rejoignez moi ici <a href="https://discord.gg/PzXfKHU">https://discord.gg/PzXfKHU</a> .</p>
<div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></div><pre><code class="hljs language-applescript">const Discord = require('discord.js')
const BOT = new Discord.Client()
var fs = require('fs')
BOT.login('VousCroyezQueJ'aiMisLeToken?')
BOT.<span class="hljs-keyword">on</span><span class="hljs-params">('ready', function<span class="hljs-params">()</span>{
pr = <span class="hljs-string">"§"</span>
var array = fs.readFileSync<span class="hljs-params">('DispoID.txt')</span>.toString<span class="hljs-params">()</span>.split<span class="hljs-params">(<span class="hljs-string">"\n"</span>)</span>;
for<span class="hljs-params">(i in array)</span> {
console.log<span class="hljs-params">(array[i])</span>;
}
DispoID = array[<span class="hljs-number">1</span>]
return DispoID
console.log<span class="hljs-params">(DispoID)</span>
})</span>
BOT.<span class="hljs-keyword">on</span><span class="hljs-params">('message', function<span class="hljs-params">(message)</span>{
if <span class="hljs-params">(message.content === pr +'ping')</span>{
message.channel.send<span class="hljs-params">('Pong')</span>
}
if <span class="hljs-params">(message.content === pr + <span class="hljs-string">"cloé"</span>)</span>{
message.channel.send<span class="hljs-params">(<span class="hljs-string">"Wouf,Wouf! :dog:"</span>)</span>
}
if <span class="hljs-params">(message.content.toLowerCase<span class="hljs-params">()</span>.startsWith<span class="hljs-params">(<span class="hljs-string">"dr"</span>)</span>)</span>{
MessageDispo = message.channel.messages.fetch<span class="hljs-params">(DispoID.toString)</span>
.then<span class="hljs-params">(message => console.log<span class="hljs-params">(message.content)</span>)</span>
}
if<span class="hljs-params">(message.member.permissions.has<span class="hljs-params">(<span class="hljs-string">"ADMINISTRATOR"</span>)</span> || message.member.roles.cache.some<span class="hljs-params">(role => role.name === 'Admin Temporaire')</span>)</span>{
if<span class="hljs-params">(message.content.toLowerCase<span class="hljs-params">()</span>.startsWith<span class="hljs-params">(pr + <span class="hljs-string">"dispo"</span>)</span>)</span>{
message.delete<span class="hljs-params">()</span>
args = message.content
chn = args.substring<span class="hljs-params">(<span class="hljs-number">7</span>)</span>
message.channel.send<span class="hljs-params">(<span class="hljs-string">"@everyone Qui pense être disponible vendredi "</span>+ chn + <span class="hljs-string">" ? \nRéaction possible a ce message :\n:white_check_mark: - Vous Pouvez\n:part_alternation_mark: - Vous n'êtes pas sur\n:negative_squared_cross_mark:- Vous ne pouvez pas\n\n(évitez de répondre plusieurs trucs pcq c'est pas hyper pratique m'voyez?)"</span>)</span>.then<span class="hljs-params">(sentMessage => {
sentMessage.react<span class="hljs-params">(<span class="hljs-string">"✅"</span>)</span>
sentMessage.react<span class="hljs-params">(<span class="hljs-string">"〽️"</span>)</span>
sentMessage.react<span class="hljs-params">(<span class="hljs-string">"❎"</span>)</span>
})</span>
}
if<span class="hljs-params">(message.member.id === <span class="hljs-string">"706131839689162761"</span>)</span>{
if <span class="hljs-params">(message.content.startsWith<span class="hljs-params">(<span class="hljs-string">"@everyone Qui pense être disponible vendredi"</span>)</span>)</span>{
var DispoID = message.id
var logger = fs.createWriteStream<span class="hljs-params">('DispoID.txt', {
})</span>
logger.write<span class="hljs-params">(DispoID)</span>
logger.end
return DispoID
}
}
if <span class="hljs-params">(message.channel.id === <span class="hljs-string">"705185425878417470"</span>)</span>{
if <span class="hljs-params">(message.content.toLowerCase<span class="hljs-params">(pr + <span class="hljs-string">"fin"</span>)</span>)</span>{
message.channel.send<span class="hljs-params">(<span class="hljs-string">"@everyone Comment avez vous trouver la soirée? Notez la sur 10 !"</span>)</span>.then<span class="hljs-params">(sentMessage => {
sentMessage.react<span class="hljs-params">(<span class="hljs-string">"1️⃣"</span>)</span>
sentMessage.react<span class="hljs-params">(<span class="hljs-string">"2️⃣"</span>)</span>
sentMessage.react<span class="hljs-params">(<span class="hljs-string">"3️⃣"</span>)</span>
sentMessage.react<span class="hljs-params">(<span class="hljs-string">"4️⃣"</span>)</span>
sentMessage.react<span class="hljs-params">(<span class="hljs-string">"5️⃣"</span>)</span>
sentMessage.react<span class="hljs-params">(<span class="hljs-string">"6️⃣"</span>)</span>
sentMessage.react<span class="hljs-params">(<span class="hljs-string">"7️⃣"</span>)</span>
sentMessage.react<span class="hljs-params">(<span class="hljs-string">"8️⃣"</span>)</span>
sentMessage.react<span class="hljs-params">(<span class="hljs-string">"9️⃣"</span>)</span>
sentMessage.react<span class="hljs-params">(<span class="hljs-string">"🔟"</span>)</span>
})</span>
let RoleListe = message.guild.roles.cache.find<span class="hljs-params">(r => r.name === <span class="hljs-string">"DJ"</span>)</span>
list = RoleListe.members
list.forEach<span class="hljs-params">(<span class="hljs-params">(member, key)</span> => member.roles.remove<span class="hljs-params">('<span class="hljs-number">703311429155029162</span>')</span>)</span>
let RoleListe2 = message.guild.roles.cache.find<span class="hljs-params">(r => r.name === <span class="hljs-string">"Invités"</span>)</span>
list = RoleListe2.members
list.forEach<span class="hljs-params">(<span class="hljs-params">(member, key)</span> => member.roles.remove<span class="hljs-params">('<span class="hljs-number">703349081577357333</span>')</span>)</span>
message.delete<span class="hljs-params">()</span>
}
if<span class="hljs-params">(message.content.toLowerCase<span class="hljs-params">(pr + 'début')</span>)</span>{
ReactionListe = message.reactions.cache.get<span class="hljs-params">(DispoID)</span>
//Checkez les réaction du message
//Donnez le rôle a toute ceux qui on répondu
message.channel.send<span class="hljs-params">(<span class="hljs-string">"@everyone La soirée vient de commencer, nous vous attendons :thumbsup: !"</span>)</span>
message.delete<span class="hljs-params">()</span>
}
}
if<span class="hljs-params">(message.channel.id === '<span class="hljs-number">703349219003727933</span>')</span>{
if <span class="hljs-params">(message.content.toLowerCase<span class="hljs-params">()</span>.startsWith<span class="hljs-params">(pr + <span class="hljs-string">"dj"</span>)</span>)</span>{
const member = message.mentions.members.first<span class="hljs-params">()</span>
let RoleListe = message.guild.roles.cache.find<span class="hljs-params">(r => r.name === <span class="hljs-string">"DJ"</span>)</span>
member.roles.add<span class="hljs-params">(RoleListe)</span>
message.delete<span class="hljs-params">()</span>
}
}
if<span class="hljs-params">(message.content.toLowerCase<span class="hljs-params">()</span>.startsWith<span class="hljs-params">(pr + <span class="hljs-string">"setpréfix"</span>)</span>)</span>{
args = message.content
chn = args.substring<span class="hljs-params">(<span class="hljs-number">8</span>)</span>
if <span class="hljs-params">(chn.lenght > <span class="hljs-number">1</span>)</span>{
message.channel.send<span class="hljs-params">(<span class="hljs-string">"Préfix trop long"</span>)</span>
}
if<span class="hljs-params">(chn.lenght === <span class="hljs-number">1</span>)</span>{
pr = chn
}
}
}
if<span class="hljs-params">(message.author.id === '<span class="hljs-number">706131839689162761</span>')</span>{}
if<span class="hljs-params">(message.content.toLowerCase<span class="hljs-params">()</span> === <span class="hljs-string">"§préfix"</span>)</span>{
message.channel.send <span class="hljs-params">(<span class="hljs-string">"Préfixe actuel:"</span> + pr)</span>
}
})</span>
BOT.<span class="hljs-keyword">on</span><span class="hljs-params">(<span class="hljs-string">"guildMemberAdd"</span>, function<span class="hljs-params">(member)</span>{
})</span>
</code></pre></div>
<p> Bien sympathiquement</p>