将角色赋予消息中的用户


print("dsdsdd")
import discord
import time
from discord.ext import commands
from discord.utils import get
TOKEN = "..."
ROLE = "Rekrutant"
bot = commands.Bot(command_prefix = "/")
@bot.event
async def on_ready():
print("Zalogowano: " + bot.user.name)
@bot.command()
async def setup(ctx, user: discord.Member = None):
ADMIN_ROLE = discord.utils.get(ctx.guild.roles, name="Admin")
if (ADMIN_ROLE in ctx.author.roles):
await user.add_roles("Rozmowy+")
else:
await ctx.send("Nie masz uprawnien, aby uzywac komendy")
bot.run(TOKEN)

我在获取用户表单消息时遇到问题。

我得到一个错误:等待req(行会id、用户id、角色id、原因=原因(AttributeError:"str"对象没有属性"id">

我不知道为什么它不起作用。

这是因为您将一个字符串放入add_roles函数中,该函数实际上需要一个角色对象。尝试:

await ctx.author.add_roles(discord.utils.get(ctx.guild.roles,name="Rozmowy+"))

这个新函数将字符串变成一个角色对象,这正是原始函数所寻找的。此外,我将user更改为ctx.author,因为这是唯一适用于我的用户对象。如果您需要任何澄清,请在下面的评论中询问我。

最新更新