Senden von privaten Nachrichten an Benutzer
Bin ich mit dem discord.js Bibliothek und node.js erstellen Sie eine Zwietracht bot erleichtert, dass poker. Es ist funktionsfähig, außer die Hände gezeigt werden, um alle, und ich brauche, um eine Schleife durch die Spieler und senden Ihnen eine DM mit der hand.
bot.on("message", message => {
message.channel.sendMessage("string");
});
Dies ist der code, sendet eine Nachricht an den channel, wenn ein Benutzer eine Nachricht sendet. Ich brauche den bot zu Antworten, die in einem privaten Kanal, den ich gesehen habe dmChannel
, aber ich verstehe nicht, wie man es benutzt. Ich habe den Benutzernamen des Mitglieds, das ich eine Nachricht senden wollen.
Ein Beispiel wäre sehr hilfreich.
Bearbeiten:
Nach der Suche rund um für ein Benutzer-Objekt, ich fand, dass ich kann bekommen alle Nutzer mit der .users
Eigenschaft des client (bot). Ich werde versuchen, mit den user.sendMessage("string")
Methode bald.
UserObject.sendMessage("string");
Der bot ist ein client, hier ist doc Seite: discord.js.org/#/docs/main/stable/class/Client. Der code wird nicht funktionieren, weil sendMessage ist nicht eine Methode des client. Ich werde sehen, ob ich eine user-Objekt.
Haben Sie versucht
message.author.sendMessage("XXX")
? Ich benutze diese in der version 10.0.1 des lib.Ich würde wählen Sie als Antwort. Dank einer Tonne, ich habe es funktioniert! Eine weitere Sache, wenn Sie die Zeit haben, wie kann ich überprüfen, ob die (user, nicht bot) - Nachricht gesendet wurde, in eine direkte Botschaft?
Sie können überprüfen, ob die
message.channel
Objekt ist eine Instanz von DMChannel (Direct message channel), oder eine TextChannel für einen klassischen Kanal 🙂InformationsquelleAutor adapap | 2017-01-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist, um für einen bot eine Nachricht zu senden, müssen Sie
<client>.send()
, dieclient
ist, wo der bot eine Nachricht zu schicken(Ein Kanal, überall in der server, oder eine PM). Da möchte man den bot eine PM an einen bestimmten Benutzer, die Sie verwenden könnenmessage.author
als Ihreclient
. (Sie können ersetzenauthor
wie bereits erwähnt Benutzers in eine Nachricht oder so etwas, etc)Daher, die Antwort ist:
message.author.send("Your message here.")
Empfehle ich einen Blick in die Discord.js Dokumentation über ein bestimmtes Objekt-Eigenschaften wenn Sie nicht weiterkommen, finden Sie vielleicht eine bestimmte Funktion, die dienen können, wie Ihre Lösung.
.sendMessage('content')
ist jetzt veraltet - verwenden Sie stattdessen.send('content')
InformationsquelleAutor Kaynn
Den oben genannten Antworten, die funktionieren auch, aber ich habe festgestellt, Sie kann in der Regel nur verwenden
message.author.send("blah blah")
stattmessage.author.sendMessage("blah blah")
..senden Sie neigt dazu, besser zu arbeiten für mich im Allgemeinen, als .sendMessage, die manchmal läuft in Probleme.
Hoffe, das hilft ein teeny bisschen!
sendMessage()
ist veraltet.InformationsquelleAutor SuperNunb
Den code sagen
if (msg.content === ('trigger') msg.author.send('text')}
InformationsquelleAutor DisBotDev1
Dies ist ziemlich einfach, hier ist ein Beispiel
Fügen Sie Ihrem Befehl-code wie hier: if(cmd ===
!dm
){InformationsquelleAutor MrPowerPanda
Ziel.send('string') Sollte
InformationsquelleAutor Tyler Berger
Wenn Sie möchten, senden Sie die Nachricht an eine vorbestimmte person, wie dich, kann man es so einstellen, dass der Kanal, es wäre messaging wäre das Ihre (Ihre) eigenen Benutzer-id. So zum Beispiel, wenn Sie mit der Zwietracht bot tutorials von Digital Trends, wo es heißt "an: ", Sie würden weiterhin mit Ihren (oder Ihre) Benutzer-id. Zum Beispiel, wie diese spezifischen code eingestellt ist, könnten Sie das tun ": userID", und es würde die Nachricht, dass die person. Oder, wenn Sie wollen, dass die bot-Nachricht, die Sie jedes mal, wenn jemand verwendet einen speziellen Befehl, Sie tun könnten,": '12345678890'", die zahlen als Füllstoff für die aktuelle Benutzer-id. Hoffe, das hilft!
InformationsquelleAutor user10925279