ForexSignalBot: روبوت تيليجرام لإشارات الفوركس، مدعوم بالذكاء الاصطناعي، ذكي ومجاني ومفتوح المصدر 📈🤖✨🚀
- جرّب البوت مباشرة: https://t.me/trade_ai_helper_bot ✨
- فقط اضغط على الرابط لفتح البوت في تيليجرام وبدء التداول!
يمكنك تشغيل هذا المشروع بطريقتين: باستخدام Docker (موصى به للإعداد السريع) أو عن طريق إعداد بيئة محلية يدويًا.
شغّل حزمة التطبيق بأكملها—الـ API، قاعدة بيانات PostgreSQL، وذاكرة التخزين المؤقت Redis—في دقائق معدودة باستخدام Docker. هذه هي الطريقة الأسرع والأسهل للبدء.
- Docker Desktop: تأكد من أنه مثبت ويعمل على نظامك. قم بتنزيله من هنا.
افتح الطرفية (terminal) وانسخ الكود المصدري للمشروع.
git clone https://github.com/Opselon/ForexTradingBot.git
cd ForexTradingBotيتطلب التطبيق مفاتيح API وكلمات مرور. نستخدم ملف .env لهذا الغرض، والذي يبقى خاصًا.
-
إنشاء ملف البيئة:
cp .env.example .env
-
تعديل ملف
.env: افتح ملف.envالجديد واملأه بقيمك السرية الحقيقية.TELEGRAM_BOT_TOKEN: احصل عليه من@BotFatherعلى تيليجرام.POSTGRES_PASSWORD: أنشئ كلمة مرور قوية وآمنة لقاعدة بياناتك.
أثناء تشغيل Docker، نفذ أمرًا واحدًا من المجلد الجذري للمشروع:
docker-compose up --build -dيقوم هذا الأمر ببناء وتشغيل حاويات الـ API و PostgreSQL و Redis. تم تكوين الـ API لتنفيذ ترحيلات قاعدة البيانات (migrations) تلقائيًا عند بدء التشغيل.
يحتاج البوت إلى قائمة أولية من خلاصات RSS. اتصل بقاعدة البيانات باستخدام عميل مثل DBeaver أو DataGrip وقم بتشغيل سكربت Populate_RssSources_Categories.sql.
- المضيف (Host):
localhost - المنفذ (Port):
5432 - قاعدة البيانات (Database):
forexsignalbot_db - المستخدم (User):
postgres - كلمة المرور (Password): هي
POSTGRES_PASSWORDالتي قمت بتعيينها في ملف.env.
🎉 هذا كل شيء! البوت الخاص بك يعمل الآن داخل Docker.
اتبع هذه الخطوات إذا كنت تفضل تشغيل التطبيق مباشرة على جهازك.
-
NET 9 SDK:
- قم بتثبيت NET 9 SDK (الإصدار 9.0.107 أو أحدث).
- صفحة التنزيل: https://dotnet.microsoft.com/en-us/download/dotnet/9.0
- تحقق من التثبيت عن طريق تشغيل
dotnet --version.
-
قاعدة بيانات PostgreSQL:
- قم بتثبيت وتشغيل خادم PostgreSQL محلي.
- أنشئ قاعدة بيانات ومستخدمًا.
- حدّث سلسلة الاتصال (connection string) في ملف
appsettings.Development.json.
-
خادم Redis:
- يُستخدم Redis للتخزين المؤقت ومعالجة المهام في الخلفية.
- لنظام Windows: قم بتثبيت خادم متوافق مع Redis مثل Memurai.
- دليل التثبيت: https://docs.memurai.com/en/installation.html
- لـ macOS/Linux: قم بالتثبيت عبر مدير الحزم (مثل
brew install redisأوsudo apt-get install redis-server).
للمطورين الذين يفضلون تشغيل التطبيق مباشرة على أجهزتهم، اتبعوا هذه الخطوات:
- انسخ المستودع (إذا لم تكن قد فعلت ذلك بالفعل).
- قم بتهيئة
appsettings.Development.jsonبسلسلة اتصال قاعدة البيانات المحلية والإعدادات الأخرى. - طبق ترحيلات قاعدة البيانات (migrations):
dotnet ef database update --startup-project WebApi --project Infrastructure
- املأ قاعدة البيانات عن طريق تشغيل سكربت
Populate_RssSources_Categories.sqlعلى قاعدة بياناتك المحلية. - شغّل الـ API:
dotnet run --project WebApi
للحصول على تفاصيل أكثر شمولاً وإرشادات النشر في بيئة الإنتاج، يرجى الرجوع إلى دليل INSTALL.md المخصص.
يحتوي هذا القسم على أوامر شائعة للتطوير.
قبل تشغيل هذه الأوامر، تأكد من تثبيت أدوات EF Core: dotnet tool install --global dotnet-ef
-
إضافة ترحيل جديد: عند تغيير نموذج المجال (domain model)، أنشئ ترحيلًا جديدًا.
dotnet ef migrations add YourMigrationName --startup-project WebApi --project Infrastructure
(استبدل
YourMigrationNameباسم وصفي، مثلAddSignalStatus) -
تطبيق الترحيلات: لتحديث مخطط قاعدة البيانات يدويًا.
dotnet ef database update --startup-project WebApi --project Infrastructure
لتجميع التطبيق في ملف تنفيذي مستقل جاهز للنشر:
# مثال لنسخة مستقلة لنظام Windows x64
dotnet publish --configuration Release --runtime win-x64 --self-contained true --project WebApi- سيكون الناتج في المجلد
WebApi/bin/Release/net9.0/win-x64/publish.
هذه هي عملية الإعداد الجديدة والمبسطة.
- افتح لوحة التحكم على الويب: انتقل إلى http://localhost:5000/login.html في متصفحك.
- تسجيل الدخول: استخدم بيانات الاعتماد الافتراضية:
- اسم المستخدم:
admin - كلمة المرور:
admin(سيُطلب منك تغيير هذه التفاصيل الحساسة أثناء عملية الإعداد لأول مرة في واجهة الويب لتعزيز الأمان.)
- اسم المستخدم:
- الإعداد الموجه: بعد تسجيل الدخول لأول مرة، سيتم توجيهك تلقائيًا إلى صفحة إعداد آمنة (
/indexapp.html).- في هذه الصفحة، سيُطلب منك إدخال توكن بوت تيليجرام والإعدادات الأساسية الأخرى.
- سيقوم النظام باختبار بيانات الاعتماد الخاصة بك مباشرة للتأكد من صلاحيتها قبل الحفظ.
- بمجرد الحفظ، يتم تخزين هذه الإعدادات بشكل آمن في قاعدة البيانات، وليس في ملفات نصية عادية.
- تعبئة قاعدة البيانات: بعد الإعداد الأولي، سيُطلب منك تعبئة قاعدة البيانات. انقر على زر "Seed Database" في واجهة الويب. سيؤدي هذا إلى ملء القائمة الأولية لخلاصات RSS والبيانات المطلوبة الأخرى.
🎉 هذا كل شيء! البوت الخاص بك الآن مُهيأ بالكامل وجاهز للعمل. يمكنك إدارة كل شيء من لوحة التحكم على الويب.

إذا وجدت هذا المشروع مفيدًا، فلا تتردد في منحه نجمة 🌟
نحن نوفر ملفات README بلغات متعددة لجعل مشروعنا متاحًا للمستخدمين في جميع أنحاء العالم. اختر لغتك المفضلة أدناه:
| اللغة | رمز اللغة | ملف README | الحالة |
|---|---|---|---|
| الإنجليزية | 🇺🇸 EN | README.md | ✅ مكتمل |
| الروسية | 🇷🇺 RU | README_RU.md | ✅ مكتمل |
| الفارسية | 🇮🇷 FA | README_FA.md | ✅ مكتمل |
| الصينية | 🇨🇳 ZH | README_ZH.md | ✅ مكتمل |
| الإسبانية | 🇪🇸 ES | README_ES.md | ✅ مكتمل |
| الفرنسية | 🇫🇷 FR | README_FR.md | ✅ مكتمل |
| الألمانية | 🇩🇪 DE | README_DE.md | ✅ مكتمل |
| التركية | 🇹🇷 TR | README_TR.md | ✅ مكتمل |
| العربية | 🇸🇦 AR | README_AR.md | ✅ مكتمل |
| الهندية | 🇮🇳 HI | README_HI.md | ✅ مكتمل |
| الإيطالية | 🇮🇹 IT | README_IT.md | ✅ مكتمل |
| البرتغالية | 🇵🇹 PT | README_PT.md | ✅ مكتمل |
يحتوي كل ملف README على وثائق المشروع الكاملة، وتعليمات الإعداد، والميزات المترجمة إلى اللغة المعنية. يتم تحديث جميع الملفات باستمرار بأحدث معلومات المشروع.
