Это потому, что вы говорите боту отправить префикс, если сообщение включает его упоминание (или его идентификатор), в то время как вы действительно хотите увидеть, начинается ли оно с с упоминанием.
Для этого вы можете либо проверить его с помощью .startsWith()
, а затем создать упоминание, чтобы оно работало как ваш префикс; Более простой способ - увидеть, включает ли первое «слово» сообщения ваш идентификатор.
Вы также хотите убедиться, что первое «слово» на самом деле единственное.
if (message.content.split(' ')[0].includes(client.user.id) && message.content.split(' ').length == 1) {
// The message was "@YourBot", you can do your stuff
}