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 Feb 11, 2025
1 parent ae20838 commit ae913fd
Show file tree
Hide file tree
Showing 3 changed files with 277 additions and 235 deletions.
196 changes: 105 additions & 91 deletions README.French.md
Original file line number Diff line number Diff line change
@@ -1,134 +1,141 @@
```markdown
# ChatGPT Line Bot

* [English](README.md)
* [繁體中文版README.md](README.zh-TW.md)
* [简体中文](README.zh-CN.md)
* [Française](README.French.md)
* [Français](README.French.md)

## 🤖 Introduction
## 🤖 简介

Intégrez le bot ChatGPT à Line. Tapez simplement du texte dans la zone de saisie pour commencer à interagir avec ChatGPT.
ChatGPT Bot 集成到 Line。只需在输入框中输入文字,即可开始与 ChatGPT 互动。

<img src="img/2023-10-25-10-03-47.png" width="30%" />

## Fonctionnalités
## ✨ 功能

* **Complètement gratuit** Bot ChatGPT
* Informations **horoscope hebdomadaire** (en temps réel)
* **完全免费** ChatGPT Bot
* 每周 **星座信息**(即时)

<img src="img/2023-11-02-10-00-32.png" width="20%"/>

* Notification programmée pour les chaînes de **musique YouTube**
* **YouTube 音乐** 频道的定时推送

<img src="img/2023-11-03-14-44-41.png" width="30%" />

* **Recherche d'images en ligne** (en temps réel)
* **在线图片搜索**(即时)

<img src="img/2024-05-17-15-08-12.png" width="40%"/>

> [!NOTE]
> Si vous avez des demandes de fonctionnalités, n'hésitez pas à soumettre un PR ou un ISSUE.
> 如果你有任何功能请求,请随时提交 PR ISSUE

## 🔨 Outils
## 🔨 工具

* `Python FastAPI` : Créer l'API de réponse ChatGPT
* `gpt4free` : **Utiliser l'API OpenAI gratuitement**
* `zhipuai` : **Utiliser l'API GPT gratuitement**
* `Line messaging API channel` : Connecter l'API ChatGPT
* `GitHub` : Dépôt de code
* `replit/render/ngrok` : **Déployer votre propre FastAPI gratuitement**
* `CronJob` : Envoyer des requêtes programmées gratuitement, permettant des messages de notification programmés
* `Python FastAPI`:创建 ChatGPT 回复 API
* `gpt4free`:**免费使用 OpenAI API**
* `zhipuai`:**免费使用 GPT API**
* `Line messaging API channel`:连接 ChatGPT API
* `GitHub`:代码存储库
* `replit/render/ngrok`:**免费部署你自己的 FastAPI**
* `CronJob`:免费发送定时请求,实现定时推送消息

## 🧠 Options gratuites GPT
## 🧠 免费 GPT 选项

Puisque `g4f` dépend du reverse engineering pour appeler l'API d'OpenAI, il peut être instable. Par conséquent, l'auteur suggère une solution alternative utilisant la plateforme ouverte **Zhipu AI** pour accéder gratuitement à l'API GPT.
由于 `g4f` 依赖于逆向工程来调用 OpenAI 的 API,可能不稳定。因此,作者建议使用 **Zhipu AI** 开放平台作为免费 GPT API 的替代方案。

* `g4f` : Utiliser le reverse engineering pour appeler l'API OpenAI
* `zhipuai` : La plateforme ouverte **Zhipu AI** offre une API GPT gratuite. Visitez le [site officiel](https://open.bigmodel.cn/dev/howuse/glm-4) pour créer un compte sans nécessiter de carte de crédit ni frais. Ajoutez une clé API dans le [Centre Personnel](https://open.bigmodel.cn/usercenter/proj-mgmt/apikeys) comme indiqué ci-dessous. Définissez cette clé API dans les variables d'environnement pour utiliser cette option GPT.
* `g4f`:使用逆向工程调用 OpenAI API
* `zhipuai`**Zhipu AI** 开放平台提供免费 GPT API。访问 [官方网站](https://open.bigmodel.cn/dev/howuse/glm-4) 注册账户,无需信用卡或费用。在 [个人中心](https://open.bigmodel.cn/usercenter/proj-mgmt/apikeys) 添加 API 密钥,如下所示。将此 API 密钥设置在环境变量中使用此 GPT 选项。
![](static/images/2025-01-02-10-18-10.png)

## 🎈 Étapes d'installation
## 🎈 安装步骤

### Obtenir les Tokens
### 获取 Tokens

1. Obtenir les Tokens Line :
1. Connectez-vous à [Line Developer](https://developers.line.biz/en/)
2. Créer un bot :
1. Créer un `Provider` -> Cliquez sur `Create`
2. Créer un `Channel` -> Sélectionnez `Create a Messaging API channel`
3. Remplissez les informations de base requises
4. Après completion, allez dans `Basic Settings` -> Sous `Channel Secret`, cliquez sur `Issue` pour générer le `LINE_CHANNEL_SECRET` (utilisé plus tard).
5. Sous `Messaging API`, cliquez sur `Issue` pour générer le `Channel access token` (utilisé plus tard).
1. 获取 Line Tokens:
1. 登录 [Line Developer](https://developers.line.biz/en/)
2. 创建一个 bot
1. 创建一个 `Provider` -> 点击 `Create`
2. 创建一个 `Channel` -> 选择 `Create a Messaging API channel`
3. 填写所需的基本信息
4. 完成后,进入 `Basic Settings` -> `Channel Secret` 下,点击 `Issue` 生成 `LINE_CHANNEL_SECRET`(后面会用到)。
5. `Messaging API` 下,点击 `Issue` 生成 `Channel access token`(后面会用到)。

### Configuration et Exécution du Projet
### 项目设置与执行

1. Forker le Projet GitHub :
1. Inscrivez-vous/Connectez-vous à [GitHub](https://github.com/)
2. Naviguez vers [ChatGPT-Line-Bot](https://github.com/Lin-jun-xiang/ChatGPT-Line-Bot)
3. Cliquez sur `Star` pour soutenir le développeur
4. Cliquez sur `Fork` pour copier tout le code dans votre dépôt
2. Déploiement :
1. Fork GitHub 项目:
* 注册/登录 [GitHub](https://github.com/)
* 前往 [ChatGPT-Line-Bot](https://github.com/Lin-jun-xiang/ChatGPT-Line-Bot)
* 点击 `Star` 支持开发者
* 点击 `Fork` 将所有代码复制到你的存储库

* `ngrok` : Utiliser un ordinateur local (ou Google Colab) comme serveur pour déployer l'API
* Téléchargez la version appropriée de `ngrok` pour votre OS
* Ajoutez le chemin de `ngrok.exe` aux variables d'environnement de votre système
* Lancer FastAPI dans le terminal : `$env:LINE_CHANNEL_SECRET="..."; $env:LINE_CHANNEL_ACCESS_TOKEN="..."; $env:SERPAPI_API_KEY="..."; $env:GPT_METHOD="..."; $env:GPT_API_KEY="..."; python main.py`
* `GPT_METHOD` : Choisissez `g4f` ou `zhipuai`
* `GPT_API_KEY` : Si vous utilisez la méthode `zhipuai`, fournissez votre clé API
* Exécutez : `ngrok config add-authtoken <token>`. Obtenez le token depuis votre tableau de bord personnel [ngrok](https://dashboard.ngrok.com/get-started/your-authtoken).
* Exécutez : `ngrok http 8080`. L'URL de transfert sera l'URL du webhook.
2. 启动 Python FastAPI Server:
* `$env:LINE_CHANNEL_SECRET="..."; $env:LINE_CHANNEL_ACCESS_TOKEN="..."; $env:SERPAPI_API_KEY="..."; $env:GPT_METHOD="..."; $env:GPT_API_KEY="..."; python main.py`
* `GPT_METHOD`:选择 `g4f` 或 `zhipuai`
* `GPT_API_KEY`:如果使用 `zhipuai` 方法,提供你的 API 密钥

<img src="img/2024-05-15-14-03-09.png" width="60%"/>
3. `ngrok`:使用本地电脑(或 Google Colab)作为服务器来部署 API
* [建立 ngrok 环境](https://dashboard.ngrok.com/get-started/setup/)
* 下载适合你操作系统的 `ngrok` 版本
* 将 `ngrok.exe` 路径添加到系统的环境变量中
* 执行:`ngrok config add-authtoken <token>`。从你的个人 [ngrok dashboard](https://dashboard.ngrok.com/get-started/your-authtoken) 获取 token。
* 执行:`ngrok http --url=<YOUR STATIC DOMAIN>.ngrok-free.app 8090` (若失败请改尝试 `ngrok http --hostname=<YOUR STATIC DOMAIN>.ngrok-free.app 8090`),并转发 URL 作为 webhook URL。

Enfin, remplacez l'URL du webhook dans la section `Messaging API` de la console Line Developer. ([Voir l'étape 2 dans la Configuration du Projet](#project-setup-and-execution))
<img src="static/images/2025-02-11-16-16-27.png" width="60%" />

### Connecter le Service avec le Bot Line
<img src="img/2024-05-15-14-03-09.png" width="60%"/>

Revenez à la [page d'accueil Line Developer](https://manager.line.biz/account), cliquez sur `Add Friend Guide`, et scannez le QR code pour ajouter le Bot Line comme ami.
4. 最后,将 `http --url=<YOUR STATIC DOMAIN>.ngrok-free.app/callback` 替换 Line Developer 控制台 `Messaging API` 区域中的 webhook URL。

Page d'accueil -> Sélectionnez votre bot -> Outils d'ajout d'ami -> Créer un Code-barres d'Action d'Ami (https://manager.line.biz/account/<yourBotId>/gainfriends)
<img src="static/images/2025-02-11-16-26-05.png" width="60%" />

Félicitations ! Vous avez créé votre premier Bot Line. Essayez de lui parler - il vous répondra !
### 连接服务与 Line Bot

## ⛄ Chat de Groupe vs Chat Individuel
回到 [Line Developer 首页](https://manager.line.biz/account),点击 `Add Friend Guide`,扫描 QR 码将 Line Bot 添加为好友。

* Dans un chat en tête-à-tête, n'importe quel message déclenchera une réponse.
* Dans les chats de groupe, utilisez le préfixe `@chat` pour interagir avec le bot, par exemple, `@chat hi~`.
首頁 -> 选择你的 bot -> 添加好友工具 -> 创建好友動作條碼(https://manager.line.biz/account/<yourBotId>/gainfriends)

## 🎃 Fonctionnalités Spéciales
恭喜!你已经创建了你的第一个 Line Bot。试着与它交谈——它会回复你!

### Horoscope
## ⛄ 群组对话 vs. 个人对话

Lorsque votre message contient une demande d'information sur l'horoscope, un crawler web récupérera l'horoscope hebdomadaire :
* 在一对一对话中,任何消息都会触发回复。
* 在群组对话中,使用 `@chat` 前缀与机器人互动,例如,`@chat hi~`。

* Chat personnel : `Donne-moi l'horoscope du Scorpion`, `Je veux connaître l'horoscope du Scorpion`, ...
* Chat de groupe : `@chat Donne-moi l'horoscope du Scorpion`, `@chat Je veux connaître l'horoscope du Scorpion`, ...
## 🎃 特殊功能

### Recherche d'Images en Ligne
### 星座

Lorsque votre message contient une demande d'image, un crawler web récupérera une image :
当你的消息包含星座信息请求时,网络爬虫将抓取每周星座:

* Chat personnel : `Trouve une image de Lin Xiang fumer en ligne`, `Donne-moi une image de Lin Xiang fumer en ligne`, ...
* Chat de groupe : `@chat Trouve une image de Lin Xiang fumer en ligne`, `@chat Donne-moi une image de Lin Xiang fumer en ligne`, ...
* 个人聊天:`给我天蝎座星座`, `我想知道天蝎座星座`, ...
* 群组聊天:`@chat 给我天蝎座星座`, `@chat 我想知道天蝎座星座`, ...

## 📢 Messages de Diffusion - Recommandations YouTube Quotidiennes
### 在线图片搜索

* En utilisant l'API `broadcast`, le Bot Line peut pousser des messages à tous les utilisateurs en même temps.
* Cet exemple montre comment le Bot Line peut pousser 3 chansons YouTube sélectionnées au hasard chaque matin :
* Créez le fichier `./data/favorite_videos.json`. Référez-vous au jeu de données de l'auteur.
当你的消息包含图片请求时,网络爬虫将抓取图片:

(Le jeu de données est généré en utilisant l'API `YouTube Data v3` pour récupérer les vidéos favorites. Ce guide ne couvre pas l'utilisation de l'API YouTube.)
* 个人聊天:`在线找到林翔抽烟的图片`, `给我在线林翔抽烟的图片`, ...
* 群组聊天:`@chat 在线找到林翔抽烟的图片`, `@chat 给我在线林翔抽烟的图片`, ...

* Utilisez `./ChatGPT_linebot/modules/youtube_recommend.py` pour sélectionner 3 chansons au hasard, formatées par GPT.
* Ajoutez une route `/recommend` dans `./ChatGPT_linebot/urls.py` :
## 📢 广播消息 - 每日 YouTube 推荐

* 使用 `broadcast` API,Line Bot 可以一次性推送消息给所有用户。
* 此示例演示了 Line Bot 如何每天早上推送 3 首随机选择的歌曲:
* 创建文件 `./data/favorite_videos.json`。参考作者的数据集。

(数据集是使用 `YouTube Data v3 API` 抓取喜爱视频生成的。本指南不涉及 YouTube API 的使用。)

* 使用 `./ChatGPT_linebot/modules/youtube_recommend.py` 随机选择 3 首歌曲,由 GPT 格式化。
* 在 `./ChatGPT_linebot/urls.py` 中添加 `/recommend` 路由:

```python
videos = recommend_videos() # Obtenir 3 chansons
videos = recommend_videos() # 获取 3 首歌曲

