Skip to content

Latest commit

 

History

History
195 lines (144 loc) · 12.2 KB

File metadata and controls

195 lines (144 loc) · 12.2 KB

ForexSignalBot:AI驱动的Telegram外汇信号 / 智能免费开源的Telegram机器人自动转发器 📈🤖✨🚀

License GitHub Stars GitHub Forks GitHub Issues GitHub Closed Issues GitHub Pull Requests GitHub Closed Pull Requests Test Coverage Top Language .NET Version Last Commit Commit Activity Code Size Contributors GitHub Repo stars

🚀 立即开始!

ForexSignalBot 演示

🚀 开始使用

您可以通过两种方式运行此项目:使用Docker(推荐用于快速设置)或手动设置本地环境。

选项 1:使用Docker快速入门(推荐)

使用Docker在几分钟内运行整个应用程序堆栈——API、PostgreSQL数据库和Redis缓存。这是开始的最快、最简单的方法。

先决条件

  • Docker Desktop:确保它已在您的系统上安装并运行。 在此处下载

步骤 1:克隆仓库

打开您的终端并克隆项目源代码。

git clone https://github.com/Opselon/ForexTradingBot.git
cd ForexTradingBot

步骤 2:配置您的密钥

应用程序需要API密钥和密码。我们为此使用一个.env文件,该文件会保持私密。

  1. 创建环境文件:

    cp .env.example .env
  2. 编辑.env文件: 打开新的.env文件并填写您的实际密钥值。

    • TELEGRAM_BOT_TOKEN:从Telegram上的@BotFather获取。
    • POSTGRES_PASSWORD:为您的数据库创建一个强大、安全的密码。

步骤 3:运行应用程序!🔥

在Docker运行的情况下,从项目的根目录执行单个命令:

docker-compose up --build -d

此命令会构建并启动API、PostgreSQL和Redis容器。API被配置为在启动时自动应用数据库迁移

步骤 4:填充数据库

机器人需要一个初始的RSS源列表。使用像DBeaver或DataGrip这样的客户端连接到数据库,并运行Populate_RssSources_Categories.sql脚本。

  • 主机: localhost
  • 端口: 5432
  • 数据库: forexsignalbot_db
  • 用户: postgres
  • 密码: 您在.env中设置的POSTGRES_PASSWORD

🎉 就是这样!您的机器人现在正在Docker中运行。


选项 2:本地开发环境设置(不使用Docker)

如果您希望直接在您的机器上运行应用程序,请按照以下步骤操作。

先决条件

  1. .NET 9 SDK:

  2. PostgreSQL 数据库:

    • 安装并运行一个本地PostgreSQL服务器。
    • 创建一个数据库和一个用户。
    • appsettings.Development.json文件中更新您的连接字符串。
  3. Redis 服务器:

    • Redis用于缓存和后台作业处理。
    • 对于 Windows: 安装一个与Redis兼容的服务器,如Memurai
    • 对于 macOS/Linux: 通过包管理器安装(例如 brew install redissudo apt-get install redis-server)。

在本地运行应用程序

对于希望直接在自己的机器上运行应用程序的开发人员,请按照以下步骤操作:

  1. 克隆仓库(如果您还没有这样做)。
  2. 配置appsettings.Development.json,填入您的本地数据库连接字符串和其他设置。
  3. 应用数据库迁移:
    dotnet ef database update --startup-project WebApi --project Infrastructure
  4. 通过在您的本地数据库上运行Populate_RssSources_Categories.sql脚本来填充数据库
  5. 运行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文件夹中。

步骤 4:Web设置向导 ✨

这是新的、简化的设置过程。

  1. 打开Web面板: 在浏览器中导航到 http://localhost:5000/login.html
  2. 登录: 使用默认凭据:
    • 用户名: admin
    • 密码: admin (为了更好的安全性,在Web用户界面的首次设置过程中,系统会提示您更改这些敏感信息。)
  3. 引导设置: 首次登录后,您将自动重定向到一个安全的设置页面(/indexapp.html)。
    • 在此页面上,系统会提示您输入Telegram机器人令牌和其他核心设置。
    • 系统将在保存前实时测试您的凭据,以确保它们有效。
    • 一旦保存,这些设置将安全地存储在数据库中,而不是纯文本文件中。
  4. 数据库填充: 初始设置后,系统会提示您填充数据库。点击Web用户界面中的“Seed Database”(填充数据库)按钮。这将填充初始的RSS源列表和其他所需数据。

🎉 就是这样!您的机器人现已完全配置并正在运行。 您可以从Web面板管理所有内容。 alt text

🌟 Stargazers 随时间变化

如果这个项目对您有帮助,不妨给它一个 🌟 Stargazers over time


🌍 多语言README文件 🌍

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