当前位置: 首页 > 知识库问答 >
问题:

不和机器人只给我角色

慕容修伟
2023-03-14

我试图让我的discord bot mass给我服务器中的每个人一个角色。每当我做-giveall时,它只给我角色。我尝试过使用map和array。使用消息。公会成员。过滤器(成员)=

if (command === 'giveall') {
    let role = message.guild.roles.cache.find(r => r.name == 'cool')

if (!role) return message.channel.send(`**${message.author.username}**, role not found`)
    message.guild.members.cache.filter(m => !m.user.bot).forEach(member => member.roles.add(role))
message.channel.send(`**${message.author.username}**, role **${role.name}** was added to all members`)
  }

共有1个答案

鞠安民
2023-03-14

这是我通过控制台收到的日志。日志(message.guild.members.cache.filter(m=

Collection [Map] {
  '759457326251114536' => GuildMember {
    guild: Guild {
      members: [GuildMemberManager],
      channels: [GuildChannelManager],
      roles: [RoleManager],
      presences: [PresenceManager],
      voiceStates: [VoiceStateManager],
      deleted: false,
      available: true,
      id: '760015259619819550',
      shardID: 0,
      name: 'GoodGameBTW™',
      icon: '5c364ec985a0706a27c31b89953d01e4',
      splash: null,
      discoverySplash: null,
      region: 'india',
      memberCount: 10,
      large: false,
      features: [Array],
      applicationID: null,
      afkTimeout: 300,
      afkChannelID: null,
      systemChannelID: null,
      embedEnabled: undefined,
      premiumTier: 0,
      premiumSubscriptionCount: 0,
      verificationLevel: 'LOW',
      explicitContentFilter: 'ALL_MEMBERS',
      mfaLevel: 0,
      joinedTimestamp: 1603042420216,
      defaultMessageNotifications: 'MENTIONS',
      systemChannelFlags: [SystemChannelFlags],
      maximumMembers: 100000,
      vanityURLCode: null,
      vanityURLUses: null,
      description: null,
      banner: null,
      rulesChannelID: '771729349632196608',
      publicUpdatesChannelID: '768502471676788777',
      preferredLocale: 'en-US',
      ownerID: '759457326251114536',
      emojis: [GuildEmojiManager]
    },
    joinedTimestamp: 1601272158336,
    lastMessageID: '773102408938029056',
    lastMessageChannelID: '760778837612822558',
    premiumSinceTimestamp: 0,
    deleted: false,
    nickname: null,
    _roles: [ '760763514402111488', '760759896232296468' ],
    user: User {
      id: '759457326251114536',
      username: 'Prof. MineKraft',
      bot: false,
      discriminator: '6612',
      avatar: '97ee817e5098d3e6ee4c174a449d1779',
      flags: [UserFlags],
      lastMessageID: '773102408938029056',
      lastMessageChannelID: '760778837612822558'
    }
  }
}

从日志中,您可以看到缓存只有两个用户,机器人和你。所以当你过滤掉机器人时,只有你得到了这个角色。

这可能是因为已禁用网关意图。请转到不和谐开发人员门户并启用服务器成员意图。这应该能解决你的问题。

 类似资料:
  • 我希望我的不和谐机器人在特定的频道上发送消息,并在每次新用户加入服务器时提供特定的角色 但是我的机器人什么也没做,我也没有出错

  • Bot只是不工作:/Bot没有给出任何错误

  • 我对用JavaScript编码非常陌生,我正在尝试为我计划在不和谐服务器中的事件创建一个非常简单的机器人。 基本上,如果所提到的成员在数组中没有角色集,那么它应该做的就是将角色分配给所提到的成员(仅第一个成员)。 虽然代码本身不会抛出任何错误(机器人登录并打印就绪状态),但每当我试图召唤机器人时,它都不会做任何事情。我认为我的技能不够好,不能自己解决这个问题,所以任何帮助都将受到高度赞赏!谢谢!

  • 我正在尝试使用discord删除已创建的角色,该角色使用的是。js。 终端中的错误显示: DiscordAPIError:缺少权限 虽然我已经给了我的机器人所有权限。 代码:

  • 我正在寻找一种方法,使一个不和谐的机器人反应或答复,只有某些用户。它可以通过角色或ID选择用户,但我似乎无法让它工作。这就是我尝试过的: 如果有帮助的话,我正在用Discord JS编写代码。这是整个索引。js文件: 文件运行正常,机器人联机,然后打印“就绪!”然而,对于控制台来说,代码的其余部分似乎不起作用。

  • 所以我在让我的自动角色发挥作用方面遇到了一个小问题,我一直在尝试通过消息对其进行排序。js和在reactionrole中。js,但它仍然给出了同样的问题,想知道是否有人可以帮助将不胜感激,因为我已经通过教程查看了它,除了一些差异,由于不同的文本/细节,它没有帮助 此外,如果这有助于避免错误,我将使用命令处理程序V2 反应角色。js message.js