Discord.js / JavaScript: как я могу позволить пользователю выбрать роль? - PullRequest
0 голосов
/ 04 октября 2018

Я довольно новичок в Discord.js и JavaScript, но решил попытать счастья и начать небольшой проект по созданию небольшого бота Discord.Это не должно быть все причудливо, но я хотел бы получить одну конкретную функцию в нем.

Я бы хотел сделать текстовое сообщение на канале Discord.Добавьте три смайлика как реакцию на это сообщение.Цель состоит в том, чтобы дать пользователю определенную роль, когда он / она нажимает на определенный эмодзи.

Это тематический бот Pokemon Go.В игре три команды.Я хочу использовать логотип этих команд в качестве смайликов.Все идет нормально.Но когда речь идет о предоставлении пользователям роли, когда они нажимают эмодзи?Понятия не имею?Я провел некоторые исследования, но я не нашел обширных руководств.

Код, который у меня есть, приведен ниже, если это необходимо.Команда! Test - это сообщение, к которому я хочу добавить смайлики.Само сообщение работает и выглядит так, будто я хочу, чтобы оно выглядело.

const Discord = require("discord.js");
const { Client, RichEmbed } = require('discord.js');
const client = new Discord.Client();

client.on("ready", () => {
  console.log("I am ready!");
});

client.on("message", (message) => {
  if (message.content.startsWith("!ping")) {
    message.channel.send("pong!");
  }
});

client.on('message', message => {
  if (message.content.startsWith("!test")) {
    const embed = {
        title: "Hello there!",
        description: "Welcome to the world of Pokémon! My name is Oak! People call me the Pokémon Prof! This world is inhabited by creatures called Pokémon! For some people, Pokémon are pets. Other use them for fights. Myself… I study Pokémon as a profession.",
        color: 5437293,
        thumbnail: {
            url: "https://cdn.bulbagarden.net/upload/8/84/Professor_Oak_XY.png"
        },
            fields: [
                {
                    name: "But first, tell me a little about yourself.",
                    value: "Normally this is the part where I ask if you are a boy, or a girl and what your name is... But now I will just ask you what team you are in, so please let me know by clicking any of the three icons below! Your own very Pokémon legend is about to unfold! A world of dreams and adventures with Pokémon awaits!"
                }
            ]
    };
    message.channel.send({ embed });
  }
});

Надеюсь, кто-нибудь может мне помочь!

1 Ответ

0 голосов
/ 05 октября 2018

Вам необходимо добавить прослушиватель реакции messageReactionAdd и извлечь сообщение (и сохранить его в переменную) при загрузке бота fetchMessage или отправить его по команде

...