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

命令正在赋予bot角色

濮阳君浩
2023-03-14

我正在尝试做一个命令,给用户一个角色。它以前是工作的,但不是它只是给机器人一个角色。

module.exports = {
  name: "addevent",
  description: "Add the event ping role to a user",

  async run(client, message, args) {

    const { member } = message;

    if (message.member.roles.cache.has('793222158981529621')) {
      const { member } = message;
      message.channel.send(`${member} You already have this role.`)
    }

    if (message.channel.id !== '793224633759432755') return;    

    member.roles.add('793222158981529621')

    message.channel.send(`${member} Added the event ping role.`)
  }
}

这也发生在我的level命令上,该命令应该检查用户的级别。它检查的是机器人的水平,而不是用户的水平。

共有1个答案

高锦
2023-03-14
    let role = message.guild.roles.cache.find(r => r.name === "Role Name Here");

    if (message.channel.id !== 'Channel ID Here') return;

    if (message.member.roles.cache.has(role.id)) {
      return message.channel.send(`${message.member} You already have this role.`)
    }

    message.member.roles.add(role);
    message.channel.send(`${message.member} Added the event ping role.`);

我的示例中有一个名为role变量,它根据角色的名称查找角色,因此您必须在其中提供角色的名称。使用message.channel.id的if语句是可以理解的,是只在一个通道中获取角色的好方法。第二个if语句只是询问用户是否已经具有该角色(不要忘记:在.has()中,您必须提供一个ID,在本例中,使用role.ID很容易完成)。无论如何,如果用户具有该角色,它将发送一条消息并返回。否则,它将向用户添加角色并发送消息。

 类似资料:
  • 我有一个机器人,我正在努力让它变得更好。它叫做版主机器人,我正在添加新命令。我只是到处找不到代码。 如何让版主机器人在用户加入服务器时赋予他们角色。如何使服务器所有者可以配置它,以便机器人可以在不同的服务器上使用? 我还希望它对owner命令进行DM,这样他们就可以看到它,只有owner集角色才能访问该命令。 这听起来很先进,可能是,但是有人能为我写代码或者告诉我如何制作吗?

  • 我是要定义什么还是别的什么?我在网上看到那个有角色权限的东西。

  • 这是我的不和谐机器人我正在工作最近,在我把所有的代码移到我的VPS后,reactionroles不再工作了。 因此,由于某种原因,每次单击emoij时,它不会向用户添加角色,我试了很多次,但没有成功。看来应该能行,我是不是漏掉了什么?当我启动机器人时,一切似乎都很好,甚至命令也起作用了。我没有在role.id中犯任何错误,因为我也尝试了role.name,并在其中输入了名称。这也没用,我希望你有足

  • 只要一个动画,就可以带来生命。不幸的是,当设计师创建图标、logo 和吉祥物的时候,他们交付的通常都是图片或静态的 SVG。所以,虽然 GitHub 的章鱼猫、Twitter 的小鸟以及其它许多 logo 类似于生灵,它们看上去实际上并不是活着的。 Vue 可以帮到你。因为 SVG 的本质是数据,我们只需要这些动物兴奋、思考或警戒的样例。然后 Vue 就可以辅助完成这几种状态之间的过渡动画,来制作

  • 我对用JavaScript编码非常陌生,我正在为不和谐服务器设置一个简单的事件机器人。 这在概念上非常简单,机器人真正做的只是允许任何人给他们提到的任何成员分配一个“死亡”角色。 然而,我面临的问题是: •kill命令,虽然它可以为人们提供死亡角色,并宣布一个成员被淘汰,但如果一个成员已经死亡或具有职员角色,它不会抛出相应的错误。它只是宣布该成员已被淘汰,而不管他们扮演什么角色。 •输入任何带有字

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