# Python बॉट डिप्लॉय करें

> Daki Hosting पर Python Discord बॉट (discord.py या py-cord) डिप्लॉय करने की चरण-दर-चरण गाइड।

यह गाइड आपको Daki Hosting पर Python Discord बॉट डिप्लॉय करने के पूरे रास्ते पर ले जाती है — सर्वर बनाने से लेकर अपना बॉट टोकन सुरक्षित रूप से पढ़ने और लाइव होने तक।

## आप क्या सीखेंगे

- अपने बॉट के लिए Python सर्वर कैसे बनाएँ
- अपना कोड कैसे अपलोड करें
- install command, startup command और Python वर्शन कैसे कॉन्फ़िगर करें
- `.env` फ़ाइल से बॉट टोकन सुरक्षित रूप से कैसे सेट करें
- बॉट कैसे शुरू करें और जाँचें कि वह काम करता है

---

## पूर्वापेक्षाएँ

- एक Daki अकाउंट (Free Tier या पेड) — देखें [अकाउंट बनाएँ](https://daki.cc/hi/wiki/guides/account-create)
- एक Discord बॉट जिसका **bot token** हो, जो [Discord Developer Portal](https://discord.com/developers/applications) में बना हो
- आपके बॉट का सोर्स कोड, जिसके साथ एक `requirements.txt` हो जिसमें सभी डिपेंडेंसी सूचीबद्ध हों (जैसे `discord.py` या `py-cord`, और `python-dotenv`)

> **जानकारी:** Discord बॉट Discord के सर्वरों से **आउटबाउंड** कनेक्ट होते हैं और उन्हें इनबाउंड पोर्ट की ज़रूरत नहीं होती। इसका मतलब है कि Discord बॉट Free Tier और पेड दोनों प्लान पर चलते हैं। अगर आपका बॉट HTTP सर्वर भी चलाता है (जैसे webhooks या वेब डैशबोर्ड के लिए), तो आपको पेड प्लान चाहिए, क्योंकि सार्वजनिक पोर्ट केवल पेड प्लान पर उपलब्ध हैं। देखें [Network & Allocations](https://daki.cc/hi/wiki/guides/network-allocations)।

---

## डिप्लॉयमेंट

**चरण 1: Python सर्वर बनाएँ**

1. [free.daki.cc](https://free.daki.cc) पर Free Tier Dashboard में, या [billing.daki.cc](https://billing.daki.cc) पर Billing Panel में लॉग इन करें।
2. नया सर्वर बनाएँ और **Python** egg चुनें।
3. अपने सर्वर को एक नाम दें (जैसे `MyPythonBot`)।

पूरी प्रक्रिया के लिए देखें [अपना पहला सर्वर बनाएँ](https://daki.cc/hi/wiki/guides/create-server)।

**चरण 2: Portal खोलें**

SSO से या सीधे [portal.daki.cc](https://portal.daki.cc) पर Portal में लॉग इन करें। देखें [Portal का अवलोकन](https://daki.cc/hi/wiki/guides/portal)।

**चरण 3: अपने बॉट का कोड अपलोड करें**

**विकल्प A — ZIP के रूप में अपलोड (सबसे सरल):**
1. अपने प्रोजेक्ट फ़ोल्डर को `.zip` फ़ाइल में कंप्रेस करें।
2. Portal में **Files** टैब पर जाएँ और **Upload** पर क्लिक करें।
3. `.zip` पर राइट-क्लिक करें और **Extract** पर क्लिक करें।

**विकल्प B — SFTP इस्तेमाल करें (आकार की कोई सीमा नहीं):**
**Settings** टैब से अपने SFTP क्रेडेंशियल का इस्तेमाल करके फ़ोल्डर सीधे अपलोड करें। देखें [File Manager](https://daki.cc/hi/wiki/guides/file-manager)।

> **जानकारी:** अपने प्रोजेक्ट के रूट में एक `requirements.txt` शामिल करें। install command इसी से आपकी डिपेंडेंसी इंस्टॉल करता है।

**चरण 4: Startup टैब कॉन्फ़िगर करें**

**Startup** टैब खोलें और तीनों फ़ील्ड कॉन्फ़िगर करें:

**1. Docker Image** — वह Python वर्शन चुनें जिसकी आपके बॉट को ज़रूरत है (जैसे **Python 3.13**)। अगर पक्का न हो, तो Python 3.13 एक सुरक्षित डिफ़ॉल्ट है; नए वर्शन तब चलते हैं जब आपकी सभी लाइब्रेरी उन्हें सपोर्ट करती हों। **EOL** चिह्नित वर्शन से बचें, क्योंकि उन्हें अब सुरक्षा अपडेट नहीं मिलते।

**2. Install Command** — अपनी डिपेंडेंसी अपने-आप इंस्टॉल करने के लिए यह सेट करें:
```
pip install -r requirements.txt
```
**3. Startup Command** — इसे उस कमांड पर सेट करें जो आपका बॉट चलाती है:
- `python main.py` — अगर आपकी एंट्री फ़ाइल `main.py` है
- `python bot.py` — अगर आपकी एंट्री फ़ाइल `bot.py` है
- `python -m mypackage` — अगर आपका प्रोजेक्ट एक पैकेज के रूप में संरचित है

इन कमांड को अपने प्रोजेक्ट की संरचना और ज़रूरतों के अनुसार बदलने के लिए आप स्वतंत्र हैं।

पूरी जानकारी के लिए देखें [स्टार्टअप सेटिंग](https://daki.cc/hi/wiki/guides/startup-settings)।

**चरण 5: .env फ़ाइल से बॉट टोकन जोड़ें**

अपना Discord बॉट टोकन सर्वर पर `.env` फ़ाइल में रखें, ताकि वह कभी आपके सोर्स कोड में न दिखे।

1. **Files** टैब में **New File** पर क्लिक करें और उसका नाम `.env` रखें।
2. अपना टोकन जोड़ें:
   ```
   BOT_TOKEN=your_discord_bot_token_here
   ```
3. **Save** पर क्लिक करें।

पक्का करें कि `python-dotenv` आपकी `requirements.txt` में है, फिर अपने कोड में फ़ाइल लोड करें:

```python

from dotenv import load_dotenv

import os

import discord



load_dotenv()

TOKEN = os.environ.get("BOT_TOKEN")



intents = discord.Intents.default()

client = discord.Client(intents=intents)



@client.event

async def on_ready():

    print(f"Logged in as {client.user}")



client.run(TOKEN)

```
`.env` फ़ाइलों के इस्तेमाल के बारे में अधिक जानकारी के लिए देखें [एनवायरनमेंट वेरिएबल](https://daki.cc/hi/wiki/guides/environment-variables)।

**चरण 6: अपना बॉट शुरू करें**

**Console** टैब में **Start** पर क्लिक करें। सफल लॉन्च पर यह प्रिंट होगा:

```

Logged in as MyBot#1234

```
अगर एरर दिखें, तो [समस्या निवारण](https://daki.cc/hi/wiki/guides/troubleshooting) गाइड देखें।

---

## आम समस्याएँ

**ModuleNotFoundError: No module named 'discord'**

आपकी डिपेंडेंसी इंस्टॉल नहीं हुईं। जाँचें कि `discord.py` या `py-cord` `requirements.txt` में सूचीबद्ध है, और Startup टैब में install command `pip install -r requirements.txt` पर सेट है। इंस्टॉल शुरू करने के लिए सर्वर रीस्टार्ट करें।

**ModuleNotFoundError: No module named 'dotenv'**

`python-dotenv` को अपनी `requirements.txt` में जोड़ें और सर्वर रीस्टार्ट करें।

**discord.errors.LoginFailure: Improper token has been passed**

`.env` फ़ाइल में आपका टोकन गलत है या गायब है। Files टैब में `.env` फ़ाइल खोलें और मान ध्यान से जाँचें। किसी भी अतिरिक्त स्पेस या कोटेशन मार्क को हटा दें।

**PrivilegedIntentsRequired error**

आपका बॉट ऐसे intents माँग रहा है जो Discord Developer Portal में चालू नहीं हैं। अपने बॉट एप्लिकेशन की सेटिंग में ज़रूरी privileged intents (जैसे Message Content Intent) चालू करें, और सुनिश्चित करें कि आपका कोड भी वही intents माँगता है।

**सर्वर स्टार्ट होते ही क्रैश हो जाता है**

एरर के लिए Console आउटपुट पढ़ें। आम कारण: गलत startup command (फ़ाइलनाम में टाइपो या गलत पाथ), गायब `requirements.txt`, या कोई पैकेज गायब। देखें [समस्या निवारण](https://daki.cc/hi/wiki/guides/troubleshooting)।

---

## अगले कदम

- [एनवायरनमेंट वेरिएबल](https://daki.cc/hi/wiki/guides/environment-variables) — `.env` फ़ाइलों और कोड में वेरिएबल पढ़ने की पूरी गाइड।
- [अपना मुफ़्त सर्वर सक्रिय रखें](https://daki.cc/hi/wiki/guides/save-free-server-from-purge) — अपना Free Tier सर्वर चालू रखने के लिए नियमित रूप से विज्ञापन देखें।
- [File Manager](https://daki.cc/hi/wiki/guides/file-manager) — बदलाव करने के बाद अपना कोड अपडेट करें।

---
Source: https://daki.cc/hi/wiki/guides/deploy-python
