Я пытаюсь создать автобота Discord, который может печатать имена всех участников в консоли при вводе >>>Members. Затем следует удалить сообщение >>>Members и вывести имена в консоли. Я знаю, что это противоречит TOS.
Вот мой код:
Код: Выделить всё
import discord
from discord.ext import commands
intents = discord.Intents().all()
bot = commands.Bot(">>>", self_bot=True, intents=intents)
@bot.command()
async def Members(ctx):
await ctx.message.delete()
members = ctx.guild.members
for member in members:
print(member.name)
bot.run("shit I leaked my token", bot=False)
Ему удается удалить сообщение, но затем он выводит на консоль только имена четырех участников. Я понятия не имею, что здесь происходит не так. Кажется, мои намерения настроены правильно. Что я здесь делаю не так? Возвращаемые участники кажутся случайными для каждого сервера. Это могут быть боты, онлайн- или офлайн-люди. Самая близкая проблема, которую я видел в Интернете, - это guild.members, возвращающий только автора сообщения (это можно исправить намерением). Помощь будет принята с благодарностью. Спасибо вам большое.
Подробнее здесь:
https://stackoverflow.com/questions/658 ... ll-members