Как сделать так, чтобы Дискорд бот отправлял личные сообщения всем пользователям канала(группы)?
Я попытался сделать отправку всем пользователям сервера дискорд, но возникает ошибка при попытке написать *Raid @everyone, эвриван не найдено. Как это исправить?
import discord
from discord.ext import commands
import credits
client = discord.Client()
bot = commands.Bot(command_prefix="*")
token = credits.token_bot
#member_list = [] #Список регестраций, пока оставим
@bot.command(name = "Start")
async def start(ctx):
await ctx.send('''Привет я игровой бот помощник, я нахожусь в разработке, но уже скоро буду функционировать
я пока знаю одну команду:
1) *Map - выслать ссылку на сайт показывающий, где какие ресурсы найти''')
@bot.command(name = 'Map')
async def map(ctx):
await ctx.send("https://www.newworld-map.com/#/")
@bot.command(name = 'Raid')
async def send_m(ctx, member: discord.Member):
await member.send(f'{ member.name }, Пора на осаду')
bot.run(token)
Ответы (1 шт):
Автор решения: HellSai
→ Ссылка
Как сделать так, чтобы Дискорд бот отправлял личные сообщения всем пользователям канала(группы)?
Ответ очень прост. Просто переберите участников на сервере.
@bot.command(name = 'Raid')
async def send_m(ctx, member: discord.Member = None):
if member is None:
for member in ctx.message.guild.members:
try:
user = await bot.fetch_user(member.id)
await user.send('Текст, который будет отправляться')
except:
print("ЛС закрыто!")
else:
user = await.bot.fetch_user(member.id)
await user.send('Тест')
Проверьте, должен работать.

