Closed Eylexander closed 2 years ago
Utiliser message.mentions.users.first()
n'est pas une bonne idée si t'utilises la mention du bot comme préfixe, style :
@MonBot pat @Utilisateur
message.mentions.users.first()
renvoie @MonBot
au lieu de @Utilisateur
Essaye de transformer la mention (en premier argument) en un ID et de jouer avec :
const userMention = args[0].match(/<@!?([0-9]*)>/)
if (userMention == null) {
return message.channel.send("Il faut mentionner quelqu'un.")
} else {
const user = client.users.get(userMention[1])
return message.channel.send('Bonsoir ' + user.username)
}
Hey, ducoup je viens de regarder tout ça, et le problème à la base n'est pas le fait que j'obtienne que la prmière mention, c'est que la fonction ne marche pas du tout. Et pour ton script, je viens de l'appliquer à mon code, je détecte une erreur, je réessaie donc dans une commande neutre et le problème est toujours là.
const user = client.users.get(userMention[1])
^
TypeError: client.users.get is not a function
at Object.module.exports.execute (C:\Users\Eylexander\Desktop\Projets\Project-1B\commands\DevTools\test.js:19:31)
at module.exports (C:\Users\Eylexander\Desktop\Projets\Project-1B\events\message.js:20:17)
at Client.emit (node:events:406:35)
at MessageCreateAction.handle (C:\Users\Eylexander\Desktop\Projets\Project-1B\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (C:\Users\Eylexander\Desktop\Projets\Project-1B\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (C:\Users\Eylexander\Desktop\Projets\Project-1B\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
at WebSocketShard.onPacket (C:\Users\Eylexander\Desktop\Projets\Project-1B\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
at WebSocketShard.onMessage (C:\Users\Eylexander\Desktop\Projets\Project-1B\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
at WebSocket.onMessage (C:\Users\Eylexander\Desktop\Projets\Project-1B\node_modules\ws\lib\event-target.js:132:16)
at WebSocket.emit (node:events:394:28)
Et bien avec ce correctif tout marche bien, merci !
Hey @dannyhpy, cela fait bien plusieurs mois que j'ai ce problème que j'ai du mal à comprendre. Il est en rapport avec la fonction
message.mentions.users.first()
. Celle-ci marche sans marcher. Par exemple, j'ai écrit ce script :Lorsque je rentre ma commande avec une mention, il me dit d'abord ne pas marcher, il s'exécute alors sur la parte
else
puis renvoie bien une mention derrière.