Skip to content

Latest commit

 

History

History
154 lines (96 loc) · 4.77 KB

Readme-f.md

File metadata and controls

154 lines (96 loc) · 4.77 KB

📄 مستندات پروژه catcher

📝 فهرست مطالب

  1. مقدمه
  2. قابلیت ها
  3. راه اندازی
  4. تنظیمات
  5. نحوه استفاده
  6. قالب پایگاه داده
  7. مدیریت خطا
  8. گزارش گیری

📌 مقدمه


✨ قابلیت ها

✔️خواندن نام کاربری کانال ها از فایل متنی.

✔️ نظارت بر روی کانال های تلگرامی برای دریافت پیام های جدید.

✔️ استخراج قیمت ها از پیام ها تبدیل آنها به تومان.

✔️ ذخیره اطلاعات در پایگاه داده PostgreSQL

✔️ شناسایی شماره تلفن ها، لینک ها و اطلاعات مهم دیگر در رابطه با محصولات

✔️ تولید فایل CSV

✔️ پیوستن به کانال های مشابه وقتی که یک کانال به پیام های بیشتری در پایگاه داده نسبت به سایر کانال ها می رسد کانال های مشابه آن را از تلگرام دریافت می کند و در آنها عضو می شود


راه اندازی

1️⃣ پیش نیاز ها

  • +Python 3.8
  • PostgreSQL
  • Telethon
  • Asyncpg

2️⃣ دریافت کد از گیت هاب

git clone https://github.com/itisroach/catcher.git
cd catcher

3️⃣ نصب دیگر کتابخانه ها

pip install -r requirements.txt

4️⃣ راه اندازی PostgreSQL

ایجاد پایگاه داده و .env فایل و قرار دادن مشخصات پایگاه داده و Telegram API .

;CREATE DATABASE your_db_name

⚙️ تنظیمات

🔹 تنظیمات پایگاه داده (.env)

DB_USER=your_db_user
DB_PASSWORD=your_db_password
DB_NAME=your_db_name
DB_HOST=localhost
DB_PORT=5432

🔹 Telegram API تنظیمات (.env)

برای دریافت اطلاعات Telegram API برای حساب خود اینجا کلیک کنید

API_ID=your_telegram_api_id
API_HASH=your_telegram_api_hash
SESSION_NAME=your_session_name

🚀 نحوه استفاده

برنامه را اجرا کنید.

python main.py

کانال ها را اضافه کنید.

فایل متنی را ایجاد کنید و نام کاربری کانال ها را در هر خط وارد کنید.


🗄️ قالب پایگاه داده

Column Type Description
id SERIAL کلید اصلی
channel TEXT نام کاربری کانال
message_id BIGINT شناسه هر پیام
price_toman BIGINT قیمت به تومان
details TEXT اطلاعات در رابطه با محصول
post_link TEXT لینک پیام
website_links TEXT (n:m relation) لینک هایی که در پیام قرار داشته است
phone_numbers TEXT (n:m relation) شماره تلفن هایی که در پیام قرار داشته است
time TIMESTAMP تاریخ و ساعت دریافت پیام

🚨 مدیریت خطا

  • نام کاربری نامعتبر باشد ← نام کاربری را نادیده میگیرد و پیامی در کنسول نمایش میدهد.
  • قیمت نامعتبر باشد ← پیام را نادیده میگیرد
  • در اتصال به پایگاه داده خطایی رخ دهد ← به صورت خودکار پیام را در کنسول نمایش میدهد.

📊 گزارش گیری

تهیه گزارش

اگر میخواهید یک گزارش از داده ها بگیرید باید در Saved Messages حساب تلگرام خود وارد شوید و کلمه report را با فرمت ها زیر ارسال کنید:

  • report {channel_username} تمام داده های ذخیره شده آن کانال در پایگاه داده را دریافت میکنید
  • report {date} {greater|less|equal(default)} تمام داده های ذخیره شده با تاریخ وارد شده را دریافت میکنی.

سپس یک فایل CSV برای شما ارسال می شود که شامل داده های درخواست داده شما است.