Skip to content

theesmaeil1/xSelf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

🤖 xSelf - Telegram Self Bot

یک ربات تلگرام قدرتمند و پیشرفته برای مدیریت خودکار اکانت تلگرام شما با قابلیت‌های متنوع و مدیریت هوشمند.

📢 کانال: @xSelfChannel
👤 سازنده: @theesmaeil1


📋 فهرست مطالب


🎯 معرفی

xSelf یک ربات تلگرام (Self Bot) است که به شما امکان مدیریت خودکار اکانت تلگرام خود را می‌دهد. این ربات با استفاده از کتابخانه Pyrogram ساخته شده و دارای سیستم مدیریت دیتابیس SQLite برای ذخیره‌سازی پایدار اطلاعات است.

✨ ویژگی‌های کلیدی:

  • ذخیره‌سازی پایدار: تمام اطلاعات در دیتابیس SQLite ذخیره می‌شوند
  • مدیریت هوشمند لیمیت: جلوگیری از فریز اکانت با سیستم Rate Limiting
  • پشتیبانی از تمام انواع محتوا: متن، عکس، ویدیو، موزیک، استیکر، گیف و...
  • ذخیره خودکار محتوا: فوروارد خودکار تمام پیام‌ها به گروه‌های مشخص شده
  • مدیریت دشمنان و سکوت: سیستم پیشرفته برای مدیریت کاربران
  • پشتیبانی از عکس/ویدیو تایمردار: دانلود و ذخیره محتوای تایمردار
  • یک فایل واحد: تمام کد در یک فایل (xSelf.py)

🚀 قابلیت‌ها و امکانات

1. مدیریت دشمنان (Enemy Management)

  • افزودن/حذف دشمنان با ریپلای یا آیدی
  • بلاک خودکار دشمنان
  • پاسخ خودکار با فحش به دشمنان (با لیمیت)
  • لیست و پاکسازی دشمنان
  • آنبلاک خودکار هنگام حذف از لیست

2. مدیریت سکوت (Mute Management)

  • سکوت خودکار کاربران
  • حذف خودکار پیام‌های کاربران سکوت شده
  • مدیریت لیست سکوت
  • افزودن/حذف با ریپلای یا آیدی

3. مدیریت فحش‌ها (Curse Management)

  • افزودن/حذف فحش‌های سفارشی
  • پاسخ خودکار با فحش‌های تصادفی به دشمنان
  • مدیریت لیست فحش‌ها
  • فحش‌های پیش‌فرض

4. ذخیره محتوا (Realm System) ⭐

  • ثبت گروه برای ذخیره محتوا (از طریق config)
  • فوروارد خودکار تمام پیام‌های دریافتی (پیوی، گروه‌ها)
  • پشتیبانی از تمام انواع محتوا:
    • 📝 متن
    • 🖼️ عکس (عادی و تایمردار)
    • 🎥 ویدیو (عادی و تایمردار)
    • 🎵 موزیک
    • 🎭 استیکر
    • 🎬 گیف
    • 📹 ویدیو مسیج (Video Note)
    • و سایر انواع محتوا

5. ذخیره خودکار محتوا

  • ذخیره خودکار عکس‌های تایمردار در Saved Messages
  • ذخیره خودکار ویدیوهای تایمردار در Saved Messages
  • دانلود و ذخیره محتوای تایمردار

6. دستورات کاربردی

  • نمایش زمان و تاریخ (شمسي و میلادی) با تایمزون تهران
  • نمایش اطلاعات کاربر و گروه
  • مدیریت گروه (بن، آنبن، سکوت)
  • بررسی وضعیت ربات
  • تست دسترسی به گروه‌های ذخیره محتوا

7. سیستم Rate Limiting

  • جلوگیری از فریز اکانت
  • مدیریت هوشمند لیمیت‌های تلگرام
  • تاخیر خودکار بین عملیات
  • ریست خودکار شمارنده‌ها

8. دیتابیس SQLite

  • ذخیره‌سازی پایدار تمام اطلاعات
  • بازیابی خودکار اطلاعات پس از ری‌استارت
  • مدیریت کارآمد داده‌ها
  • جداول جداگانه برای هر نوع داده

