title: Discord.js (V12) messageReactionAdd not working for new users until they type something
body: <p>This is weird. I have a message reaction add function that adds your name to a list if you react with a certain emoji. However, once the bot starts, no user has any functionality with the bot until they type something in the server (any channel). I am not sure why. This is an issue for new users who just want to join the server and react to the message, as well as update days when I need to re-launch the bot.</p>
  <p>My console.log at the top of the event listener does not trigger <em>at all</em> for any user until they send something in the chat, after the bot has ran.</p>
  <p>This is the event listener:</p>
  <pre><code>bot.on(&quot;messageReactionAdd&quot;, (reaction, user) =&gt; {
    console.log(`emoji added by ${user.tag}`);
    if (reaction.message.reactions.cache.size &gt; 1) {
      reaction.remove();
    }
  
    function getNickname(array) {
      for (let i = 0; i &lt; array.length; i++) {
        if (array[i].id === user.id) {
          let nickname = array[i].nickname;
          return nickname;
        }
      }
    }
  
    if (
      reaction.emoji.name === &quot;️‍♂️&quot; &amp;&amp;
      reaction.message.author.bot &amp;&amp;
      user.id !== &quot;773710233977618464&quot;
    ) {
      const spotsLeft = reaction.message.embeds[0].fields[1].value;
  
      if (spotsLeft == 0) {
        return reaction.users.remove(user.id);
      }
  
      let newEmbed = reaction.message.embeds[0];
  
      let guildMembers = reaction.message.guild.members.cache.map((member, i) =&gt; {
        let rMember = {};
        rMember.nickname = member.nickname;
        rMember.id = i;
        return rMember;
      });
  
      let newParticipant = getNickname(guildMembers) || user.tag;
      if (newEmbed.fields[2].value[0] == &quot;0&quot;) {
        newEmbed.fields[2].value = [
          `${newEmbed.fields[2].value.length}. ${newParticipant}`,
        ];
      } else {
        let participants = newEmbed.fields[2].value;
        let num =
          typeof participants === &quot;string&quot; ? participants.split(&quot;\n&quot;).length : 0;
        let newEntry = `\n${num + 1}. ${newParticipant}`;
        participants += newEntry;
  
        newEmbed.fields[2] = { name: &quot;Participants&quot;, value: participants };
      }
  
      newEmbed.fields[1] = {
        name: &quot;Spots Left&quot;,
        value: newEmbed.fields[1].value - 1,
      };
      let newEmbedObj = new Discord.MessageEmbed(newEmbed);
      return reaction.message.edit(newEmbedObj);
    }
  });
  </code></pre>
  <p>The &quot;host&quot; message is sent after the bot is ran, and the reactions happen to the new message after the bot is on, for clarification. It's just any user who has not typed in the server cannot trigger the event. Very strange!</p>