spam-engel-modulu
Version:
Discord botlar için basit spam engelleme kütüphanesi
105 lines (68 loc) • 1.97 kB
Markdown
# 🛡️ Spam Engel Modülü
Bu modül, Discord botları için basit bir **spam engelleme** sistemidir. Bir kullanıcı kısa sürede aynı mesajı tekrar ederse, bunu spam olarak algılar.
## 🧰 Kurulum
```bash
npm install spam-engel-modulu
```
## 🧪 Kullanım
```js
const { SpamDetector } = require('spam-engel-modulu');
const spamDetector = new SpamDetector({
limit: 5, // 5 mesaj
timeWindow: 10000 // 10 saniye içinde
});
// Örnek kullanım (Discord bot event'i)
client.on('messageCreate', (message) => {
if (message.author.bot) return;
const isSpam = spamDetector.check(message.author.id, message.content);
if (isSpam) {
message.reply("Spam yapma!");
// Opsiyonel: mesajı sil, kullanıcıyı sustur, vs.
}
});
```
## ⚙️ Ayarlar
| Seçenek | Açıklama | Varsayılan |
|--------------|----------------------------------|------------|
| `limit` | Spam için mesaj sayısı | `5` |
| `timeWindow` | Spam kontrol süresi (ms cinsinden)| `10000` |
## 🧩 Yeni Özellikler (v1.0.2)
### 🔍 Spam Durumu Görüntüleme
Bir kullanıcının şu anki spam durumunu göster:
```js
const status = spamDetector.getSpamStatus(userId);
console.log(status); // { count: 3, isSpam: false }
```
### 🧹 Otomatik Temizlik
Kullanıcı geçmişlerini otomatik temizlemek için:
```js
spamDetector.startCleanupInterval(1); // 1 dakikada bir temizlik yapar
```
## 🧼 Manuel Temizlik
### Tek Kullanıcıyı Temizle
```js
spamDetector.clearUser(userId);
```
### Tüm Kullanıcıları Temizle
```js
spamDetector.clearAll();
```
## 🧪 Test
```bash
npm test
```
> (Basit bir test dosyası eklendi: `test/test.js`)
## 🧠 Geliştirme Planı
- [x] v1.0.0: Temel spam kontrolü
- [x] v1.0.1: `clearAll()` fonksiyonu
- [x] v1.0.2: `getSpamStatus()` ve `startCleanupInterval()`
## 🛡️ Lisans
MIT