繁体   English   中英

通过 discord.py 验证频道和角色

[英]Verify channel and role through discord.py

我想这样做,以便当有人在#verify 频道中键入 $verify 时,他们会收到“成员”角色并删除 $verify 消息。 它还应该能够删除任何其他发送的不是 $verify 的消息。 这是我的代码不起作用:

async def on_message(message):
    delmessage = client.get_channel(976724314600644649)
    if message == "$verify":
        await message.message.delete(delete_after=5)
        user = message.message.author
        role = discord.utils.get(user.guild.roles, name="Members")
        await user.add_roles(role)
        embed = discord.Embed(title="Verified", description=f"You have been verified in LXVI", color=0x0000FF)
        await user.send(embed=embed)
    else:
        await delmessage.purge(limit=1)

我注释掉的这段代码-

#async def verify(ctx):
#    await ctx.message.delete()
#    user = ctx.message.author
#    role = discord.utils.get(user.guild.roles, name="Members")
#    await user.add_roles(role)
#    embed = discord.Embed(title="Verified", description=f"You have been verified in LXVI",
color=0x0000FF)
#    await user.send(embed=embed) 

- 用于在用户键入 $verify 并删除消息并向他们发送 dm 时简单地验证用户,但它不考虑在频道中发送的任何其他消息。

这将删除频道中 ID 为976724314600644649的每条消息。 如果消息内容是$verify ,它会在删除之前添加角色Members

async def on_message(message):
  if message.channel.id == 976724314600644649:
    if message.content == "$verify":
        role = discord.utils.get(message.guild.roles, name="Members")
        await message.author.add_roles(role)
        embed = discord.Embed(title="Verified", description=f"You have been verified in LXVI", color=0x0000FF)
        await message.author.send(embed=embed)
    await message.delete()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM