Discord Bot, проблема при упоминании Discord @users

Строка, в которой я хочу упомянуть пользователя с помощью @

первая часть кода12nn часть кода после упоминания я хочу применить2 Я разрабатываю бота Discord, и я хочу, чтобы бот упомянул пользователя, применившего команду. Я могу показать вам больше кода. Это немного сложно. Я много раз пробовал Mention.user и некоторые другие общие ответы, но ничего не вышло.

пс. Обновлено: я предоставил еще 2 изображения с кодом, если этого достаточно :)

Пожалуйста, разместите код в своем вопросе, а не на изображении.

McVenco 08.11.2018 21:41

Какой DiscordAPI вы используете? Кроме того, никакие библиотеки не могут отправлять «@User», чтобы упомянуть кого-то, в discord.py вы должны отправить userObject.mention (), в discord.js вы должны отправить объект пользователя. Мы не можем помочь, не зная языка

Tom Martin 09.11.2018 00:59

Хорошо, спасибо за ответ, я использую discord.js (Javascript). Так что мне делать? @TomMartin. Вы сказали, что я должен отправить объект пользователя? Я не так хорошо знаком с javascript, что вы имеете в виду? Заранее спасибо, я благодарен за помощь :)

Bill Papadodemas 15.11.2018 16:02

@BillPapadodemas Это «строка», в которой вы хотите упомянуть пользователя внутри client.on("message" или bot.on("message"? Если это так, вы сможете сделать message.channel.send(`${message.member.user} You are being mentioned!`), я добавлю дополнительную информацию в ответ

Tom Martin 18.11.2018 04:17

Кроме того, НИКОГДА не размещайте изображения кода. Пожалуйста, для моего рассудка.

Tom Martin 18.11.2018 04:18

Также можно отправить message.author, поскольку он возвращает тот же объект, что и message.member.user.

Tom Martin 18.11.2018 04:24
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
6
373
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

     Как сказал Том Мартин, ваш текущий формат несовместим с API Discord. С этим кодом есть пара проблем.      Прежде всего, если вы не хотите неожиданных результатов в циклах for, вам следует перейти на стандарт let ES6, чтобы сохранить лексическую область видимости только для этого блока.      Во-вторых, в Javascript (JS) все является объектом. По сути, вы должны выбрать метод, который возвращает объект пользователя, а затем либо сразу использовать его, либо сохранить. Как вы это сделаете, зависит от вас, хотя вот пример из самого discord.js.     Здесь - это ссылка на пользовательский метод документации discord.js. Это вернет Коллекция (объяснение структуры данных) всех объектов User, отображаемых по id. Надеюсь, это помогло и удачи с вашим ботом!

Спасибо за совет, я буду стараться изо всех сил, но мне действительно сложно писать на js. Я знаком только с Java (начинающий).

Bill Papadodemas 17.11.2018 17:25

Может быть, тогда попробуйте пройти курс для начинающих, например, в академии кода, это может помочь преодолеть некоторые абстракции, которые JavaScript ставит на место, а Java не делает, или наоборот. Еще один замечательный ресурс - серия книг «Вы не знаете JS». Подумайте об этом, вы должны стать программистом JS в кратчайшие сроки.

Chance Shaffer 19.11.2018 15:55
Ответ принят как подходящий

Если вы перейдете к сайт discord.js и нажмете Documentation в правом верхнем углу, вы попадете на страницу, где сможете узнать обо всех объектах в api discord.js.

В вашем client.on("message") сообщение определено, это объект сообщения, поэтому, чтобы найти это в документации, прокрутите вниз, найдите слева Message и щелкните по нему. Теперь вы можете увидеть все атрибуты этого класса, у него есть author, который, как говорят, имеет тип User. Я сказал вам, что если вы отправите объект пользователя в сообщении, он будет упоминать пользователя. Итак, пришлите message.author и тада!

Другие вопросы по теме