بوت Telegram احترافي لتحميل الموسيقى من YouTube مع تحسين البيانات الوصفية باستخدام الذكاء الاصطناعي.
- 🔍 البحث الذكي: البحث في YouTube باستخدام API الرسمي
- ⬇️ تحميل عالي الجودة: استخدام yt-dlp لتحميل الصوت بجودة 320kbps
- ⚙️ معالجة متقدمة: معالجة الصوت باستخدام FFmpeg (تطبيع، إزالة الصمت)
- 🤖 ذكاء اصطناعي: تحسين البيانات الوصفية باستخدام GPT
- 🏷️ بيانات وصفية كاملة: إضافة اسم الفنان، الأغنية، والغلاف تلقائياً
- 📱 واجهة سهلة: أوامر بسيطة وواجهة عربية
- 🛡️ آمان وموثوقية: معالجة أخطاء شاملة وتنظيف تلقائي للملفات
- Python 3.8 أو أحدث
- FFmpeg مثبت على النظام
- مفاتيح API (Telegram Bot, YouTube Data API, OpenAI API)
git clone https://github.com/your-username/telegram-music-bot.git
cd telegram-music-botpip install -r requirements.txtsudo apt update
sudo apt install ffmpegbrew install ffmpegقم بتحميل FFmpeg من الموقع الرسمي وإضافته إلى PATH.
انسخ ملف .env.example إلى .env وقم بتعديل القيم:
cp .env.example .envقم بتعديل الملف .env:
# Telegram Bot Configuration
TELEGRAM_BOT_TOKEN=your_telegram_bot_token_here
# YouTube API Configuration
YOUTUBE_API_KEY=your_youtube_api_key_here
# OpenAI API Configuration
OPENAI_API_KEY=your_openai_api_key_here
OPENAI_MODEL=gpt-3.5-turbo
# Audio Settings
AUDIO_QUALITY=320
AUDIO_FORMAT=mp3
# File Management
TEMP_DIR=./temp
MAX_FILE_SIZE=50
CLEANUP_AFTER_SEND=true
# Bot Behavior
MAX_SEARCH_RESULTS=5
DEFAULT_LANGUAGE=ar
# Logging
LOG_LEVEL=INFO
LOG_FILE=bot.log
# Rate Limiting
MAX_DOWNLOADS_PER_USER=10
RATE_LIMIT_WINDOW=3600python main.py- ابحث عن @BotFather في Telegram
- أرسل
/newbotوتابع التعليمات - احفظ التوكن الذي ستحصل عليه
- اذهب إلى Google Cloud Console
- أنشئ مشروع جديد أو اختر مشروع موجود
- فعّل YouTube Data API v3
- أنشئ مفتاح API وقم بتقييده لـ YouTube Data API
- اذهب إلى OpenAI Platform
- أنشئ حساب أو سجل دخول
- اذهب إلى API Keys وأنشئ مفتاح جديد
/start- بدء البوت وعرض الترحيب/help- عرض المساعدة والتعليمات/download <اسم الأغنية>- تحميل أغنية محددة
Fairuz - Li Beirut
https://www.youtube.com/watch?v=dQw4w9WgXcQ
https://youtu.be/dQw4w9WgXcQ
- ابدأ محادثة مع البوت
- أرسل
/startللترحيب - أرسل اسم الأغنية:
محمد عبده - أبعد من الشوق - انتظر حتى يتم التحميل والمعالجة
- استلم الملف مع البيانات الوصفية كاملة!
telegram-music-bot/
├── src/ # الكود المصدري
│ ├── bot/ # بوت Telegram
│ │ ├── __init__.py
│ │ ├── telegram_bot.py # البوت الرئيسي
│ │ └── handlers.py # معالجات الأوامر
│ ├── youtube/ # وحدة YouTube
│ │ ├── __init__.py
│ │ └── youtube_api.py # YouTube API
│ ├── audio/ # معالجة الصوت
│ │ ├── __init__.py
│ │ ├── downloader.py # تحميل الصوت
│ │ ├── audio_processor.py # معالجة FFmpeg
│ │ └── metadata_tagger.py # إضافة البيانات
│ ├── ai/ # الذكاء الاصطناعي
│ │ ├── __init__.py
│ │ └── ai_metadata.py # تحسين البيانات
│ └── utils/ # أدوات مساعدة
│ ├── __init__.py
│ ├── logger.py # نظام التسجيل
│ ├── validators.py # التحقق من البيانات
│ └── file_manager.py # إدارة الملفات
├── config.py # إعدادات التطبيق
├── main.py # ملف التشغيل الرئيسي
├── requirements.txt # متطلبات Python
├── .env.example # مثال متغيرات البيئة
├── .gitignore # ملفات Git المتجاهلة
└── README.md # هذا الملف
# في config.py
AUDIO_QUALITY = '320' # جودة الصوت (kbps)
AUDIO_FORMAT = 'mp3' # صيغة الصوت
MAX_FILE_SIZE = 50 # الحد الأقصى لحجم الملف (MB)OPENAI_MODEL = 'gpt-3.5-turbo' # نموذج GPTMAX_DOWNLOADS_PER_USER = 10 # عدد التحميلات المسموح لكل مستخدم
RATE_LIMIT_WINDOW = 3600 # نافزة زمنية (ثانية)# تأكد من تثبيت FFmpeg
ffmpeg -version
# إذا لم يكن مثبت، قم بتثبيته
sudo apt install ffmpeg # Ubuntu/Debian
brew install ffmpeg # macOS- تأكد من صحة مفتاح YouTube API
- تأكد من تفعيل YouTube Data API v3
- تحقق من حدود الاستخدام
- تأكد من صحة مفتاح OpenAI API
- تحقق من رصيد الحساب
- تأكد من صحة اسم النموذج
# تأكد من أذونات مجلد الملفات المؤقتة
chmod 755 ./tempيتم حفظ السجلات في:
bot.log- جميع الأحداثbot_errors.log- الأخطاء فقط
لعرض السجلات المباشرة:
tail -f bot.log- انسخ المشروع إلى الخادم
- ثبت المتطلبات
- أنشئ خدمة systemd:
sudo nano /etc/systemd/system/telegram-music-bot.service[Unit]
Description=Telegram Music Bot
After=network.target
[Service]
Type=simple
User=your-user
WorkingDirectory=/path/to/telegram-music-bot
ExecStart=/usr/bin/python3 main.py
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target- فعّل وابدأ الخدمة:
sudo systemctl enable telegram-music-bot
sudo systemctl start telegram-music-botFROM python:3.9-slim
# تثبيت FFmpeg
RUN apt-get update && apt-get install -y ffmpeg
# نسخ الملفات
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
# تشغيل البوت
CMD ["python", "main.py"]docker build -t telegram-music-bot .
docker run -d --name music-bot telegram-music-botنرحب بالمساهمات! يرجى:
- عمل Fork للمشروع
- إنشاء branch جديد للميزة
- إجراء التغييرات مع اختبارها
- إرسال Pull Request
- اتبع نمط الكود الموجود
- أضف تعليقات باللغة العربية
- اختبر التغييرات قبل الإرسال
- حدث التوثيق عند الحاجة
هذا المشروع مرخص تحت رخصة MIT. راجع ملف LICENSE للتفاصيل.
- python-telegram-bot - مكتبة Telegram Bot
- yt-dlp - تحميل الفيديوهات
- FFmpeg - معالجة الصوت والفيديو
- OpenAI - الذكاء الاصطناعي
- Mutagen - معالجة البيانات الوصفية
إذا واجهت أي مشاكل أو لديك أسئلة:
- تحقق من الأسئلة الشائعة
- ابحث في Issues
- أنشئ Issue جديد مع تفاصيل المشكلة
تم تطويره بـ ❤️ للمجتمع العربي