if videos:
line_bot_api.broadcast(TextSendMessage(text=videos)) # Diffuser aux utilisateurs
line_bot_api.broadcast(TextSendMessage(text=videos)) # 广播给用户

# Pousser des messages aux groupes connus
# 推送消息给已知群组
known_group_ids = [
'C6d-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'Ccc-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
Expand All @@ -138,38 +145,45 @@ Lorsque votre message contient une demande d'image, un crawler web récupérera
line_bot_api.push_message(group_id, TextSendMessage(text=videos))
```

Pour récupérer le `group_id`, affichez-le dans la console :
要获取群组 `group_id`,在控制台中打印:

```python
elif event.source.type == 'group' and user_message.startswith('@chat'):
group_id = event.source.group_id
print(group_id) # Sortir group_id
print(group_id) # 输出 group_id
```

* Maintenant, appeler la route `/recommend` diffusera des messages à tous les utilisateurs et aux groupes spécifiés.
* Utilisez [cron-job.org](https://cron-job.org/en/) pour programmer des poussées quotidiennes à 8h00 :
1. Inscrivez-vous/Connectez-vous à [cron-job.org](https://cron-job.org/en/)
2. Cliquez sur `CREATE CRONJOB` dans le coin supérieur droit
3. Titre : `ChatGPT-Line-Bot`, URL : par exemple, `https://ChatGPT-Line-Bot.jimmylin.repl.co/`
4. Définir pour s'exécuter toutes les `5 minutes`
5. Cliquez sur `CREATE`
* 现在,访问 `/recommend` 路由将广播消息给所有用户和指定群组。
* 使用 [cron-job.org](https://cron-job.org/en/) 每天早上 8:00 定时推送:
1. 注册/登录 [cron-job.org](https://cron-job.org/en/)
2. 点击右上角的 `CREATE CRONJOB`
3. 标题:`ChatGPT-Line-Bot`URL:例如,`https://ChatGPT-Line-Bot.jimmylin.repl.co/`
4. 设置为每 `5 分钟` 运行
5. 点击 `CREATE`

## ⚔ Avancé - Bot Personnalisé
## 📢 广播消息 - 天下杂志财经资讯

Vous pouvez personnaliser les réponses du Bot Line en utilisant des prompts. Définissez `template` dans `./ChatGPT_linebot/prompts/template.py`, par exemple :
* 与 **每日 YouTube 推荐** 一样,只需要将 `/recommend` 替换成 `/cwsChannel` 即可。
* 可于 CronJob 设置每 `3 小时` 运行

<img src="img/2023-10-27-10-09-17.png" width="60%" />
<img src="static/images/2025-02-11-17-27-24.png" width="60%" />

**Entrée utilisateur** : Que devrais-je prendre pour le petit-déjeuner ?
## ⚔ 进阶 - 个性化 Bot

你可以使用提示语来个性化 Line Bot 的回复。在 `./ChatGPT_linebot/prompts/template.py` 中定义 `template`,例如:

<img src="img/2023-10-27-10-09-17.png" width="60%" />

**Réponse du bot** : Chérie, es-tu déjà réveillée ? J'ai attendu au lit, en pensant à ta silhouette adorable. Que devrions-nous prendre pour le petit-déjeuner ? Et si on prenait quelque chose d'épicé, comme une omelette brûlante pour correspondre à ton charme ardent ? 😏🍳
**用户输入**:我该吃些什么早餐?

## Options de Déploiement Gratuit
**Bot 回复**:亲爱的,你醒来了吗?我一直在床上等你,想着你美丽的身材。我们该吃些什么早餐?要不要来点辣的,比如热蛋卷,配得上你火辣的魅力?😏🍳

## Références
## 参考资料

1. [Line_Bot_Tutorial](https://github.com/FawenYo/LINE_Bot_Tutorial)

2. [ChatGPT-Line-Bot](https://github.com/TheExplainthis/ChatGPT-Line-Bot)

<a href="#top">Retour en haut</a>
<a href="#top">返回顶部</a>
--------------------------------
```
Loading

0 comments on commit ae913fd

Please # to comment.