1

不和にnode.jsを使用しています。

コマンドを作成した後、コマンドを作成した作成者 (私) ではなく、ボットから特定の人にダイレクト/プライベート メッセージを送信するようにします。

今、私はその人物の <@000000000000000000> (これを ID と呼んでいると思います) を文字列形式で持っています。

たとえば、このコードclient.sendMessage(message.author, "Hello!"); 作成者にメッセージ Hello を送信します。しかし、client.sendMessage(message.user("<@000000000000000000>"), "Hello!");のようなものが必要です。

そのような機能は存在しますか?

背景情報として、プレイヤーにランダムに役割が割り当てられる人狼ゲーム ボットを作成しています。w!play をコマンドした後、プレイヤーは DM で役割を受け取ります。

4

2 に答える 2

2

はい、userオブジェクトを取得して送信します。ID が必要なので、文字列 "<@0000>" の ID 部分を解析します。また、sendMessage非推奨です。を使用しchannel.send()ます。ユーザーの場合:

let str = "<@123456789>"; //Just assuming some random tag.

//removing any sign of < @ ! >... 
//the exclamation symbol comes if the user has a nickname on the server.
let id = str.replace(/[<@!>]/g, '');

client.fetchUser(id)
    .then(user => {user.send("Hello I dmed you!")})
于 2017-08-06T02:28:23.017 に答える