#python #discord #discord.py
Вопрос:
Я не знаю, как я могу настроить команду для DM всех пользователей на сервере. Я уже пытался использовать это:
@commands.command(aliases=["senddm", "alldm"])
async def all_dm(self, ctx, message):
await ctx.send(f"DM everyone with `{message}` in `{ctx.guild.name}`? [y/n]")
def check_data(message):
return message.author == ctx.message.author
while True:
try:
msg = await self.bot.wait_for('message', check=check_data, timeout=int(timeout))
if msg.content == "y":
await ctx.send(waitmsg)
for user in list(ctx.guild.members):
try:
await user.send(nick=message)
except Exception:
pass
await ctx.send(donemsg)
return
if msg.content == "n":
await ctx.send(no_msg)
return
except asyncio.TimeoutError:
await ctx.send(timeout_msg)
return
Мне нужен другой код для настройки команды
Комментарии:
1. Я считаю, что это противоречит спам-рассылкам Discord. Вероятно, вам следует просто пинговать всех. Вы же не хотите, чтобы скорость вашего бота была ограничена.
Ответ №1:
Если вы не хотите этого делать, для создания частных каналов действуют строгие ограничения скорости, и ваш бот может быть помещен в карантин очень быстро. Вы можете найти другие способы связаться с пользователями сервера, например, упоминания.
Вот статья документа об ограничениях скорости: https://discord.com/developers/docs/topics/rate-limits#rate-limits