使用 Python Discord 进行验证

Posted

技术标签:

【中文标题】使用 Python Discord 进行验证【英文标题】:Verification using Python Discord 【发布时间】:2020-11-13 16:04:54 【问题描述】:

我正在用 python 制作一个机器人,我需要两件事的帮助。

    向用户发送欢迎消息,包括提及用户和提及频道 发出命令将删除角色“未验证”并添加 4 个其他角色。我还需要它在验证通道中发送一条消息,以确保此人已通过验证,并在一般聊天中发送一条嵌入消息,告诉用户获取自己的角色。

【问题讨论】:

欢迎来到 Stack Overflow!在问你的问题之前,你有没有做过任何研究或者你有没有想出任何代码?该网站更多的是帮助开发人员编写代码,您的问题包含多个问题,需要更多关注^^ 这是一个有用的链接,可能会对您有所帮助asking better question 【参考方案1】:

你可以试试

import discord
from discord.ext import commands
from discord.utils import get

client = commands.Bot(command_prefix=".")

confirmEmoji = '\U00002705'    

@client.event()
async def on_ready():
    print("[Status] Ready")

@client.event()
async def on_member_join(ctx, member):
    channel = get(ctx.guild.channels,name="Welcome")
    await channel.send(f"member.mention has joined")

@client.command()
async def ConfirmMessage(ctx):
    global confirmEmoji
    message = await ctx.send("Confirm")
    await message.add_reaction(emoji=confirmEmoji)
    def check(reaction, user):
        if reaction.emoji == confirmEmoji:
            return True
        else: 
            return False
    while True:
        try:
            reaction, user = await client.wait_for("reaction_add", check=check, timeout=10)
        roleToRemove = get(ctx.guild.roles,name="unverified")
        memberToRemoveRole = get(ctx.guild.members,name=user.display_name)
        await memberToRemoveRole.remove_roles(roleToRemove)

现在你要做的就是进入频道并输入.ConfirmMessage

【讨论】:

以上是关于使用 Python Discord 进行验证的主要内容,如果未能解决你的问题,请参考以下文章

Async def on_ready():需要 Discord bot Python 故障排除

使用 discord.py 将已经存在的 json 文件作为嵌入发送

Discord.js 无法执行

是否可以在服务器外邀请使用 Discord.js 的人?

Python Discord Bot 将消息与列表进行比较

如何在 discord.py 中嵌入如下图所示的按钮? [关闭]