Marcus.
This commit is contained in:
parent
0c013cfd4d
commit
f28f995f29
7
.env.example
Normal file
7
.env.example
Normal file
@ -0,0 +1,7 @@
|
||||
# Telegram API credentials (get from https://my.telegram.org/apps)
|
||||
TELEGRAM_API_ID=your_api_id_here
|
||||
TELEGRAM_API_HASH=your_api_hash_here
|
||||
TELEGRAM_PHONE=+1234567890
|
||||
|
||||
# Grok API key (get from https://console.x.ai/)
|
||||
GROK_API_KEY=your_grok_api_key_here
|
182
.gitignore
vendored
Normal file
182
.gitignore
vendored
Normal file
@ -0,0 +1,182 @@
|
||||
# Environment variables and secrets
|
||||
.env
|
||||
.env.local
|
||||
.env.production
|
||||
.env.staging
|
||||
|
||||
# Generated bot data
|
||||
scambaiter.log
|
||||
conversation_stats.json
|
||||
scambaiter_session.session
|
||||
*.session
|
||||
|
||||
# Python
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
*.so
|
||||
.Python
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
wheels/
|
||||
share/python-wheels/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
MANIFEST
|
||||
|
||||
# Virtual environments
|
||||
.env
|
||||
.venv
|
||||
env/
|
||||
venv/
|
||||
ENV/
|
||||
env.bak/
|
||||
venv.bak/
|
||||
|
||||
# PyInstaller
|
||||
*.manifest
|
||||
*.spec
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
htmlcov/
|
||||
.tox/
|
||||
.nox/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.cache
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
*.cover
|
||||
*.py,cover
|
||||
.hypothesis/
|
||||
.pytest_cache/
|
||||
cover/
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
*.pot
|
||||
|
||||
# Django stuff:
|
||||
*.log
|
||||
local_settings.py
|
||||
db.sqlite3
|
||||
db.sqlite3-journal
|
||||
|
||||
# Flask stuff:
|
||||
instance/
|
||||
.webassets-cache
|
||||
|
||||
# Scrapy stuff:
|
||||
.scrapy
|
||||
|
||||
# Sphinx documentation
|
||||
docs/_build/
|
||||
|
||||
# PyBuilder
|
||||
.pybuilder/
|
||||
target/
|
||||
|
||||
# Jupyter Notebook
|
||||
.ipynb_checkpoints
|
||||
|
||||
# IPython
|
||||
profile_default/
|
||||
ipython_config.py
|
||||
|
||||
# pyenv
|
||||
.python-version
|
||||
|
||||
# pipenv
|
||||
Pipfile.lock
|
||||
|
||||
# poetry
|
||||
poetry.lock
|
||||
|
||||
# pdm
|
||||
.pdm.toml
|
||||
|
||||
# PEP 582
|
||||
__pypackages__/
|
||||
|
||||
# Celery stuff
|
||||
celerybeat-schedule
|
||||
celerybeat.pid
|
||||
|
||||
# SageMath parsed files
|
||||
*.sage.py
|
||||
|
||||
# Spyder project settings
|
||||
.spyderproject
|
||||
.spyproject
|
||||
|
||||
# Rope project settings
|
||||
.ropeproject
|
||||
|
||||
# mkdocs documentation
|
||||
/site
|
||||
|
||||
# mypy
|
||||
.mypy_cache/
|
||||
.dmypy.json
|
||||
dmypy.json
|
||||
|
||||
# Pyre type checker
|
||||
.pyre/
|
||||
|
||||
# pytype static type analyzer
|
||||
.pytype/
|
||||
|
||||
# Cython debug symbols
|
||||
cython_debug/
|
||||
|
||||
# PyCharm
|
||||
.idea/
|
||||
|
||||
# VS Code
|
||||
.vscode/
|
||||
|
||||
# macOS
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
|
||||
# Windows
|
||||
Thumbs.db
|
||||
ehthumbs.db
|
||||
Desktop.ini
|
||||
$RECYCLE.BIN/
|
||||
|
||||
# Linux
|
||||
*~
|
||||
|
||||
# Backup files
|
||||
*.bak
|
||||
*.backup
|
||||
*.tmp
|
||||
*.temp
|
||||
|
||||
# Bot-specific generated files
|
||||
*.png
|
||||
*.jpg
|
||||
*.jpeg
|
||||
*.gif
|
||||
example_macro.json
|
||||
schema.json
|
||||
*Assignment.md
|
||||
|
||||
# Old structure files
|
||||
requirements.txt
|
29
README.md
29
README.md
@ -1,8 +1,8 @@
|
||||
# Telegram Scambaiter Bot π
|
||||
# Telegram Scambaiter Bot
|
||||
|
||||
An intelligent bot that automatically engages with scammers using a believable persona to waste their time and protect others. The bot uses **Marcus** - a 35-year-old lonely guy with a Brabus 900 who's terrible with tech but has money to spend.
|
||||
|
||||
## π― Features
|
||||
## Features
|
||||
|
||||
### Core Functionality
|
||||
- **Automatic Scammer Detection**: Anyone not in your contacts is treated as a scammer
|
||||
@ -18,7 +18,7 @@ An intelligent bot that automatically engages with scammers using a believable p
|
||||
- **Fallback Responses**: Handles API failures gracefully
|
||||
- **Memory Management**: Cleans up old conversations
|
||||
|
||||
## π Quick Start
|
||||
## Quick Start
|
||||
|
||||
### 1. Prerequisites
|
||||
- Python 3.8+
|
||||
@ -73,7 +73,7 @@ python scambaiter_bot.py
|
||||
|
||||
On first run, you'll need to verify your phone number with Telegram.
|
||||
|
||||
## π Meet Marcus - Your Scambaiting Persona
|
||||
## Meet Marcus - Your Scambaiting Persona
|
||||
|
||||
Marcus is a carefully crafted character designed to be the perfect scammer target:
|
||||
|
||||
@ -100,7 +100,7 @@ Marcus is a carefully crafted character designed to be the perfect scammer targe
|
||||
- Designed to be obviously fake to real people
|
||||
- Perfect bait for scammers
|
||||
|
||||
## π Learning & Analytics
|
||||
## Learning & Analytics
|
||||
|
||||
The bot includes sophisticated learning capabilities:
|
||||
|
||||
@ -123,7 +123,7 @@ The bot includes sophisticated learning capabilities:
|
||||
- Conversation lengths
|
||||
- Engagement scores
|
||||
|
||||
## π οΈ Advanced Configuration
|
||||
## Advanced Configuration
|
||||
|
||||
### Timing Adjustments
|
||||
Edit `scambaiter_bot.py`:
|
||||
@ -138,7 +138,7 @@ Edit `persona_prompt.txt` to adjust Marcus's personality or add new details.
|
||||
### Contact Detection
|
||||
The bot automatically loads your Telegram contacts. Anyone not in contacts is treated as a scammer.
|
||||
|
||||
## π Logs & Monitoring
|
||||
## Logs & Monitoring
|
||||
|
||||
### Log Files
|
||||
- `scambaiter.log`: Detailed operation logs
|
||||
@ -157,7 +157,7 @@ print(analyzer.get_conversation_summary())
|
||||
"
|
||||
```
|
||||
|
||||
## π§ Troubleshooting
|
||||
## Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
|
||||
@ -178,7 +178,7 @@ print(analyzer.get_conversation_summary())
|
||||
- Adjust `min_response_time` and `max_response_time`
|
||||
- Check `delay_factor` in conversation analytics
|
||||
|
||||
## β οΈ Legal & Ethical Considerations
|
||||
## Legal & Ethical Considerations
|
||||
|
||||
### Legal
|
||||
- This is for educational and defensive purposes only
|
||||
@ -197,7 +197,7 @@ print(analyzer.get_conversation_summary())
|
||||
- Automatically obvious to legitimate contacts
|
||||
- Logs all interactions for transparency
|
||||
|
||||
## π€ Contributing
|
||||
## Contributing
|
||||
|
||||
Feel free to improve the system:
|
||||
|
||||
@ -216,7 +216,7 @@ Feel free to improve the system:
|
||||
- Conversation effectiveness scoring
|
||||
- Response optimization
|
||||
|
||||
## π Expected Results
|
||||
## Expected Results
|
||||
|
||||
### Typical Performance
|
||||
- **Response Rate**: 95%+ of scammers engage
|
||||
@ -230,12 +230,13 @@ Feel free to improve the system:
|
||||
- Time spent by scammers before giving up
|
||||
- Variety of response types
|
||||
|
||||
## π Have Fun!
|
||||
## Have Fun!
|
||||
|
||||
Remember, you're not just wasting scammer time - you're protecting others by keeping scammers busy with fake targets instead of real victims. Every minute a scammer spends talking to Marcus is a minute they're not scamming someone vulnerable.
|
||||
|
||||
The bot runs 24/7, so Marcus never sleeps and is always ready to chat with his new "friends" about his Brabus navigation problems! π
|
||||
The bot runs 24/7, so Marcus never sleeps and is always ready to chat with his new "friends" about his Brabus navigation problems!
|
||||
|
||||
---
|
||||
|
||||
**Disclaimer**: This tool is for educational and defensive purposes. Users are responsible for complying with all applicable laws and regulations in their jurisdiction.
|
||||
**Disclaimer**: This tool is for educational and defensive purposes. Users are responsible for complying with all applicable laws and regulations in their jurisdiction. - Haha, i'm joking. I don't care. Come to the dark side.
|
||||
|
||||
|
Loadingβ¦
Reference in New Issue
Block a user