- 在线机器人: https://t.me/trade_ai_helper_bot ✨
- 只需点击链接即可在Telegram中打开机器人并开始交易!
您可以通过两种方式运行此项目:使用Docker(推荐用于快速设置)或手动设置本地环境。
使用Docker在几分钟内运行整个应用程序堆栈——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:从Telegram上的@BotFather获取。POSTGRES_PASSWORD:为您的数据库创建一个强大、安全的密码。
在Docker运行的情况下,从项目的根目录执行单个命令:
docker-compose up --build -d此命令会构建并启动API、PostgreSQL和Redis容器。API被配置为在启动时自动应用数据库迁移。
机器人需要一个初始的RSS源列表。使用像DBeaver或DataGrip这样的客户端连接到数据库,并运行Populate_RssSources_Categories.sql脚本。
- 主机:
localhost - 端口:
5432 - 数据库:
forexsignalbot_db - 用户:
postgres - 密码: 您在
.env中设置的POSTGRES_PASSWORD。
🎉 就是这样!您的机器人现在正在Docker中运行。
如果您希望直接在您的机器上运行应用程序,请按照以下步骤操作。
-
.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用于缓存和后台作业处理。
- 对于 Windows: 安装一个与Redis兼容的服务器,如Memurai。
- 对于 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
要将应用程序编译为用于部署的自包含可执行文件:
# 一个自包含的 Windows x64 版本的示例
dotnet publish --configuration Release --runtime win-x64 --self-contained true --project WebApi- 输出将位于
WebApi/bin/Release/net9.0/win-x64/publish文件夹中。
这是新的、简化的设置过程。
- 打开Web面板: 在浏览器中导航到 http://localhost:5000/login.html。
- 登录: 使用默认凭据:
- 用户名:
admin - 密码:
admin(为了更好的安全性,在Web用户界面的首次设置过程中,系统会提示您更改这些敏感信息。)
- 用户名:
- 引导设置: 首次登录后,您将自动重定向到一个安全的设置页面(
/indexapp.html)。- 在此页面上,系统会提示您输入Telegram机器人令牌和其他核心设置。
- 系统将在保存前实时测试您的凭据,以确保它们有效。
- 一旦保存,这些设置将安全地存储在数据库中,而不是纯文本文件中。
- 数据库填充: 初始设置后,系统会提示您填充数据库。点击Web用户界面中的“Seed Database”(填充数据库)按钮。这将填充初始的RSS源列表和其他所需数据。
🎉 就是这样!您的机器人现已完全配置并正在运行。 您可以从Web面板管理所有内容。

我们提供多种语言的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文件都包含完整的项目文档、设置说明和功能,并已翻译成相应语言。所有文件都与最新的项目信息保持同步更新。
