Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2021-04-22T21:30:08+02:00Les derniers messages parus sur le forum de Zeste de Savoir.[Node.js] Bot Discord Message , message #2335372021-04-22T21:30:08+02:00syanis.gacha/@syanis.gachahttps://zestedesavoir.com/forums/sujet/12793/nodejs-bot-discord-message/?page=1#p233537<p>Et en changeant les / par des + ?</p>[Node.js] Bot Discord Message , message #2314292021-02-24T22:42:58+01:00sonexyt077/@sonexyt077https://zestedesavoir.com/forums/sujet/12793/nodejs-bot-discord-message/?page=1#p231429<p>J ai le meme probleme j ai tous changer cela ne change rien si quelqu’un peut m aider je suis preneur </p>
<figure><img src="https://cdn.discordapp.com/attachments/689745557903638548/814255007620005918/Capture.PNG" alt="Image utilisateur"><figcaption>Image utilisateur</figcaption></figure>[Node.js] Bot Discord Message , message #2306942021-01-25T18:21:49+01:00Roka/@Rokahttps://zestedesavoir.com/forums/sujet/12793/nodejs-bot-discord-message/?page=1#p230694<figure><blockquote>
<figure><blockquote>
<p>N’oublie pas de passer le sujet en résolu sous le menu Actions <img src="/static/smileys/svg/clin.svg" alt=";)" class="smiley"></p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/12793/nodejs-bot-discord-message/?page=1#p206657">Vanadiae</a></figcaption></figure>
<p>Salut ! Je ré-ouvre mon sujet car il y a un problème avec ton code et je n’arrive pas a le corrigée Je suis décidément nul <img src="/static/smileys/svg/pinch.svg" alt="X/" class="smiley"></p>
<p>Avec les corrections que tu ma proposer , sa ne Fonctionne que a 50%
La commande <code>\n</code> Fonctionne bien mais j’ai du modifier le <code>\</code> par <code>/</code> car sinon sa crée quelque erreur et aussi bizarrement quand j’exécute la commande sa me répond <code>NaN</code> en Message privée Discord ,
Hors je n’est a aucun moment écrit <code>NaN</code> dans le code
J’ai beau Ecrire autre chose dans le <code>channel.send</code> sa me répond <code>NaN</code> a chaque fois ,
Une idée ?
Cordialement</p>
<p>Correction proposer :</p>
<div class="hljs-code-div hljs-code-js"><div class="hljs-line-numbers"><span data-count="1"></span><span data-count="2"></span><span data-count="3"></span><span data-count="4"></span><span data-count="5"></span><span data-count="6"></span><span data-count="7"></span><span data-count="8"></span><span data-count="9"></span><span data-count="10"></span><span data-count="11"></span><span data-count="12"></span><span data-count="13"></span><span data-count="14"></span><span data-count="15"></span><span data-count="16"></span><span data-count="17"></span><span data-count="18"></span><span data-count="19"></span><span data-count="20"></span><span data-count="21"></span><span data-count="22"></span><span data-count="23"></span><span data-count="24"></span><span data-count="25"></span><span data-count="26"></span><span data-count="27"></span><span data-count="28"></span><span data-count="29"></span><span data-count="30"></span><span data-count="31"></span><span data-count="32"></span><span data-count="33"></span><span data-count="34"></span><span data-count="35"></span></div><pre><code class="hljs language-js"><span class="hljs-keyword">const</span> Discord = <span class="hljs-built_in">require</span>(<span class="hljs-string">"discord.js"</span>);
<span class="hljs-keyword">const</span> Token = <span class="hljs-string">"Nope"</span>;
<span class="hljs-keyword">const</span> bot = <span class="hljs-keyword">new</span> Discord.Client();
<span class="hljs-keyword">const</span> PREFIX = <span class="hljs-string">"!"</span>;
bot.on(<span class="hljs-string">'ready'</span>, <span class="hljs-function">() =></span>{
<span class="hljs-built_in">console</span>.log(<span class="hljs-string">'Bot en ligne'</span>);
})
bot.on(<span class="hljs-string">'message'</span>, <span class="hljs-function"><span class="hljs-params">message</span>=></span>{
<span class="hljs-keyword">let</span> args = message.content.substring(PREFIX.length).split(<span class="hljs-string">" "</span>);
<span class="hljs-keyword">switch</span>(args[<span class="hljs-number">0</span>]){
<span class="hljs-keyword">case</span> <span class="hljs-string">'info'</span> :
message.author.createDM().then(<span class="hljs-function"><span class="hljs-params">channel</span> =></span> {
channel.send(
<span class="hljs-string">'__**📋 INFORMATION 📋**__\n'</span> /
<span class="hljs-string">'*Pas encore dinfo :/*\n'</span> /
<span class="hljs-string">'__***zzzzzz***__\n'</span> /
<span class="hljs-string">'__**💾 COMMANDES 💾**__\n'</span> /
<span class="hljs-string">'`aaaaaaaa\n'</span>
);
});
<span class="hljs-keyword">break</span>;
}
})
bot.login(Token);
</code></pre></div>
<p></p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/12793/nodejs-bot-discord-message/?page=1#p206715">crazy.game323</a></figcaption></figure>
<p>Salut, j’ai eu le même problème, et je viens de réussir. </p>
<p>message.channel.send (‘Ligne 1 \n Ligne 2)</p>
<p>Voilà, si tu es toujours bloqué ou que ça peut aider quelqu’un d’autre <img src="/static/smileys/svg/hihi.svg" alt="^^" class="smiley"></p>Node Discord js sequelize findOne() renvoie une valeur étrange, message #2263612020-09-24T13:12:05+02:00ache/@achehttps://zestedesavoir.com/forums/sujet/14554/node-discord-js-sequelize-findone-renvoie-une-valeur-etrange/?page=1#p226361<p>C’est tout à fait normal !</p>
<p>Je te souhaite bon courage dans ton apprentissage. <img src="/static/smileys/svg/smile.svg" alt=":)" class="smiley"> </p>Node Discord js sequelize findOne() renvoie une valeur étrange, message #2263602020-09-24T13:04:23+02:00Raka/@Rakahttps://zestedesavoir.com/forums/sujet/14554/node-discord-js-sequelize-findone-renvoie-une-valeur-etrange/?page=1#p226360<p>J’ai commencé à apprendre JS y a une semaine, je pense que je progresse bien, mais y a des lacunes <img src="/static/smileys/svg/smile.svg" alt=":)" class="smiley"></p>
<p>Merci, je vais aller voir ça !</p>Node Discord js sequelize findOne() renvoie une valeur étrange, message #2263592020-09-24T12:52:24+02:00ache/@achehttps://zestedesavoir.com/forums/sujet/14554/node-discord-js-sequelize-findone-renvoie-une-valeur-etrange/?page=1#p226359<p>Tu ne sais pas ce qu’est une promesse ?<br>
Je ne t’accuse pas de n’avoir aucune parole ! C’est un concepts informatique !</p>
<p>Plus d’information sur la <a href="https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">MDN</a>. On a même un tutoriel pour bien t’expliquer ça: <a href="https://zestedesavoir.com/tutoriels/446/les-promesses-en-javascript/">Les promesses en JavaScript</a></p>
<p>L’idée, c’est que faire une requête SQL, c’est long. Du coup on ne là fait pas sur le fils d’exécution principal. Et elle est donc faite à un autre moment par le moteur JS.</p>
<p>Je peux te conseiller cette vidéo: <a href="https://www.youtube.com/watch?v=8aGhZQkoFbQ">What the heck is the event loop anyway?</a> pour bien comprendre le pourquoi et le comment.</p>
<p>Bref, tout ça pour dire que le plus simple est d’utiliser <code>await</code> devant ta promesse pour la résoudre et obtenir le résultat final.</p>
<div class="hljs-code-div hljs-code-js"><div class="hljs-line-numbers"><span data-count="1"></span><span data-count="2"></span><span data-count="3"></span></div><pre><code class="hljs language-js">
<span class="hljs-keyword">const</span> itemfound = <span class="hljs-keyword">await</span> UserItems.findOne({<span class="hljs-attr">where</span>: { <span class="hljs-attr">user_id</span>: message.author.id , <span class="hljs-attr">item_id</span>: item, <span class="hljs-attr">amount</span>: !<span class="hljs-number">0</span> }});
<span class="hljs-keyword">return</span> message.reply (<span class="hljs-string">`debug <span class="hljs-subst">${itemfound}</span>`</span>);
</code></pre></div>Node Discord js sequelize findOne() renvoie une valeur étrange, message #2263572020-09-24T12:26:24+02:00Raka/@Rakahttps://zestedesavoir.com/forums/sujet/14554/node-discord-js-sequelize-findone-renvoie-une-valeur-etrange/?page=1#p226357<p>Bonjour</p>
<p>Je programme une base de donnée à l’aide de sequelize sur Discord js, sur un bot donc.</p>
<p>Tout fonctionne bien, de la création de la bdd jusqu’à l’interrogation des findAll, etc.
Mais là, je rencontre un souci bien particulier autour duquel je n’arrive pas à trouver une logique.</p>
<p>Il y a donc, dans la bdd, une table contenant des user_id et des item_id et des amount.</p>
<div class="hljs-code-div hljs-code-js"><div class="hljs-line-numbers"><span data-count="1"></span><span data-count="2"></span><span data-count="3"></span><span data-count="4"></span><span data-count="5"></span><span data-count="6"></span><span data-count="7"></span><span data-count="8"></span><span data-count="9"></span><span data-count="10"></span><span data-count="11"></span><span data-count="12"></span><span data-count="13"></span></div><pre><code class="hljs language-js"><span class="hljs-built_in">module</span>.exports = <span class="hljs-function">(<span class="hljs-params">sequelize, DataTypes</span>) =></span> {
<span class="hljs-keyword">return</span> sequelize.define(<span class="hljs-string">'user_item'</span>, {
<span class="hljs-attr">user_id</span>: DataTypes.STRING,
<span class="hljs-attr">item_id</span>: DataTypes.STRING,
<span class="hljs-attr">amount</span>: {
<span class="hljs-attr">type</span>: DataTypes.INTEGER,
<span class="hljs-attr">allowNull</span>: <span class="hljs-literal">false</span>,
<span class="hljs-string">'default'</span>: <span class="hljs-number">0</span>,
},
}, {
<span class="hljs-attr">timestamps</span>: <span class="hljs-literal">false</span>,
});
};
</code></pre></div>
<p>Je parviens tout à fait à ajouter des items pour chaque utilisateur, à les appeler dans leur globalité.</p>
<p>Mais là, j’ai besoin d’en appeler un particulier via une commande, de type "utiliser cet objet".</p>
<p>J’ai donc ce code :</p>
<div class="hljs-code-div hljs-code-js"><div class="hljs-line-numbers"><span data-count="1"></span><span data-count="2"></span><span data-count="3"></span><span data-count="4"></span><span data-count="5"></span><span data-count="6"></span></div><pre><code class="hljs language-js"> } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (command === <span class="hljs-string">'use'</span>) {
<span class="hljs-keyword">const</span> user = <span class="hljs-keyword">await</span> UserItems.findOne({ <span class="hljs-attr">where</span>: { <span class="hljs-attr">user_id</span>: message.author.id } });
<span class="hljs-keyword">const</span> item = commandArgs;
<span class="hljs-keyword">const</span> itemfound = UserItems.findOne({<span class="hljs-attr">where</span>: { <span class="hljs-attr">user_id</span>: message.author.id , <span class="hljs-attr">item_id</span>: item, <span class="hljs-attr">amount</span>: !<span class="hljs-number">0</span> }});
<span class="hljs-keyword">return</span> message.reply (<span class="hljs-string">`debug <span class="hljs-subst">${itemfound}</span>`</span>);
</code></pre></div>
<p>Mais il me répond toujours par un [Object Promise], là où je veux qu’il me dise si oui ou non l’objet existe dans la database, afin de pouvoir le modifier.
Sans doute la commande est-elle mal utilisée, mais… quelqu’un aurait-il la solution ?</p>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>Faire des requêtes à plusieurs bases de données, message #2180322020-03-31T16:26:04+02:00nevgupobo/@nevgupobohttps://zestedesavoir.com/forums/sujet/13834/faire-des-requetes-a-plusieurs-bases-de-donnees/?page=1#p218032<p>Bonjour !</p>
<p>J’utilise AdonisJS et MSSQL. J’ai quelques base de données sur le même serveur, les voici :</p>
<p><img src="https://i.imgur.com/d4Eqfpt.png"></p>
<p>Voici la configuration de la db dans mon .env :</p>
<div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span><span></span><span></span><span></span></div><pre><code class="hljs language-ini"><span class="hljs-attr">DB_CONNECTION</span>=mssql
<span class="hljs-attr">DB_HOST</span>=<span class="hljs-number">127.0</span>.<span class="hljs-number">0.1</span>
<span class="hljs-attr">DB_PORT</span>=<span class="hljs-number">1433</span>
<span class="hljs-attr">DB_USER</span>=sa
<span class="hljs-attr">DB_PASSWORD</span>=<span class="hljs-number">123456</span>
<span class="hljs-attr">DB_DATABASE</span>=WEB_PANEL
</code></pre></div>
<p>Le problème est que, j’ai ma propre API pour faire les requêtes que je veux comme cela :</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></div><pre><code class="hljs language-js">connectToDatabase(<span class="hljs-string">'mssql://id:pw@localhost'</span>).then(<span class="hljs-keyword">async</span> () => {
<span class="hljs-keyword">let</span> onlinePlayers = <span class="hljs-keyword">await</span> User.getOnlinePlayers()
<span class="hljs-keyword">let</span> numberOfStaff = staff.length
<span class="hljs-keyword">let</span> numberOfOnlinePlayers = onlinePlayers.recordset.length
<span class="hljs-keyword">return</span> view.render(<span class="hljs-string">'system.index'</span>, { <span class="hljs-attr">totalPlayers</span>: numberOfOnlinePlayers, <span class="hljs-attr">numberOfStaff</span>: numberOfStaff })
})
}
</code></pre></div>
<p>Mais si je fais ça, j’ai cette erreur :</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></div><pre><code class="hljs language-taggerscript">warning:
warning:
WARNING: Adonis has detected an unhandled promise rejection, which may
cause undesired behavior in production.
To stop this warning, use catch() on promises or wrap await
calls inside try/catch.
TypeError: Cannot read property 'substr' of null
at parseConnectionURI (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\m</span>ssql<span class="hljs-symbol">\l</span>ib<span class="hljs-symbol">\c</span>onnectionstring.js:21:32)
at Object.resolveConnectionString [as resolve] (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\m</span>ssql<span class="hljs-symbol">\l</span>ib<span class="hljs-symbol">\c</span>onnectionstring.js:205:72)
at new ConnectionPool (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\m</span>ssql<span class="hljs-symbol">\l</span>ib<span class="hljs-symbol">\b</span>ase.js:127:40)
at new ConnectionPool (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\m</span>ssql<span class="hljs-symbol">\l</span>ib<span class="hljs-symbol">\t</span>edious.js:175:1)
at Object.connect (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\m</span>ssql<span class="hljs-symbol">\l</span>ib<span class="hljs-symbol">\b</span>ase.js:1592:22)
at connectToDatabase (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\d</span>rapi<span class="hljs-symbol">\s</span>rc<span class="hljs-symbol">\c</span>ore<span class="hljs-symbol">\c</span>onnection.handler.js:4:15)
at SystemController.showSystemPage (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\a</span>pp<span class="hljs-symbol">\C</span>ontrollers<span class="hljs-symbol">\H</span>ttp<span class="hljs-symbol">\P</span>anel<span class="hljs-symbol">\S</span>ystemController.js:8:9)
at Server._routeHandler (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\@</span>adonisjs<span class="hljs-symbol">\f</span>ramework<span class="hljs-symbol">\s</span>rc<span class="hljs-symbol">\S</span>erver<span class="hljs-symbol">\i</span>ndex.js:121:31)
at MiddlewareBase._resolveMiddleware (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\@</span>adonisjs<span class="hljs-symbol">\m</span>iddleware-base<span class="hljs-symbol">\i</span>ndex.js:195:28)
at Runnable._invoke (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\c</span>o-compose<span class="hljs-symbol">\s</span>rc<span class="hljs-symbol">\R</span>unnable.js:76:42)
at C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\c</span>o-compose<span class="hljs-symbol">\s</span>rc<span class="hljs-symbol">\R</span>unnable.js:73:34
at f (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\o</span>nce<span class="hljs-symbol">\o</span>nce.js:25:25)
at Authenticated.handle (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\a</span>pp<span class="hljs-symbol">\M</span>iddleware<span class="hljs-symbol">\A</span>uthenticated.js:16:19)
at async ConvertEmptyStringsToNull.handle (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\a</span>pp<span class="hljs-symbol">\M</span>iddleware<span class="hljs-symbol">\C</span>onvertEmptyStringsToNull.js:13:5)
at async AuthInit.handle (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\@</span>adonisjs<span class="hljs-symbol">\a</span>uth<span class="hljs-symbol">\s</span>rc<span class="hljs-symbol">\M</span>iddleware<span class="hljs-symbol">\A</span>uthInit.js:60:5)
at async Shield.handle (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\@</span>adonisjs<span class="hljs-symbol">\s</span>hield<span class="hljs-symbol">\s</span>rc<span class="hljs-symbol">\S</span>hield<span class="hljs-symbol">\i</span>ndex.js:417:5)
</code></pre></div>
<p>Pour getOnlinePlayers, le code est le suivant :</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></div><pre><code class="hljs language-js"> <span class="hljs-keyword">static</span> <span class="hljs-keyword">async</span> getOnlinePlayers() {
<span class="hljs-keyword">let</span> onlinePlayers = <span class="hljs-keyword">await</span> sql.query<span class="hljs-string">`
USE DR2_USER
SELECT TOP 10 * FROM TB_CharacterSub
WHERE f_ConnectionChannel != 0`</span>
<span class="hljs-keyword">return</span> onlinePlayers
}
</code></pre></div>
<p>En l’occurrence ici j’aimerais utiliser la base de donnée <code>DR2_USER</code> mais je ne peux pas :/
Quelqu’un aurait une solution svp ?</p>
<p>Merci !</p>[SQL Server: 12.0.2269] Conversion d'un string en uniqueidentifier, message #2178152020-03-27T19:51:21+01:00nevgupobo/@nevgupobohttps://zestedesavoir.com/forums/sujet/13807/sql-server-1202269-conversion-dun-string-en-uniqueidentifier/?page=1#p217815<blockquote>
<p>si j’ai bien compris, je pense que c’est cela qui convient:</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></div><pre><code class="hljs language-js"><span class="hljs-keyword">static</span> <span class="hljs-keyword">async</span> getCharacterById(characterId) {
<span class="hljs-keyword">const</span> memberData = <span class="hljs-keyword">await</span> sql.query<span class="hljs-string">`
SELECT m.[MemberKey], m.[Email], m.[ID], c.[CharacterID], c.[Name], s.[Class], s.[Lv], s.[Exp], s.[Money], s.[f_ConnectionChannel]
FROM [DR2_Member].[dbo].[Member] m
inner join [DR2_User].[dbo].[TB_CharacterBasic] c
on c.[MemberID] = m.[MemberKey]
inner join [DR2_User].[dbo].[TB_CharacterSub] s
on c.[CharacterID] = s.[CharacterID]
WHERE c.[CharacterID] = <span class="hljs-subst">${characterId}</span>`</span>
<span class="hljs-keyword">await</span> memberData.recordset[<span class="hljs-number">0</span>]
<span class="hljs-keyword">let</span> finalCharacterData = {
<span class="hljs-attr">member</span>: memberData,
}
<span class="hljs-keyword">return</span> finalCharacterData
}
Source:[Angelo](https:<span class="hljs-comment">//zestedesavoir.com/forums/sujet/13807/sql-server-1202269-conversion-dun-string-en-uniqueidentifier/?page=1#p217813)</span>
</code></pre></div>
</blockquote>
<p>Oui c’est bien ça merci bcp !!</p>
<p>Problème résolu <img src="/static/smileys/smile.png" alt=":)" class="smiley"></p>[SQL Server: 12.0.2269] Conversion d'un string en uniqueidentifier, message #2178132020-03-27T17:58:13+01:00DonKnacki/@DonKnackihttps://zestedesavoir.com/forums/sujet/13807/sql-server-1202269-conversion-dun-string-en-uniqueidentifier/?page=1#p217813<p>si j’ai bien compris, je pense que c’est cela qui convient:</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></div><pre><code class="hljs language-js"><span class="hljs-keyword">static</span> <span class="hljs-keyword">async</span> getCharacterById(characterId) {
<span class="hljs-keyword">const</span> memberData = <span class="hljs-keyword">await</span> sql.query<span class="hljs-string">`
SELECT m.[MemberKey], m.[Email], m.[ID], c.[CharacterID], c.[Name], s.[Class], s.[Lv], s.[Exp], s.[Money], s.[f_ConnectionChannel]
FROM [DR2_Member].[dbo].[Member] m
inner join [DR2_User].[dbo].[TB_CharacterBasic] c
on c.[MemberID] = m.[MemberKey]
inner join [DR2_User].[dbo].[TB_CharacterSub] s
on c.[CharacterID] = s.[CharacterID]
WHERE c.[CharacterID] = <span class="hljs-subst">${characterId}</span>`</span>
<span class="hljs-keyword">await</span> memberData.recordset[<span class="hljs-number">0</span>]
<span class="hljs-keyword">let</span> finalCharacterData = {
<span class="hljs-attr">member</span>: memberData,
}
<span class="hljs-keyword">return</span> finalCharacterData
}
</code></pre></div>[SQL Server: 12.0.2269] Conversion d'un string en uniqueidentifier, message #2178122020-03-27T17:50:19+01:00nevgupobo/@nevgupobohttps://zestedesavoir.com/forums/sujet/13807/sql-server-1202269-conversion-dun-string-en-uniqueidentifier/?page=1#p217812<figure><blockquote>
<p>ici j’imagine que c’est un problème de concaténation<br>
tu as une chaine de caractère (ta requête) que tu dois concaténer avec une variable </p>
<p>Comment fais tu cela habituellement ?</p>
<p>Cela dit, je suis étonné de voir une variable en nom de colonne …<br>
C’est pas la valeur du where que tu veux tester plutôt ? </p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/13807/sql-server-1202269-conversion-dun-string-en-uniqueidentifier/?page=1#p217811">Angelo</a></figcaption></figure>
<p>Non en fait c’est parce que je fais une méthode :</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></div><pre><code class="hljs language-js"> <span class="hljs-keyword">static</span> <span class="hljs-keyword">async</span> getCharacterById(characterId) {
<span class="hljs-keyword">const</span> memberData = <span class="hljs-keyword">await</span> sql.query<span class="hljs-string">`
SELECT m.[MemberKey], m.[Email], m.[ID], c.[CharacterID], c.[Name], s.[Class], s.[Lv], s.[Exp], s.[Money], s.[f_ConnectionChannel]
FROM [DR2_Member].[dbo].[Member] m
inner join [DR2_User].[dbo].[TB_CharacterBasic] c
on c.[MemberID] = m.[MemberKey]
inner join [DR2_User].[dbo].[TB_CharacterSub] s
on c.[CharacterID] = s.[CharacterID]
`</span>
<span class="hljs-keyword">await</span> memberData.recordset[<span class="hljs-number">0</span>]
<span class="hljs-keyword">let</span> finalCharacterData = {
<span class="hljs-attr">member</span>: memberData,
}
<span class="hljs-keyword">return</span> finalCharacterData
}
</code></pre></div>[SQL Server: 12.0.2269] Conversion d'un string en uniqueidentifier, message #2178112020-03-27T17:37:36+01:00DonKnacki/@DonKnackihttps://zestedesavoir.com/forums/sujet/13807/sql-server-1202269-conversion-dun-string-en-uniqueidentifier/?page=1#p217811<p>ici j’imagine que c’est un problème de concaténation<br>
tu as une chaine de caractère (ta requête) que tu dois concaténer avec une variable </p>
<p>Comment fais tu cela habituellement ?</p>
<p>Cela dit, je suis étonné de voir une variable en nom de colonne …<br>
C’est pas la valeur du where que tu veux tester plutôt ? </p>[SQL Server: 12.0.2269] Conversion d'un string en uniqueidentifier, message #2178102020-03-27T17:28:20+01:00nevgupobo/@nevgupobohttps://zestedesavoir.com/forums/sujet/13807/sql-server-1202269-conversion-dun-string-en-uniqueidentifier/?page=1#p217810<figure><blockquote>
<p>non, il reste l’étoile </p>
<div class="hljs-code-div"><div class="hljs-line-numbers"><span></span></div><pre><code class="hljs language-sql"><span class="hljs-keyword">SELECT</span> *
</code></pre></div>
<p>signifie sort toutes les colonnes des 3 tables donc ici il y a un grand risque d’ambiguïté</p>
<p>Je te conseille donc de ne sortir que les colonnes qui t’intéresse</p>
<div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span><span></span><span></span><span></span></div><pre><code class="hljs language-sql"><span class="hljs-keyword">SELECT</span> m.[COL_1], c.[COL_2]
<span class="hljs-keyword">FROM</span> [DR2_Member].[dbo].[<span class="hljs-keyword">Member</span>] m
<span class="hljs-keyword">inner</span> <span class="hljs-keyword">join</span> [DR2_User].[dbo].[TB_CharacterBasic] c
<span class="hljs-keyword">on</span> c.[MemberID] = m.[MemberKey]
<span class="hljs-keyword">inner</span> <span class="hljs-keyword">join</span> [DR2_User].[dbo].[TB_CharacterSub] s
<span class="hljs-keyword">on</span> c.[CharacterID] = s.[CharacterID]
</code></pre></div>
<p>avec COL_1 et COL_2 à personnaliser évidemment</p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/13807/sql-server-1202269-conversion-dun-string-en-uniqueidentifier/?page=1#p217808">Angelo</a></figcaption></figure>
<p>Yes merci ça marche ! Après le soucis c’est que j’arrive pas à prendre en compte le paramètre :</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></div><pre><code class="hljs language-js"> <span class="hljs-keyword">const</span> memberData = <span class="hljs-keyword">await</span> sql.query<span class="hljs-string">`
SELECT m.[MemberKey], m.[Email], m.[ID], c.[CharacterID], c.[Name], s.[Class], s.[Lv], s.[Exp], s.[Money], s.[f_ConnectionChannel]
FROM [DR2_Member].[dbo].[Member] m
inner join [DR2_User].[dbo].[TB_CharacterBasic] c
on c.[MemberID] = m.[MemberKey]
inner join [DR2_User].[dbo].[TB_CharacterSub] s
on c.[<span class="hljs-subst">${characterId}</span>] = s.[<span class="hljs-subst">${characterId}</span>]
`</span>
</code></pre></div>
<p>Voici l’erreur: <code>(node:11948) UnhandledPromiseRejectionWarning: RequestError: Incorrect syntax near '[@param1]'.</code></p>[SQL Server: 12.0.2269] Conversion d'un string en uniqueidentifier, message #2178082020-03-27T16:52:28+01:00DonKnacki/@DonKnackihttps://zestedesavoir.com/forums/sujet/13807/sql-server-1202269-conversion-dun-string-en-uniqueidentifier/?page=1#p217808<p>non, il reste l’étoile </p>
<div class="hljs-code-div"><div class="hljs-line-numbers"><span></span></div><pre><code class="hljs language-sql"><span class="hljs-keyword">SELECT</span> *
</code></pre></div>
<p>signifie sort toutes les colonnes des 3 tables donc ici il y a un grand risque d’ambiguïté</p>
<p>Je te conseille donc de ne sortir que les colonnes qui t’intéresse</p>
<div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span><span></span><span></span><span></span></div><pre><code class="hljs language-sql"><span class="hljs-keyword">SELECT</span> m.[COL_1], c.[COL_2]
<span class="hljs-keyword">FROM</span> [DR2_Member].[dbo].[<span class="hljs-keyword">Member</span>] m
<span class="hljs-keyword">inner</span> <span class="hljs-keyword">join</span> [DR2_User].[dbo].[TB_CharacterBasic] c
<span class="hljs-keyword">on</span> c.[MemberID] = m.[MemberKey]
<span class="hljs-keyword">inner</span> <span class="hljs-keyword">join</span> [DR2_User].[dbo].[TB_CharacterSub] s
<span class="hljs-keyword">on</span> c.[CharacterID] = s.[CharacterID]
</code></pre></div>
<p>avec COL_1 et COL_2 à personnaliser évidemment</p>[SQL Server: 12.0.2269] Conversion d'un string en uniqueidentifier, message #2178032020-03-27T16:35:31+01:00nevgupobo/@nevgupobohttps://zestedesavoir.com/forums/sujet/13807/sql-server-1202269-conversion-dun-string-en-uniqueidentifier/?page=1#p217803<figure><blockquote>
<figure><blockquote>
<p>De plus le SELECT * est toujours déconseillé lorsqu’on fait des requêtes un peu complexe et dans le cas des jointures, je ne suis pas sur que SQL Server apprécie en cas de colonnes ayant le même nom dans des tables différentes</p>
<p></p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/13807/sql-server-1202269-conversion-dun-string-en-uniqueidentifier/?page=1#p217796">Angelo</a></figcaption></figure>
<p><img src="/static/smileys/heureux.png" alt=":D" class="smiley"><br>
Pour rappel, il suffit de préfixer le nom de la colonne avec celui de la table ou de l’alias pour retirer l’ambiguïté<br>
Un exemple avec des tables de mon crue:</p>
<div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span><span></span></div><pre><code class="hljs language-sql"><span class="hljs-keyword">SELECT</span> p.[<span class="hljs-keyword">id</span>], c.[<span class="hljs-keyword">name</span>]
<span class="hljs-keyword">FROM</span> product p
<span class="hljs-keyword">INNER</span> <span class="hljs-keyword">join</span> customer c
<span class="hljs-keyword">on</span> c.[<span class="hljs-keyword">id</span>] = p.[customer_id]
</code></pre></div>
<p></p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/13807/sql-server-1202269-conversion-dun-string-en-uniqueidentifier/?page=1#p217802">Angelo</a></figcaption></figure>
<p>haha</p>
<p>C’est pourtant ce que j’ai fait non ?</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></div><pre><code class="hljs language-js"> <span class="hljs-keyword">const</span> memberData = <span class="hljs-keyword">await</span> sql.query<span class="hljs-string">`
SELECT *
FROM [DR2_Member].[dbo].[Member] m
inner join [DR2_User].[dbo].[TB_CharacterBasic] c
on c.[MemberID] = m.[MemberKey]
inner join [DR2_User].[dbo].[TB_CharacterSub] s
on c.[CharacterID] = s.[CharacterID]
`</span>
</code></pre></div>[SQL Server: 12.0.2269] Conversion d'un string en uniqueidentifier, message #2178022020-03-27T16:26:36+01:00DonKnacki/@DonKnackihttps://zestedesavoir.com/forums/sujet/13807/sql-server-1202269-conversion-dun-string-en-uniqueidentifier/?page=1#p217802<figure><blockquote>
<p>De plus le SELECT * est toujours déconseillé lorsqu’on fait des requêtes un peu complexe et dans le cas des jointures, je ne suis pas sur que SQL Server apprécie en cas de colonnes ayant le même nom dans des tables différentes</p>
<p></p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/13807/sql-server-1202269-conversion-dun-string-en-uniqueidentifier/?page=1#p217796">Angelo</a></figcaption></figure>
<p><img src="/static/smileys/heureux.png" alt=":D" class="smiley"><br>
Pour rappel, il suffit de préfixer le nom de la colonne avec celui de la table ou de l’alias pour retirer l’ambiguïté<br>
Un exemple avec des tables de mon crue:</p>
<div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span><span></span></div><pre><code class="hljs language-sql"><span class="hljs-keyword">SELECT</span> p.[<span class="hljs-keyword">id</span>], c.[<span class="hljs-keyword">name</span>]
<span class="hljs-keyword">FROM</span> product p
<span class="hljs-keyword">INNER</span> <span class="hljs-keyword">join</span> customer c
<span class="hljs-keyword">on</span> c.[<span class="hljs-keyword">id</span>] = p.[customer_id]
</code></pre></div>[SQL Server: 12.0.2269] Conversion d'un string en uniqueidentifier, message #2178012020-03-27T16:21:36+01:00nevgupobo/@nevgupobohttps://zestedesavoir.com/forums/sujet/13807/sql-server-1202269-conversion-dun-string-en-uniqueidentifier/?page=1#p217801<figure><blockquote>
<p>et une requête très simple ?
par exemple : </p>
<div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span></div><pre><code class="hljs language-js"><span class="hljs-keyword">const</span> memberKey = <span class="hljs-keyword">await</span> sql.query<span class="hljs-string">`
USE DR2_User; SELECT MemberID FROM TB_CharacterBasic`</span>
</code></pre></div>
<p>Ton problème me fais penser à celui <a href="https://zestedesavoir.com/forums/sujet/13691/probleme-de-connexion-entre-python-et-mysql/?page=1#p216650">là</a> mais je ne suis pas certains</p>
<p>non, peut être pas <img src="/static/smileys/langue.png" alt=":p" class="smiley"></p>
<p></p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/13807/sql-server-1202269-conversion-dun-string-en-uniqueidentifier/?page=1#p217799">Angelo</a></figcaption></figure>
<p>Re,</p>
<p>Oui là ça fonctionne, je crois que je sais d’où le problème vient. En fait en bidouillant un peu j’ai eu <code>(node:5608) UnhandledPromiseRejectionWarning: RequestError: Invalid column name 'Money'.</code>, alors je crois que le problème vient du fait que quand je joint les trois tables, alors y’a une confusion</p>