我正在尝试检查一个连接的用户名是否在数组中,如果不是;禁止他们。如果是这样,请添加角色。
我尝试了下面显示的代码,但无法正常工作。很奇怪:
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)
我希望它检查连接的成员是否在数组中,如果是这样;添加角色(如果没有);禁止。但是,目前,无论它们在数组中如何,它都被禁止。
答案 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)