tkc / README.md
Skydata001's picture
Update README.md
d6e5fc8 verified
---
title: Discord Ticket Bot
emoji: 🎫
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 6.10.0
app_file: app.py
pinned: true
license: mit
---
# 🎫 Discord Ticket Bot | بوت نظام التذاكر
> نظام تذاكر متكامل ثنائي اللغة (عربي/إنجليزي) - Production Ready
> Full bilingual ticket system (Arabic/English) - Built with discord.py
---
## 📦 الملفات | Files
```
discord-ticket-bot/
├── main.py ← الكود الرئيسي للبوت
├── app.py ← نقطة دخول Hugging Face
├── requirements.txt ← المتطلبات
└── README.md ← هذا الملف
```
---
## 🚀 خطوات النشر على Hugging Face | Deployment Steps
### الخطوة 1 - إنشاء Space جديد
1. اذهب إلى: https://huggingface.co/spaces
2. اضغط على **"Create new Space"**
3. اختر الإعدادات التالية:
- **Space name:** `discord-ticket-bot` (أو أي اسم تريده)
- **License:** MIT
- **SDK:** اختر `Docker` أو `Gradio`
- **Hardware:** Free (CPU Basic) - كافٍ تماماً
4. اضغط **"Create Space"**
---
### الخطوة 2 - رفع الملفات
**الطريقة الأولى (عبر Git):**
```bash
git clone https://huggingface.co/spaces/USERNAME/discord-ticket-bot
cd discord-ticket-bot
# انسخ ملفاتك هنا
git add .
git commit -m "Add Discord Ticket Bot"
git push
```
**الطريقة الثانية (عبر واجهة الويب):**
1. افتح الـ Space الذي أنشأته
2. اضغط على تبويب **"Files"**
3. اضغط **"Add file"****"Upload files"**
4. ارفع الملفات: `main.py`, `app.py`, `requirements.txt`
---
### الخطوة 3 - إضافة TOKEN البوت ⚠️ مهم جداً
هذه أهم خطوة! لا تضع التوكن داخل الكود أبداً.
1. اذهب إلى إعدادات الـ Space: **Settings****Variables and secrets**
2. اضغط **"New secret"**
3. أدخل:
- **Name:** `TOKEN`
- **Value:** توكن بوتك من Discord Developer Portal
4. اضغط **"Save"**
> **ملاحظة:** الـ Secrets مشفّرة ولا يمكن لأحد رؤيتها، حتى أنت لن تراها بعد حفظها.
---
### الخطوة 4 - إعداد Discord Developer Portal
1. اذهب إلى: https://discord.com/developers/applications
2. افتح بوتك أو أنشئ جديداً
3. من قسم **Bot**:
- فعّل **"Message Content Intent"**
- فعّل **"Server Members Intent"**
- فعّل **"Presence Intent"**
4. من قسم **OAuth2****URL Generator**:
- Scopes: `bot`, `applications.commands`
- Bot Permissions:
- `Manage Channels` (لإنشاء Threads)
- `Send Messages`
- `Manage Messages` (لحذف الرسائل المخالفة)
- `Embed Links`
- `Attach Files`
- `Read Message History`
- `View Channels`
- `Create Public Threads`
- `Create Private Threads`
- `Manage Threads`
- `Send Messages in Threads`
5. انسخ الرابط وادع البوت لسيرفرك
---
### الخطوة 5 - ملاحظات مهمة لـ Hugging Face
إذا كنت تستخدم SDK = `gradio`، يحتاج Hugging Face لـ Gradio interface.
**الحل الأسهل:** استخدم Docker SDK.
#### إذا اخترت Docker:
أنشئ ملف `Dockerfile`:
```dockerfile
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "main.py"]
```
#### إذا اخترت Gradio (لإبقاء الـ Space حياً):
أضف هذا في بداية `app.py`:
```python
import threading
import gradio as gr
def run_bot():
import asyncio
import main as bot_main
asyncio.run(bot_main.main())
# تشغيل البوت في thread منفصل
bot_thread = threading.Thread(target=run_bot, daemon=True)
bot_thread.start()
# واجهة Gradio بسيطة لإبقاء الـ Space حياً
demo = gr.Interface(
fn=lambda: "🟢 Bot is Running | البوت يعمل",
inputs=[],
outputs="text",
title="Discord Ticket Bot Status"
)
if __name__ == "__main__":
demo.launch()
```
---
## ⚙️ الإعدادات القابلة للتعديل | Configuration
افتح `main.py` وعدّل هذه القيم في قسم `CONFIGURATION`:
```python
OWNER_ID = 1429183440485486679 # ← ID المالك
ERROR_CHANNEL_ID = 1488536752691085552 # ← قناة الأخطاء
TICKET_CHANNEL_ID = 1488536530019549344 # ← قناة التذاكر
LOG_CHANNEL_ID = 1488536921813680218 # ← قناة اللوق
TICKET_SLOWMODE = 10 # ← Slow Mode بالثواني
COOLDOWN_SECONDS = 60 # ← Cooldown بعد الإغلاق
```
---
## 🎮 أوامر البوت | Bot Commands
| الأمر | الوصف | الصلاحية |
|-------|--------|-----------|
| `/setup-ticket-panel` | إنشاء Panel التذاكر | المالك فقط |
| `/help` | كيفية فتح تذكرة | الجميع |
---
## 🛡️ ميزات الحماية | Protection Features
- ✅ منع السبام (رسائل/إيموجي/حروف عشوائية)
- ✅ منع فتح أكثر من تذكرة
- ✅ Cooldown 60 ثانية بعد الإغلاق
- ✅ Slow Mode 10 ثواني
- ✅ حظر الروابط والملفات
- ✅ حظر Voice Messages
- ✅ إعادة تشغيل تلقائية عند الانهيار
- ✅ إرسال الأخطاء للقناة المحددة
---
## 📝 ملاحظات مهمة | Important Notes
1. **Private Threads** تتطلب Server Boost Level 2، وإلا ستستخدم Public Threads تلقائياً
2. تأكد أن البوت لديه **Administrator** أو الصلاحيات المذكورة أعلاه
3. يجب أن يكون رتبة البوت **أعلى من رتب الموظفين** في قائمة الرتب
---
*Built with ❤️ using discord.py | مبني بـ discord.py*