Пытаясь создать Discord Bot, я столкнулся с еще одной проблемой. Я пытаюсь найти способ, чтобы владелец заставил бота сказать что-то в разделе объявлений для меня, чтобы это не отображалось как мое имя.
Я пробовал интерфейс readline (хотя я не знаю, правильно ли я это сделал) и пробовал разные способы создания переменной (const, var).
if(message.member.roles.find(r => r.name === "Owner")){
return message.reply("What would you like to say?")
const dm = message.content;
return message.reply("$dm")
Я хочу, чтобы бот отвечал на все, что я говорю. Итак, если я введу Сервер скоро выйдет из строя!, то бот должен ответить мне (в данном случае).
1 ответ
Когда вы вызываете return
, вы завершаете выполнение функции, которую пишете.
В этом случае,
if(message.member.roles.find(r => r.name === "Owner")){
return message.reply("What would you like to say?") // the current function stops
const dm = message.content; // this line never executes
return message.reply("$dm")
Вам придется дождаться ответа от пользователя, который, как я полагаю, отвечает на какую-то команду.
if (message.member.roles.find(r => r.name === "Owner")) {
await message.reply("What would you like to say?"); // Send the request
// Wait for the person who sent the original message to send another message
let userMessages = await message.channel
.awaitMessages(m => m.id === message.member.id, { max: 1 });
let userMessage = userMessages.first()
// Reply with the message they sent
return message.member.reply(userMessage.content);
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Имейте в виду, что JavaScript — это НЕ то же самое, что Java! Включите все ярлыки, относящиеся к вашему вопросу; например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [svelte] и т. д.
SyntaxError: await is only valid in async function