#discord.py
Вопрос:
Время от времени приведенный ниже код не добавляет роль, говоря, что member
это не так. Однако, если я перейду в Discord и введу идентификатор пользователя <@1234567891011>
, он будет выглядеть просто отлично, и я смогу назначить роль вручную.
@client.event
async def on_ready():
guild = client.get_guild(xxx) # example id
giveaway_role = guild.get_role(settings.GIVEAWAY_ROLE)
while True:
discord_ids = await process_giveaway_accounts()
for discord_id in discord_ids:
try:
member = guild.get_member(int(discord_id))
await member.add_roles(giveaway_role)
except:
print(f"Failed to add giveaway role to {discord_id}")
print("Processing complete...")
time.sleep(10)
Я заметил, что это, похоже, происходит только с участниками, которые присоединились в последний час, но с участниками, которые уже были в гильдии при запуске бота, все в порядке.
У меня есть намерение членов гильдии, включенное в коде, а также в конфигурации бота в конфигурации приложения Discord. Я пропустил какой-то шаг, или это, возможно, ошибка?