Задать вопрос
@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()#применение изменений в БД
  • Вопрос задан
  • 376 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 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)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
от 200 000 до 300 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
27 янв. 2025, в 09:05
2000 руб./за проект
27 янв. 2025, в 09:02
1000 руб./за проект
27 янв. 2025, в 08:52
3000 руб./за проект