Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

ChatManager - исходник чат-бота VK для модерации чатов

Июн
222
179
Редактор
1765033685067.png
( пикамонов и тфорник около офиса )

Выкладываю исходники коробки для вашего чат-менеджера
Реализовано: Роли, Ники, Баны, Настройки и тд.
Мут есть, но его доделать нужно(команды), у кого руки не из одного места - сделает
Варнов нет


При публиковании на другие форумы - указывайте автора TFORNIK
Продукт защищен лицензией GNU GPL 3.0

1. Переместите содержимое архива в любую папку на компьютере
2. Откройте консоль в этой папке, используйте команду npm install
3. После установки библиотек, отредактируйте файл .env
( DATABASE_URL - ссылка на базу данных MySQL, BOT_TOKEN = токен бота, GROUP_ID - ID группы )
4. Синхронизируйте базу данных командой: npx prisma db push
5. Запустите бота командой: node app
 

Вложения

  • ChatManager.rar
    45 KB · Просмотры: 23
Июн
222
179
Редактор
Кто скажет что весь код написан нейросетью - будет забанен на форуме
 
Активный из Python
Мар
859
1,541
Активный
Посмотреть вложение 17002
( пикамонов и тфорник около офиса )

Выкладываю исходники коробки для вашего чат-менеджера
Реализовано: Роли, Ники, Баны, Настройки и тд.
Мут есть, но его доделать нужно(команды), у кого руки не из одного места - сделает
Варнов нет


При публиковании на другие форумы - указывайте автора TFORNIK
Продукт защищен лицензией GNU GPL 3.0

1. Переместите содержимое архива в любую папку на компьютере
2. Откройте консоль в этой папке, используйте команду npm install
3. После установки библиотек, отредактируйте файл .env
( DATABASE_URL - ссылка на базу данных MySQL, BOT_TOKEN = токен бота, GROUP_ID - ID группы )
4. Синхронизируйте базу данных командой: npx prisma db push
5. Запустите бота командой: node app
OFFTOP

Круто

 
Лучше плохо начать, чем хорошо бездействовать
Ноя
2,079
1,311
Профессионал
1765033685067.png
OFFTOP

Интересно, интересно 🫣


Кто скажет что весь код написан нейросетью - будет забанен на форуме
OFFTOP

А это случайно не злоупотребление свои положением?)
P.S. Подожди, редакторы же вроде не могут раздавать баны..

 
Окт
77
256
Пользователь
а подобное тоже практикуется в Silence?

database:
const users = await prisma.$queryRawUnsafe(
    `SELECT * FROM users WHERE peer_id = ? AND ${wherePart}`,
    id
);
 
Окт
77
256
Пользователь
а с какой целью это было сделано?
зачем загружать ВСЮ базу данных (все баны всех бесед) в оперативную память при запуске?

BanManager:
async loadCache() {
    const [status, bans] = await this.db.getAllUsers();
    console.log(status, bans)
    if (status) {
        bans.forEach(element => {
            if (element.active == 1) {
                if (!this.cache.has(Number(element.peer_id))) {
                    this.cache.set(Number(element.peer_id), new Map());
                }
                this.cache.get(Number(element.peer_id)).set(Number(element.user_id), {
                    time: Number(element.time),
                    reason: element.reason || '',
                    admin: Number(element.admin)
                });
            }
        });
    }
}
 
Янв
339
356
Пользователь
а с какой целью это было сделано?
зачем загружать ВСЮ базу данных (все баны всех бесед) в оперативную память при запуске?

BanManager:
async loadCache() {
    const [status, bans] = await this.db.getAllUsers();
    console.log(status, bans)
    if (status) {
        bans.forEach(element => {
            if (element.active == 1) {
                if (!this.cache.has(Number(element.peer_id))) {
                    this.cache.set(Number(element.peer_id), new Map());
                }
                this.cache.get(Number(element.peer_id)).set(Number(element.user_id), {
                    time: Number(element.time),
                    reason: element.reason || '',
                    admin: Number(element.admin)
                });
            }
        });
    }
}
А че нет то ?
 
Апр
49
25
Пользователь
а с какой целью это было сделано?
зачем загружать ВСЮ базу данных (все баны всех бесед) в оперативную память при запуске?

BanManager:
async loadCache() {
    const [status, bans] = await this.db.getAllUsers();
    console.log(status, bans)
    if (status) {
        bans.forEach(element => {
            if (element.active == 1) {
                if (!this.cache.has(Number(element.peer_id))) {
                    this.cache.set(Number(element.peer_id), new Map());
                }
                this.cache.get(Number(element.peer_id)).set(Number(element.user_id), {
                    time: Number(element.time),
                    reason: element.reason || '',
                    admin: Number(element.admin)
                });
            }
        });
    }
}
что бы если что быстро подгрузить, и не делать лишний запрос к бд.
думаю, если сервер нормальный, ниче с ботом не будет.
 
Сверху