@fakebot/autosend
Version:
Envia mensagens automáticas em loop com exclusão da anterior.
61 lines (49 loc) • 1.86 kB
JavaScript
const readline = require('readline');
/**
* Função principal: pergunta dados e inicia envio automático com edição.
* @param {import('discord.js').Client} client
*/
function autoSend(client) {
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let canal = null;
let guild = null;
let tempo = 10000;
let ultimaMensagem = null;
rl.question('📥 ID do canal: ', (canalId) => {
rl.question('🌐 ID da guild (servidor): ', (guildId) => {
rl.question('⏱️ Tempo entre mensagens (segundos): ', async (tempoSegs) => {
tempo = parseInt(tempoSegs) * 1000;
if (isNaN(tempo)) tempo = 10000;
try {
canal = await client.channels.fetch(canalId.trim());
guild = await client.guilds.fetch(guildId.trim());
if (!canal || !canal.isTextBased()) {
console.log('❌ Canal inválido ou não é de texto.');
process.exit(1);
}
console.log(`✅ Canal: #${canal.name} | Servidor: ${guild.name}`);
console.log(`💬 Enviando mensagens automáticas a cada ${tempo / 1000}s`);
let contador = 1;
setInterval(async () => {
try {
if (ultimaMensagem) await ultimaMensagem.delete();
const msg = await canal.send(`Mensagem automática #${contador}`);
ultimaMensagem = msg;
contador++;
} catch (err) {
console.error('❌ Erro ao enviar/deletar mensagem:', err.message);
}
}, tempo);
} catch (err) {
console.error('❌ Erro ao buscar canal ou guild:', err.message);
process.exit(1);
}
rl.close();
});
});
});
}
module.exports = { autoSend };