Как сделать так, чтобы «message» и «channel» определялись в one () - PullRequest
0 голосов
/ 28 января 2019

Я настраиваю бота (VSC, Discord.JS) для выполнения следующих действий;если вы отправляете одно сообщение в определенном канале, вам сразу же предоставляется роль, которая делает вас неспособным снова говорить в канале.Так что, в основном, это одноразовый канал сообщений, который вы можете прочитать до или после.Одноразовое сообщение и чтение до или после части все еще покрыты.Но программирование бота для автоматизации процесса не рассматривается.Консоль говорит, что channel.id не может быть определен, нет определения, и я не знаю, как его добавить.

Сжатое резюме: Как мне объединить сообщение и определение канала в одно?

Я искал в Google решения, позволяющие объединить определения сообщений и каналов, но не смог, я не смог их найти.

doopliss.on ('message', function (message) {

if(message.content == 'a')
if(channel.id == '539228268893569044')
{
    member.gulid.roles.find("name", "Quote Banned");
    member.addrole("name", "Quote Banned");
}})

Я ожидаю: бот узнает, когда вы набираете «a», тогда вам дается роль «Забанить цитату», если в канале с «ID» указано «a» с указанным идентификатором

Что на самом делепроизошло: когда вы произносите «a» в канале с указанным идентификатором, консоль отображает ошибку и запрашивает определение канала, а вам вообще не назначается роль.

1 Ответ

0 голосов
/ 28 января 2019

Проблема в том, как вы пытаетесь получить доступ к channel.Если вы делаете channel.id, ваш код ищет переменную с именем channel, которую вы, вероятно, не установили, и пытается вызвать свойство id этой переменной.Что (я думаю) вам нужно это message.channel.id.

В дополнение к этому вы пытаетесь найти роль «Цитировать забанен» в гильдии на основе переменной member, которую вы тоже не определили.Более того, вы нигде не сохраняете найденную роль, чтобы потом назначить ее пользователю.

Взгляните на этот код и попробуйте.

doopliss.on('message', function(message) {
  if(message.content == 'a') {
    if(message.channel.id == '539228268893569044') {
      let bannedRole = message.guild.roles.find(role => role.name === "Quote Banned");
      message.member.addRole(bannedRole);
    }
  }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...