discord.py -> как сделать сообщение которое отправиться на все сервера, а также что-бы небыло спама, лишь одно сообщение на каждый сервер
Например: (префикс)(команда) (сообщение)
Данное сообщение должно отправиться на все сервера в первый доступный канал!
Ответы (1 шт):
Есть два варианта, и оба костыльные.
1 вариант.
Отправлять сообщение в первый созданный на сервере канал. НО, если канал приватный, то сообщение увидят только те пользователи, которые имеют доступ к этому каналу.
@bot.command()
async def send(ctx, message=None):
for guild in bot.guilds:
await guild.text_channels[0].send(message)
2 вариант. Отправлять сообщение в новостной канал сервера. НО, если новостного канала на сервере нет, тогда бот ничего на данный сервер не отправит.
@bot.command()
async def send(ctx, message=None):
for guild in bot.guilds:
for channel in guild.text_channels:
if channel.type == discord.ChannelType.news:
await guild.text_channels[0].send(message)
К сожалению в Дискорде нету функции выбрать на сервере основной канал для общения, так что бот не сможет отправить сообщение в этот канал.
Вы можете попробовать объединить эти два кода, возможно у Вас что-то получится.
Удачи!