9. مدیریت خطا

  • مدیریت FloodWait
  • تلاش مجدد خودکار
  • لاگ‌های کامل
  • مدیریت خطاهای RPC

📦 نصب و راه‌اندازی

پیش‌نیازها

  • Python 3.8 یا بالاتر
  • اکانت تلگرام
  • API ID و API Hash از my.telegram.org

مراحل نصب

1. دانلود پروژه

فایل xSelf.py را دانلود کنید

git clone https://github.com/theesmaeil1/xSelf.git
cd xSelf

2. نصب وابستگی‌ها

pip install -r requirements.txt

یا به صورت دستی:

pip install pyrogram>=2.0.0 pytz>=2023.3 jdatetime>=4.1.0 aiosqlite>=0.19.0

3. دریافت API Credentials

  1. به my.telegram.org بروید
  2. وارد اکانت خود شوید
  3. به بخش API development tools بروید
  4. یک اپلیکیشن جدید ایجاد کنید
  5. API ID و API Hash را کپی کنید

4. تنظیم فایل xSelf.py

فایل xSelf.py را باز کنید و در بخش تنظیمات (خطوط 26-63) اطلاعات خود را وارد کنید:

# API تنظیمات
API_ID = 12345678  # API ID خود را وارد کنید
API_HASH = 'your_api_hash_here'  # API Hash خود را وارد کنید

# نام فایل session
SESSION_NAME = 'xSelf'

# گروه‌های ذخیره محتوا
REALM_CHAT_IDS = [
    -1003385249171  # ID گروه خود را اینجا وارد کنید
]

5. اجرای ربات

python xSelf.py

در اولین اجرا:

  • شماره تلفن خود را با فرمت بین‌المللی وارد کنید (مثلاً: +989692842510)
  • کد تأیید تلگرام را وارد کنید
  • اگر Two-Step Verification فعال است، رمز عبور را وارد کنید

⚙️ تنظیمات

تنظیمات API

API_ID = 12345678  # از my.telegram.org دریافت کنید
API_HASH = 'your_api_hash'  # از my.telegram.org دریافت کنید
SESSION_NAME = 'xSelf'  # نام فایل session

تنظیمات Rate Limiting

RATE_LIMITS = {
    'profile_update': {'max_per_hour': 5, 'min_delay': 720},
    'message_send': {'max_per_minute': 20, 'min_delay': 3},
    'message_delete': {'max_per_minute': 10, 'min_delay': 6},
    'curse_reply': {'max_per_hour': 10, 'min_delay': 360},
    'block_user': {'max_per_hour': 5, 'min_delay': 720},
    'chat_action': {'min_delay': 2},
}

⚠️ توصیه می‌شود این مقادیر را تغییر ندهید مگر اینکه بدانید چه می‌کنید.

تنظیمات گروه ذخیره محتوا

REALM_CHAT_IDS = [
    -1003385249171,  # ID گروه اول
    -1001234567890   # ID گروه دوم (اختیاری)
]

نکته: برای دریافت ID گروه:

  • در گروه دستور info را ارسال کنید
  • یا از ربات @userinfobot استفاده کنید
  • ID گروه‌ها معمولاً با -100 شروع می‌شوند

تنظیمات کانال و سازنده

CHANNEL_USERNAME = "xSelfChannel"
DEVELOPER_USERNAME = "theesmaeil1"

📝 دستورات

دستورات اصلی

دستور توضیحات
ping بررسی آنلاین بودن سلف
status وضعیت ربات و لیمیت‌ها
time نمایش زمان و تاریخ تهران (شمسي و میلادی)
help پنل راهنمای کامل
testrealm تست دسترسی به گروه‌های ذخیره محتوا

مدیریت دشمنان

دستور نحوه استفاده توضیحات
enemy ریپلای روی کاربر افزودن کاربر به لیست دشمنان و بلاک
friend ریپلای روی کاربر حذف از لیست دشمنان و آنبلاک
addenemy ریپلای روی پیام حاوی آیدی افزودن دشمن با آیدی
delenemy ریپلای روی پیام حاوی آیدی حذف دشمن با آیدی
enemylist ارسال دستور نمایش لیست دشمنان
cleanenemylist ارسال دستور پاکسازی کامل لیست دشمنان

