Skip to content

Commit

Permalink
Auto-translate README
Browse files Browse the repository at this point in the history
  • Loading branch information
Continuous Integration committed Sep 27, 2023
1 parent dd6e2ef commit 756b082
Show file tree
Hide file tree
Showing 4 changed files with 615 additions and 278 deletions.
223 changes: 154 additions & 69 deletions README.Arabic.md
Original file line number Diff line number Diff line change
@@ -1,99 +1,184 @@
# action-translate-readme
[# ChatGPT Telegram Bot

* [الإنجليزية](README.md)
* [قراءة الإصدار التقليدي ل README.md](README.zh-TW.md)
* [الصينية المبسطة](README.zh-CN.md)
* [فرنسي](README.French.md)
* [عربى](README.Arabic.md)
انضم إلى [مجموعة التيليجرام](https://t.me/+_01cz9tAkUc1YzZl) للتحدث عن تجربتك الشخصية أو الإبلاغ عن الأخطاء.

[English](./README.md) | [Simplified Chinese](./README.zh-CN.md) | [Traditional Chinese](./README.zh-TW.md)

# المقدمة
## ✨ المميزات

* نعلم جميعًا أن كتابة مستند README تستغرق وقتًا طويلاً ، ولكن الآن هناك حل يمكن أن يوفر لك النصف من وقتك. هذا هو `action-translate-readme` الخاص بنا
✅ يدعم ChatGPT و GPT4 API

* ترجمة إصدارات README المختلفة بواسطة `gpt3.5`
✅ يدعم البحث عبر الإنترنت باستخدام Duckduckgo و Google🔍. يتم توفير بحث DuckDuckGo بشكل افتراضي ، ويجب على المستخدم تطبيق API الرسمي لبحث Google. يمكن أن يوفر معلومات فورية لم يكن GPT قادرًا على الإجابة عليها من قبل ، مثل المشهد الساخن في Weibo اليوم ، والطقس في مكان معين اليوم ، وتقدم شخص معين أو أخبار.

* عن طريق ** Github Actions (CI / CD) التحميل التلقائي للكتابة(commit، push)** للملفات المترجمة
✅ يدعم سؤال وجواب الوثيقة بناءً على قاعدة بيانات المتجه المضمنة. في البحث ، يتم تنفيذ البحث الدلالي التلقائي للمستندات PDF التي تم البحث عنها ، ويتم استخراج المحتوى المتعلق ب PDF بناءً على قاعدة البيانات المتجهية. يدعم استخدام الأمر "qa" لتسجيل الموقع بالكامل باستخدام ملف "sitemap.xml" ، والإجابة على الأسئلة بناءً على قاعدة البيانات المتجهية ، وهو مناسب بشكل خاص لمواقع الوثائق ومواقع wiki لبعض المشاريع.

* على سبيل المثال: ** كتابة **أو** تعديل **إصدار README الإنجليزي، توليد إصدار README الصيني التقليدي و الصيني المبسط و الفرنسي... إلخ
✅ يدعم الانتقال بين نماذج GPT3.5 و GPT4 ونماذج أخرى من خلال أمر "info" في نافذة الدردشة

ملاحظة: يتم تحقيق المترجم في الإصدار v1 عن طريق حزمة جانبية من `Linux` ؛ ويتم تحقيق الإصدار v2 عن طريق استخدام برنامج [`g4f`](https://github.com/xtekky/gpt4free) لاستخدام ترخيص openai بشكل مجاني.
✅ يعالج الرسائل بشكل غير متزامن ، ويجيب على الأسئلة بأكثر من خط ، ويدعم الحوارات المعزولة ، ولكل مستخدم حوارات مختلفة

✅ يدعم تقديم Markdown الدقيق للرسائل ، باستخدام [مشروع] آخر (https://github.com/yym68686/md2tgmd) من مشاريعي

# كيفية الاستخدام؟
✅ يدعم الإخراج التدفقي ، ويحقق تأثير الآلة الكاتبة

1. انقر فوق رمز النجمة لإضافة هذا المشروع إلى مستودع GitHub الخاص بك.
✅ يدعم Whitelisting لمنع السوء المستخدم وتسريب المعلومات

2. تعيين `Github Token` الخاص بك:
✅ متعدد المنصات ، كسر حواجز المعرفة في أي وقت وفي أي مكان مع Telegram

* [قم بإنشاء **`Github Secret Token`** جديد](https://github.com/settings/tokens/new)
* إعداد
* تمكين المطور
* بيانات اعتماد الوصول الشخصية - `الرموز الكلاسيكية`
* إنشاء رمز جديد
* اختر النطاق: `repo` و `workflow`
* **حافظ** على الرمز السري الخاص بك (لا تفقده ، ستحتاج إليه في المستقبل)

<img src="https://github.com/Lin-jun-xiang/action-translate-readme/assets/63782903/b7487b49-817c-4925-b94a-bdb7b025a0c2" width=" 60%" />
✅ يدعم نقرة واحدة Zeabur ونشر Replit ويستند إلى التكلفة الصفرية الحقيقية ويدعم kuma anti-sleep. يدعم أيضًا Docker و Fly.io نشر

* أنشئ مفتاح سرّي جديد للـ **`repository secret`**
* في مستودعك - الإعدادات
* `Securits and variables`
* `Actions`
* `New repository secret`
* اضغط على `token` ثم قم بتسميته (مثل: `Action_Bot`)
## متغيرات البيئة

<img src="https://github.com/Lin-jun-xiang/action-translate-readme/assets/63782903/27dc7bcd-633f-431e-98e8-387b97ecd47c" width=" 60%" />
| اسم المتغير | التعليق |
| ------ | ------ |
| **BOT_TOKEN (مطلوب)** | رمز الروبوت Telegram. أنشئ الروبوت على [BotFather] (https://t.me/BotFather) للحصول على BOT_TOKEN. |
| **WEB_HOOK (مطلوب)** | عندما يتلقى الروبوت التيليجرام رسالة من مستخدم ، سيتم تمرير الرسالة إلى WEB_HOOK ، حيث سيستمع الروبوت إليه ويعالج الرسائل التي تم استلامها في الوقت المناسب. |
| **API (مطلوب)** | مفتاح OpenAI أو API من الجهات الخارجية. |
| API_URL (اختياري) | إذا كنت تستخدم API الرسمي لـ OpenAI ، فلا حاجة لتعيين هذا الإعداد. إذا كنت تستخدم API من الطرف الثالث ، فيجب عليك ملء موقع الوكيل من الطرف الثالث. الافتراضي هو: https://api.openai.com/v1/chat/completions |
| GPT_ENGINE (اختياري) | ضبط النموذج QA الافتراضي. الافتراضي هو: `gpt-3.5-turbo`. يتمكن المستخدم من تبديل هذا العنصر بحرية باستخدام أمر "info" الخاص بالروبوت ، ولا يحتاج إلى التعيين بشكل أساسي. |
| NICK (اختياري) | الافتراضي فارغ ؛ NICK هو اسم الروبوت. سيستجيب الروبوت فقط عندما تبدأ الرسالة بـ NICK الذي يدخله المستخدم ، وإلا سيستجيب الروبوت لأي رسالة. وخاصةً في دردشات المجموعات ، إذا لم يكن لديك NICK ، فسيتم الرد على جميع الرسائل. |
| PASS_HISTORY (اختياري) | الافتراضي هو صحيح. يتذكر الروبوت سجل المحادثة ويأخذ السياق بعين الاعتبار عند الرد في المرة القادمة. إذا تم تعيين false ، فسينسى الروبوت سجل المحادثة ويأخذ بعين الاعتبار فقط المحادثة الحالية. |
| GOOGLE_API_KEY (اختياري) | إذا كنت بحاجة إلى استخدام بحث Google ، فيجب عليك تعيينه. إذا لم تقم بتعيين هذا المتغير البيئي ، فسيكون البحث الافتراضي للروبوت هو بحث Duckduckgo. أنشئ أوراق اعتماد في [APIs & Services] لـ Google Cloud (https://console.cloud.google.com/apis/api/customsearch.googleapis.com) وستكون مفتاح API GOOGLE_API_KEY في صفحة الأوراق الاعتمادية. يمكن الاستعلام عن بحث Google 100 مرة في اليوم ، مما يكفي تمامًا للاستخدام الخفيف. عندما يتم الوصول إلى حد الاستخدام ، سيتم إيقاف تشغيل بحث Google تلقائيًا بالنسبة للروبوت. |
| GOOGLE_CSE_ID (اختياري) | إذا كنت بحاجة إلى استخدام بحث Google ، فيجب عليك تعيينه معا مع GOOGLE_API_KEY. أنشئ محرك بحث من خلال [Programmable Search Engine] (https://programmablesearchengine.google.com/) ، حيث يكون معرف محرك البحث قيمة GOOGLE_CSE_ID. |
| القائمة البيضاء (اختياري) | حدد المستخدمين الذين يمكنهم الوصول إلى الروبوت ، واعرض معرفات المستخدمين المصرح لهم باستخدام الروبوت بـ ','.

3. في الدليل `.github/workflows/your_action.yml`.، قم بإنشاء مثال عملك ، يمكنك نسخه مباشرة:
## zeabur نشر عن بعد (موصى به)

```
# .github/workflows/translate.yml
name: Translate Readme
نشر بنقرة واحدة:

on:
push:
branches: ['**']
[![اِنصَبِرْ] على النشر](https://zeabur.com/templates/R5JY5O?referralCode=yym68686)

jobs:
translate:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 3
إذا كنت بحاجة إلى تحديثات وظيفة متابعة ، فإن طريقة النشر التالية موصى بها:

- name: Auto Translate
uses: Lin-jun-xiang/action-translate-readme@v2 # Based on the tag
with:
token: ${{ secrets.Action_Bot }} # Based on step2 name
g4f_provider: g4f.Provider.DeepAi # You can change this provider
langs: "en,zh-TW,zh-CN,French,Arabic" # You can define any langs
```
شوكل هذا المستودع أولاً ، ثم سجّل في [Zeabur](https://zeabur.com) ، والحصة الحرة كافية للاستخدام الخفيف. قم بالاستيراد من مستودع Github الخاص بك واضبط اسم المجال (الذي يجب أن يتطابق مع WEB_HOOK) ومتغيرات البيئة ، وأعد نشره. إذا كنت بحاجة إلى تحديثات وظيفة في المتابعة ، فقط مزامنة هذا المستودع في المستودع الخاص بك وأعد النشر في Zeabur للحصول على أحدث الوظائف.

هناك ثلاثة معلمات في `.yml` يجب مراعاتها بشكل خاص:
## Replit نشر عن بعد

* `token`: الرمز السري الذي تم إنشاؤه بموجب الخطوة 2 في المستودع
* `g4f_provider`: مزود gpt ، يرجى الرجوع إلى [هذا الرابط](https://github.com/xtekky/gpt4free/tree/main#gpt-35--gpt-4) للحصول على مزيد من المعلومات
* `langs`: أي لغات تريد إنشاء إصدارات لها ، يرجى تحديدها بفصلها بـ `,` ، مثلاً:
* `"en"`: الإنجليزية فقط
* `"en,zh-TW"`: الإنجليزية، الصينية التقليدية
* `"French,Arabic"`: الفرنسية، العربية
[![Run on Repl.it](https://replit.com/badge/github/yym68686/ChatGPT-Telegram-Bot)](https://replit.com/new/github/yym68686/ChatGPT-Telegram-Bot)

4. يمكنك الآن تحديث `README.md` ، وسيتم إنشاء إصدار مترجم تلقائيًا!
بعد استيراد مستودع Github ، قم بتعيين أمر التشغيل

---
```bash
pip install -r requirements.txt > /dev/null && python3 main.py
```

# مثال توضيحي
حدد Secrets في الشريط الجانبي Tools ، وأضف متغيرات البيئة المطلوبة من الروبوت ، حيث:

![](./img/auto-translation.gif)
- WEB_HOOK: Replit سيُسند لك اسم مجال تلقائيًا ، قم بتعبئة `https://appname.username.repl.co` فيه
- تذكر فتح "Always On"

---
انقر فوق زر التشغيل في أعلى الشاشة لتشغيل الروبوت.

# نتائج الوثيقة الاختبارية
## Fly.io نشر عن بعد

* راجع [الوثيقة التجريبية](https://github.com/Lin-jun-xiang/vscode-extensions-best/tree/main)
* استخدم أداتنا لتحديث الوثيقة الاختبارية
التوثيق الرسمي: https://fly.io/docs/

<a href="#top">عودة إلى أعلى الصفحة</a>
استخدم صورة Docker لنشر تطبيق fly.io

```bash
flyctl launch --image yym68686/chatgpt:1.0
```

أدخل اسم التطبيق عند المطالبة بذلك ، وحدد No للبدء في Postgresql أو Redis.

اتبع التعليمات للنشر. يتم توفير اسم مجال ثانوي في لوحة التحكم الرسمية ، والذي يمكن استخدامه للوصول إلى الخدمة.

تعيين متغيرات البيئة

```bash
flyctl secrets set WEB_HOOK=https://flyio-app-name.fly.dev/
flyctl secrets set BOT_TOKEN=bottoken
flyctl secrets set API=
# اختياري
flyctl secrets set NICK=javis
```

عرض جميع متغيرات البيئة

```bash
flyctl secrets list
```

إزالة متغيرات البيئة

```bash
flyctl secrets unset MY_SECRET DATABASE_URL
```

ssh إلى حاوية fly.io

```bash
flyctl ssh issue --agent
# اتصال ssh
flyctl ssh establish
```

تحقق مما إذا كان عنوان URL للويب هو صحيحًا

```bash
https://api.telegram.org/bot<token>/getWebhookInfo
```

## Docker Local Deployment

بدء الحاوية

```bash
docker run -p 80:8080 -dit \
-e BOT_TOKEN="telegram bot token" \
-e WEB_HOOK="https://your_host.com/" \
-e API="" \
-e API_URL= \
yym68686/chatgpt:1.0
```

أو إذا كنت ترغب في استخدام Docker Compose ، فيما يلي مثالًا لـ docker-compose.yml:

```yaml
version: "3.5"
services:
chatgptbot:
container_name: chatgptbot
image: yym68686/chatgpt:1.0
environment:
- BOT_TOKEN=
- WEB_HOOK=
- API=
- API_URL=
ports:
- 80:8080
```
تشغيل حاوية Docker Compose في الخلفية
```bash
docker-compose up -d
```

حزم صورة Docker في مستودع الواجهة الأمامية وقم بتحميله على Docker Hub

```bash
docker build --no-cache -t chatgpt:1.0 -f Dockerfile.build --platform linux/amd64 .
docker tag chatgpt:1.0 yym68686/chatgpt:1.0
docker push yym68686/chatgpt:1.0
```

## مرجع

مشاريع المرجع:

https://core.telegram.org/bots/api

https://github.com/acheong08/ChatGPT

https://github.com/franalgaba/chatgpt-telegram-bot-serverless

https://github.com/gpchelkin/scdlbot/blob/d64d14f6c6d357ba818e80b8a0a9291c2146d6fe/scdlbot/__main__.py#L8

التقديم على Markdown للرسالة هو [مشروع] آخر (https://github.com/yym68686/md2tgmd) من مشاريعي.

## تاريخ النجمة

<a href="https://github.com/yym68686/ChatGPT-Telegram-Bot/stargazers">
<img width="500" alt="Star History Chart" src="https://api.star-history.com/svg?repos=yym68686/ChatGPT-Telegram-Bot&type=Date">
</a>
]
Loading

0 comments on commit 756b082

Please sign in to comment.