#python #discord #discord.py
#python #Discord #discord.py
Вопрос:
Я хочу, чтобы бот отправлял сообщения участникам с определенной ролью, поэтому я попробовал это,
@bot.command(pass_context=True)
async def message_role(ctx, role: discord.Role, *, message):
for member in ctx.message.server.members:
if role in member.roles:
await member.send(member, message)
На самом деле это не работает, и я также не хочу, чтобы мой бот был помечен за рассылку спама, поэтому я хочу проверить или что-то еще, чтобы бот отправлял dm только в том случае, если в роли 25 или менее 25 участников. Если у роли более 25 пользователей, она должна вернуться и сказать что-то вроде — «Не могу отправлять столько пользователей».
Спасибо!
Ответ №1:
Вы можете проверить длину role.members
@bot.command()
async def message_role(ctx, role: discord.Role, *, message):
if not len(role.members) <= 25:
return await ctx.send("Can't dm this much users")
for i in role.members:
await i.send(message)