const fs = require('fs');
const tmi = require('tmi.js');
const readline = require('readline');
// Чтение данных из файла
const data = fs.readFileSync('bots.txt', 'utf8');
const lines = data.split('\n');
// Создание клиентов Twitch
const clients = lines.map(line => {
const [username, password] = line.split(':');
const config = {
options: { debug: true },
connection: { reconnect: true },
identity: { username, password },
channels: ['канал']
};
return new tmi.Client(config);
});
// Подключение к серверу Twitch
clients.forEach(client => {
client.connect();
client.on('connected', (address, port) => {
console.log(`Connected to ${address}:${port}`);
});
});
// Обработка команд отправки сообщений
function sendMessage(botName, channel, message) {
const client = clients.find(c => c.getUsername() === botName);
if (client) {
client.say(channel, message);
} else {
console.log(`Bot ${botName} not found`);
}
}
// Чтение ввода с консоли
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
// Ввод сообщения и отправка в чат
rl.setPrompt('Введите имя бота и сообщение: ');
rl.prompt();
rl.on('line', (line) => {
const [botName, ...messageParts] = line.split(' ');
const message = messageParts.join(' ');
sendMessage(botName, 'канал', message);
rl.prompt();
}).on('close', () => {
process.exit(0);
});