0

我正在尝试检查加入的用户名是否在数组中,如果不是;禁止他们。如果是,请添加角色。

我已经尝试了下面显示的代码,但它不能正常工作。真奇怪:

import discord
import asyncio
from discord.ext import commands
from discord.ext.commands import Bot

bot = commands.Bot(command_prefix = '-')

helpers = ['Mashhhyyy#7521', 'Example#1234']

@bot.event
async def on_member_join(member):
    if member in helpers:
        await bot.add_roles(member, discord.Object(id='573334265690062869'))
    else:
        await bot.ban(member)

我希望它检查加入的成员是否在数组中,如果是的话;如果没有,添加角色;禁止。但是,目前,无论它们是否在数组中,它都会被禁止。

4

1 回答 1

3

您在代码中使用用户的字符串表示,因此您必须将它们与对象的字符串表示进行比较,而不是Member对象本身:

@bot.event
async def on_member_join(member):
    if str(member) in helpers:
        await bot.add_roles(member, discord.Object(id='573334265690062869'))
    else:
        await bot.ban(member)
于 2019-05-03T00:01:35.107 回答