@nikto_211

Как отправлять одно сообщение а не несколько?

@bot.slash_command(description='testtt!')
async def testt(interaction: nextcord.Interaction):
    for member in interaction.guild.humans:
        list = f"{member.mention} - {member.id}" "\n"
        await interaction.send(list, ephemeral=True)

Пытался добавить "\n" но бот все равно отправляет разными сообщениями, как быть?
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Голову включить, для начала.
Как по-твоему, какой вызов выполняет отправку сообщения? Правильно, interaction.send().
Этот вызов у тебя в цикле for member in guild.humans, поэтому для каждого участника сервера будет вызвано interaction.send(), а значит, отправлено отдельное сообщение.
Значит, если хочешь отправлять сведения однажды - вынеси вызов из цикла.
А чтобы не потерять данные, которые ты в цикле собираешь - помещай их в список.
После цикла собери этот список в строку через join(), и отправь эту строку одним вызовом send().
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы