@MrAnanas
Пишу ботов и в будующем хочу занятся обучением ии

Как получить список участников сервера и занести их в БД?

Используя Discord.py я попытался занести участников сервера в БД, но занеся только сам бот.
@bot.event
async def on_ready():
    print("Bot Has been runned")#сообщение о готовности
    for guild in bot.guilds:#т.к. бот для одного сервера, то и цикл выводит один сервер
        print(guild.id)#вывод id сервера
        for member in guild.members:#цикл, обрабатывающий список участников
            print(member.name)
            cursor.execute(f"SELECT id FROM users WHERE id={member.id}")#проверка, существует ли участник в БД
            if cursor.fetchone()==None:#Если не существует
                cursor.execute(f"INSERT INTO users VALUES ({member.id}, '{member.name}', '<@{member.id}>', 50000, 'S','[]',0,0)")#вводит все данные об участнике в БД
            else:#если существует
                pass
            conn.commit()#применение изменений в БД
  • Вопрос задан
  • 352 просмотра
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
При создании бота нужно занести в него все intents.
https://discordpy.readthedocs.io/en/latest/intents.html

Не разбираюсь какие там бывают, поэтому можно просто бахнуть все
intents = discord.Intents.all()
bot = commands.Bot(command_prefix='!', intents=intents)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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