添加角色命令不起作用(discord.py 重写)

时间:2021-01-17 11:04:14

标签: python discord.py discord.py-rewrite

所以我尝试为我的机器人添加角色命令:

const lists = [
  {
    id: '0',
    title: 'LIST 1',
    cardItems: [
      { id: '0', text: 'Card 1' },
      { id: '1', text: 'Card 2' },
      { id: '2', text: 'Card 3' },
    ],
  },
];

const removeCardItem = (list, listItemId, cardItemId) => {
  const arr = [...list];
  // get list item by id
  const item = arr.find(listItem => listItem.id === listItemId);
  // remove card item by id if found
  if(item)
    item.cardItems = item.cardItems.filter(cardItem =>
      cardItem.id !== cardItemId
    );
  return arr;
}

console.log( removeCardItem(lists, '0', '1') );

但是没有用,bot没有添加角色或发送消息,也没有错误,是不是我做错了什么?

1 个答案:

答案 0 :(得分:1)

很抱歉迟到了,但答案很简单。输入命令 use 时,您的代码很好

(前缀)@user 提及@role

例如。 !addrole @huss_a @example

我还建议将 @commands.has_permissions 引用放在开头,这样只有管理员才能使用它,而用户不能像这样给自己任何他们想要的角色:

@bot.command()
@commands.has_permissions(manage_roles=True)
async def addrole(ctx, member: discord.Member, role: discord.Role):
  await member.add_roles(role)
  await ctx.send(f"{member} now had the {role} role")

您也可以使用此代码:

@bot.command()
@commands.has_permissions(manage_roles=True)
async def addrole(ctx, role: discord.Role, user: discord.Member):
    await user.add_roles(role)
    await ctx.send(f"{role.mention} was added to {user.mention})