Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Пишу собственного крашбота на disnake asyncio requests, нужна помощь с командой

‘gothica ‘kadrov Ученик (110), на голосовании 2 месяца назад
вот сам код
async def spam_ls(ctx, member: disnake.member):
await ctx.message.delete()

while True:
try:
await member.send(content="""ТЕКСТ ДЛЯ СПАМА""")
except:
continue


Нужно сделать так, чтобы команда spam_ls писала абсолютно каждому человеку на дискорд сервере. когда я пишу .spam_ls @everyone выдаёт ошибку: disnake.ext.commands.errors.MemberNotFound: Member "@​everyone" not found. Что делать и как пофиксить?
Голосование за лучший ответ
Леха Миронов Мастер (2253) 3 месяца назад
Вместо @everyone используйте await ctx.guild.members.fetch(), чтобы получить список всех участников сервера. Затем вы можете выполнить итерацию по каждому члену и отправить им сообщение с помощью следующего кода:
 async def spam_ls(ctx):   
await ctx.message.delete()

members = await ctx.guild.members.fetch()
for member in members:
try:
await member.send(content="""ТЕКСТ ДЛЯ СПАМА""")
except:
continue
Обратите внимание, что спам другим пользователям не является этичным и может привести к бану вашего бота.
‘gothica ‘kadrovУченик (110) 3 месяца назад
выдаёт ошибку disnake.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'list' object has no attribute 'fetch'
Похожие вопросы