مدیریت فحش‌ها

دستور نحوه استفاده توضیحات
addf ریپلای روی پیام افزودن فحش به لیست
delf ریپلای روی پیام حذف فحش از لیست
flist ارسال دستور نمایش لیست فحش‌ها
cleanflist ارسال دستور پاکسازی لیست فحش‌ها

مدیریت گروه

دستور نحوه استفاده توضیحات
mute ریپلای روی کاربر سکوت کاربر (حذف خودکار پیام‌ها)
unmute ریپلای روی کاربر حذف سکوت
addmute ریپلای روی پیام حاوی آیدی افزودن سکوت با آیدی
delmute ریپلای روی پیام حاوی آیدی حذف سکوت با آیدی
mutelist ارسال دستور نمایش لیست سکوت
cleanmutelist ارسال دستور پاکسازی لیست سکوت
ban ریپلای روی کاربر بن کاربر در گروه
unban ریپلای روی کاربر حذف بن کاربر
info ارسال در گروه اطلاعات گروه (شامل ID)

دستورات کاربردی

دستور نحوه استفاده توضیحات
save ریپلای روی پیام ذخیره پیام در Saved Messages
data ریپلای روی پیام اطلاعات کامل پیام
id ریپلای روی کاربر اطلاعات کاربر
fullinfo ریپلای روی کاربر اطلاعات کامل کاربر

📁 ساختار پروژه

xSelf/
│
├── xSelf.py              # فایل اصلی ربات (شامل تمام کدها)
├── requirements.txt       # وابستگی‌های پروژه
├── README.md             # مستندات (این فایل)
│
├── xself.db              # فایل دیتابیس (پس از اولین اجرا ایجاد می‌شود)
├── xSelf.session         # فایل session تلگرام (پس از اولین اجرا ایجاد می‌شود)
├── bot.log               # فایل لاگ (پس از اجرا ایجاد می‌شود)
│
└── downloads/            # پوشه دانلود فایل‌های موقت

توضیح فایل‌ها

  • xSelf.py: شامل تمام کدهای اصلی ربات، دستورات، هندلرها، دیتابیس و تنظیمات
  • requirements.txt: لیست پکیج‌های مورد نیاز
  • xself.db: دیتابیس SQLite که تمام اطلاعات در آن ذخیره می‌شود
  • xSelf.session: فایل session تلگرام (نباید به اشتراک گذاشته شود)

⚠️ نکات مهم

امنیت

  1. هرگز فایل xSelf.session را به اشتراک نگذارید! این فایل دسترسی کامل به اکانت شما را دارد.
  2. API ID و API Hash را محرمانه نگه دارید.
  3. فایل xSelf.py را در Git commit نکنید اگر حاوی اطلاعات حساس است.

Rate Limiting

  • ربات به صورت خودکار لیمیت‌های تلگرام را مدیریت می‌کند
  • در صورت نیاز می‌توانید لیمیت‌ها را در xSelf.py تغییر دهید
  • توصیه می‌شود لیمیت‌ها را کاهش ندهید تا از فریز اکانت جلوگیری شود

دیتابیس

  • تمام اطلاعات در فایل xself.db ذخیره می‌شوند
  • پس از ری‌استارت ربات، تمام اطلاعات قبلی بازیابی می‌شوند
  • برای پاکسازی کامل، می‌توانید فایل xself.db را حذف کنید

محتوای تایمردار

  • عکس‌ها و ویدیوهای تایمردار به صورت خودکار دانلود و ذخیره می‌شوند
  • این فایل‌ها در پوشه downloads به صورت موقت ذخیره می‌شوند و پس از ارسال حذف می‌شوند

گروه ذخیره محتوا

  • ID گروه را در REALM_CHAT_IDS در فایل xSelf.py وارد کنید
  • ربات را به گروه اضافه کنید
  • به ربات دسترسی ارسال پیام بدهید
  • از دستور testrealm برای تست دسترسی استفاده کنید

🔧 مشکلات رایج

مشکل: "ModuleNotFoundError: No module named 'pyrogram'"

