Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

118
Visualizações
Antispam para bot de Telegram

Estoy trabajando en la creación de un bot de Telegram, quiero hacer un sistema antispam, es decir, cuando una persona presiona un botón demasiadas veces, el bot se congelará para él durante una cierta cantidad de segundos, es posible escribir un mensaje sobre el bloqueo. Acabo de empezar a aprender JavaScript. Yo uso node-telegram-bot-api.

 import { bot } from '../token.js'; import { keyboardMain } from '../keyboards/keyboardsMain.js'; export function commands() { bot.on('message', msg => { const text = msg.text; const chatId = msg.chat.id; if (text === '/start') { return bot.sendMessage(chatId, 'hello', keyboardMain); } return bot.sendMessage(chatId, 'error'); }); }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede crear un acelerador de usuario usando Javascript Map

 /* * @param {number} waitTime Seconds to wait */ function throttler(waitTime) { const users = new Map() return (chatId) => { const now = parseInt(Date.now()/1000) const hitTime = users.get(chatId) if (hitTime) { const diff = now - hitTime if (diff < waitTime) { return false } users.set(chatId, now) return true } users.set(chatId, now) return true } }

Cómo usarlo: Obtendrá el ID de chat del usuario de la API de Telegram. Puede usar esa identificación como identificador y detener al usuario por un tiempo específico.

Por ejemplo, voy a detener al usuario durante 10 segundos una vez que el usuario lo solicite.

 // global 10 second throttler const throttle = throttler(10) // 10 seconds // in your code const allowReply = throttle(chatId) // chatId obtained from telegram if (allowReply) { // reply to user } else { // dont reply }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda