ForexSignalBot: AI-संचालित टेलीग्राम फ़ॉरेक्स सिग्नल / टेलीग्राम बॉट ऑटो फॉरवर्डर, स्मार्ट, मुफ़्त और ओपन-सोर्स 📈🤖✨🚀
- लाइव बॉट: https://t.me/trade_ai_helper_bot ✨
- बॉट को टेलीग्राम में खोलने और ट्रेडिंग शुरू करने के लिए बस लिंक पर क्लिक करें!
आप इस प्रोजेक्ट को दो तरीकों से चला सकते हैं: डॉकर के साथ (त्वरित सेटअप के लिए अनुशंसित) या मैन्युअल रूप से एक स्थानीय वातावरण स्थापित करके।
पूरे एप्लिकेशन स्टैक — API, PostgreSQL डेटाबेस, और Redis कैश — को डॉकर के साथ मिनटों में चालू करें। यह शुरू करने का सबसे तेज़ और आसान तरीका है।
- Docker Desktop: सुनिश्चित करें कि यह आपके सिस्टम पर स्थापित और चल रहा है। इसे यहाँ से डाउनलोड करें।
अपना टर्मिनल खोलें और प्रोजेक्ट के स्रोत कोड को क्लोन करें।
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-compose up --build -dयह कमांड API, PostgreSQL, और Redis कंटेनरों को बनाता है और शुरू करता है। API को स्टार्टअप पर स्वचालित रूप से डेटाबेस माइग्रेशन लागू करने के लिए कॉन्फ़िगर किया गया है।
बॉट को RSS फ़ीड्स की एक प्रारंभिक सूची की आवश्यकता है। DBeaver या DataGrip जैसे क्लाइंट का उपयोग करके डेटाबेस से कनेक्ट करें और Populate_RssSources_Categories.sql स्क्रिप्ट चलाएँ।
- होस्ट:
localhost - पोर्ट:
5432 - डेटाबेस:
forexsignalbot_db - उपयोगकर्ता:
postgres - पासवर्ड: वह
POSTGRES_PASSWORDजो आपने.envमें सेट किया है।
🎉 बस हो गया! आपका बॉट अब डॉकर के अंदर चल रहा है।
यदि आप एप्लिकेशन को सीधे अपनी मशीन पर चलाना पसंद करते हैं तो इन चरणों का पालन करें।
-
.NET 9 SDK:
- .NET 9 SDK (v9.0.107 या बाद का) स्थापित करें।
- डाउनलोड पृष्ठ: https://dotnet.microsoft.com/en-us/download/dotnet/9.0
dotnet --versionचलाकर अपनी स्थापना की पुष्टि करें।
-
PostgreSQL डेटाबेस:
- एक स्थानीय PostgreSQL सर्वर स्थापित करें और चलाएँ।
- एक डेटाबेस और एक उपयोगकर्ता बनाएँ।
appsettings.Development.jsonफ़ाइल में अपनी कनेक्शन स्ट्रिंग को अपडेट करें।
-
Redis सर्वर:
- Redis का उपयोग कैशिंग और बैकग्राउंड जॉब प्रोसेसिंग के लिए किया जाता है।
- विंडोज के लिए: Memurai जैसा Redis-संगत सर्वर स्थापित करें।
- स्थापना गाइड: https://docs.memurai.com/en/installation.html
- macOS/Linux के लिए: एक पैकेज मैनेजर के माध्यम से स्थापित करें (जैसे,
brew install redisयाsudo apt-get install redis-server)।
उन डेवलपर्स के लिए जो एप्लिकेशन को सीधे अपनी मशीन पर चलाना पसंद करते हैं, इन चरणों का पालन करें:
- रिपॉजिटरी को क्लोन करें (यदि आपने पहले से नहीं किया है)।
appsettings.Development.jsonको कॉन्फ़िगर करें अपनी स्थानीय डेटाबेस कनेक्शन स्ट्रिंग और अन्य सेटिंग्स के साथ।- डेटाबेस माइग्रेशन लागू करें:
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
-
एक नया माइग्रेशन जोड़ें: जब आप एक डोमेन मॉडल बदलते हैं, तो एक नया माइग्रेशन बनाएँ।
dotnet ef migrations add YourMigrationName --startup-project WebApi --project Infrastructure
(
YourMigrationNameको एक वर्णनात्मक नाम से बदलें, जैसे,AddSignalStatus) -
माइग्रेशन लागू करें: डेटाबेस स्कीमा को मैन्युअल रूप से अपडेट करने के लिए।
dotnet ef database update --startup-project WebApi --project Infrastructure
एप्लिकेशन को परिनियोजन के लिए एक स्व-निहित निष्पादन योग्य में संकलित करने के लिए:
# एक स्व-निहित विंडोज 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(आपको बेहतर सुरक्षा के लिए वेब UI में पहली बार सेटअप प्रक्रिया के दौरान इन संवेदनशील विवरणों को बदलने के लिए प्रेरित किया जाएगा।)
- यूज़रनेम:
- निर्देशित सेटअप: पहली बार लॉग इन करने के बाद, आपको स्वचालित रूप से एक सुरक्षित सेटअप पृष्ठ (
/indexapp.html) पर पुनः निर्देशित किया जाएगा।- इस पृष्ठ पर, आपको अपना टेलीग्राम बॉट टोकन और अन्य कोर सेटिंग्स दर्ज करने के लिए प्रेरित किया जाएगा।
- सिस्टम सहेजने से पहले आपके क्रेडेंशियल्स की वैधता सुनिश्चित करने के लिए लाइव-टेस्ट करेगा।
- एक बार सहेजे जाने के बाद, ये सेटिंग्स सादे टेक्स्ट फ़ाइलों में नहीं, बल्कि डेटाबेस में सुरक्षित रूप से संग्रहीत की जाती हैं।
- डेटाबेस सीडिंग: प्रारंभिक सेटअप के बाद, आपको डेटाबेस को सीड करने के लिए प्रेरित किया जाएगा। वेब UI में "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 फ़ाइल में संबंधित भाषा में अनुवादित संपूर्ण प्रोजेक्ट दस्तावेज़ीकरण, सेटअप निर्देश और सुविधाएँ शामिल हैं। सभी फ़ाइलों को नवीनतम प्रोजेक्ट जानकारी के साथ अद्यतित रखा जाता है।