راه حل:

pip install -r requirements.txt

مشکل: "API_ID is empty"

راه حل:

  1. فایل xSelf.py را باز کنید
  2. API_ID و API_HASH را از my.telegram.org دریافت و وارد کنید

مشکل: "PhoneNumberInvalid"

راه حل:

  • شماره تلفن باید با فرمت بین‌المللی وارد شود
  • مثال صحیح: +989692842510
  • مثال اشتباه: 9692842510 یا 09692842510

مشکل: "FloodWait" یا "Rate limit exceeded"

راه حل:

  • این پیام‌ها طبیعی هستند و ربات به صورت خودکار مدیریت می‌کند
  • اگر زیاد تکرار می‌شود، لیمیت‌ها را در xSelf.py افزایش دهید

مشکل: "Peer id invalid" برای گروه ذخیره محتوا

راه حل:

  1. مطمئن شوید ربات عضو گروه است
  2. به ربات دسترسی ارسال پیام بدهید
  3. ID گروه را بررسی کنید (از دستور info در گروه استفاده کنید)
  4. از دستور testrealm برای تست دسترسی استفاده کنید

مشکل: اطلاعات پس از ری‌استارت پاک شده

راه حل:

  • مطمئن شوید که فایل xself.db حذف نشده است
  • بررسی کنید که دیتابیس به درستی initialize شده باشد

مشکل: پیام‌ها ذخیره نمی‌شوند

راه حل:

  1. ربات را به گروه اضافه کنید
  2. به ربات دسترسی ارسال پیام بدهید
  3. دستور testrealm را ارسال کنید
  4. اگر دسترسی پیدا کرد، پیام‌ها فوروارد می‌شوند

📊 لاگ‌ها

تمام فعالیت‌های ربات در فایل bot.log ذخیره می‌شوند. این فایل شامل:

  • اطلاعات راه‌اندازی
  • خطاها و هشدارها
  • اطلاعات لود داده‌ها از دیتابیس
  • فعالیت‌های Rate Limiting
  • اطلاعات فوروارد پیام‌ها

🎓 مثال استفاده

مثال 1: افزودن دشمن

  1. روی پیام کاربر ریپلای کنید
  2. دستور enemy را ارسال کنید
  3. کاربر به لیست دشمنان اضافه می‌شود و بلاک می‌شود

مثال 2: تنظیم گروه ذخیره محتوا

  1. فایل xSelf.py را باز کنید
  2. ID گروه را در REALM_CHAT_IDS وارد کنید:
    REALM_CHAT_IDS = [
        -1003385249171
    ]
  3. ربات را به گروه اضافه کنید
  4. ربات را ری‌استارت کنید
  5. تمام پیام‌ها به این گروه فوروارد می‌شوند

مثال 3: تست دسترسی

  1. دستور testrealm را ارسال کنید
  2. نتایج تست را مشاهده کنید
  3. اگر دسترسی ندارید، ربات را به گروه اضافه کنید

🤝 مشارکت

برای گزارش باگ یا پیشنهاد ویژگی جدید، لطفاً به کانال @xSelfChannel پیام دهید.


📄 مجوز

این پروژه برای استفاده شخصی است. استفاده تجاری نیاز به مجوز دارد.


👨‍💻 سازنده

@theesmaeil1


📢 کانال

برای دریافت آخرین به‌روزرسانی‌ها و پشتیبانی:

@xSelfChannel


📌 نکات نهایی

  • همه چیز در یک فایل: تمام کد در xSelf.py است
  • ذخیره‌سازی پایدار: تمام اطلاعات در دیتابیس ذخیره می‌شوند
  • مدیریت هوشمند: سیستم Rate Limiting از فریز اکانت جلوگیری می‌کند
  • پشتیبانی کامل: از تمام انواع محتوا پشتیبانی می‌کند

⚠️ هشدار: استفاده از Self Bot ممکن است با قوانین تلگرام در تضاد باشد. استفاده از این ربات به عهده خود شماست.


⭐ اگر این پروژه برای شما مفید بود، لطفاً ستاره دهید!

About

Self-managed account @xSelfChannel

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages