Saya ingin jika seseorang menyebut bot saya tanpa mengatakan hal lain dalam pesan yang sama, bot itu membalasnya. Contoh: @bot Dan bukan: @bot hi Ini kode saya saat ini: client.on('message', ...

1
kharazb 5 April 2021, 15:52

1 menjawab

Jawaban Terbaik

Solusi versi 12 di sini.

Anda bisa mendapatkan koleksi pengguna yang disebutkan dengan menggunakan message.mentions.users dan pertama-tama periksa apakah ada pengguna yang disebutkan, dan jika ada, periksa apakah ID pengguna pertama sama dengan ID bot.

Setelah Anda memeriksa apakah bot disebutkan, Anda dapat melihat apakah ada konten lain:

client.on('message', (message) => {
  if (message.author.bot) return;

  const args = message.content.split(/ +/);
  const mentionedUsers = message.mentions.users;

  const isBotMentioned = mentionedUsers.size
    ? mentionedUsers.first().id === client.user.id
    : false;

  if (isBotMentioned && args.length === 1) 
    return message.channel.send(`What now, ${message.author}?`);
});

enter image description here

1
Zsolt Meszaros 5 April 2021, 13:07