如何检查用户是否在数组中

时间:2019-05-02 22:43:00

标签: python discord.py

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

我尝试了下面显示的代码,但无法正常工作。很奇怪:

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)

我希望它检查连接的成员是否在数组中,如果是这样;添加角色(如果没有);禁止。但是,目前,无论它们在数组中如何,它都被禁止。

1 个答案:

答案 0 :(得分: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)