16

私は不協和音ボットを作成しており、特定の「ようこそ」チャンネルにメッセージを送信したいと考えていました。残念ながら、私はそうすることができませんでした。これを試しました。

const welcomeChannel = bot.channels.get("name", "welcome")
welcomeChannel.sendMessage("Welcome\n"+member.user.username);

ただし、この「welcomeChannel は未定義」です。

編集:

使ってみた

const welcomeChannel = bot.channels.get("id", "18NUMBERIDHERE")
welcomeChannel.sendMessage("Welcome\n"+member.user.username);

しかし、奇妙なことに、これはまだ定義されていません

4

4 に答える 4

38

名前の代わりにチャンネル ID を使用する必要があります。

チャンネルのチャンネル ID を取得する方法:

  1. Discord設定を開く

  2. に行くAdvanced

  3. ダニDeveloper Mode(そしてDiscord設定を閉じます)

  4. 見たいチャンネルを右クリック

  5. Copy IDチャンネル ID をコピーするオプションが追加されました

(チャンネル) コレクションのdiscord.js ドキュメントもチェックしてください。


さらに、チャネルIDが必要なため、アプローチは機能しません.get(上記のリンクされたドキュメントを参照してください)。その名前でチャネルを取得したい場合は、.find代わりに使用してください。
ただし、チャネル名が複数回出現する可能性があるため、ボットが複数のサーバーで実行されている場合、これは非常に悪い考えです。

于 2017-01-06T22:40:45.003 に答える