如何在 cTrader Algo 中引用第三方库
第三方库使用户能够扩展和改进其 cBot、指标和插件的功能。 由于 cTrader Algo 是使用 .NET 6.0 开发的,用户可以在其算法项目中添加和使用使用 .NET 6.0 构建的第三方库。
在本文及其对应的视频中,您将学习如何在 cTrader Algo API 中引用第三方库。 使用 Discord.Net 库,我们将演示如何向 Discord 频道发送消息。
通过安装 NuGet 包添加引用
在我们的第一个示例中,我们计划通过从 NuGet 库安装包来在我们的 cBot 项目中添加引用。 NuGet 是 .NET 平台的官方包管理器,用于创建、使用和分发包或库。
注意
如果您在 Visual Studio 中开发算法,请使用下面描述的添加引用的方法。 否则,请导航到本文的 下一部分。
在 cTrader Algo 中,创建一个 cBot。 点击 新建 按钮,输入名称如 "Discord 消息示例",然后点击 创建 按钮。

接下来,转到 NuGet 网站,在文本字段中输入 Discord 并从结果中选择 Discord.Net 库。

点击 包管理器 选项卡,然后复制那里的命令。

返回 cTrader 并点击 在 Visual Studio 中编辑。

您的 cBot 项目应在您计算机上的 Visual Studio 应用程序中打开。
在 Visual Studio 中,打开 工具 菜单,选择 NuGet 包管理器,然后选择 包管理器控制台。
粘贴您之前从 NuGet 网站复制的命令并运行它。
1 | |

安装所需的包后,我们可以继续开发我们的 cBot 示例。
首先声明重要参数,如 Discord 机器人令牌和频道 ID。
1 2 3 4 5 | |
然后声明一个 Discord 客户端对象和一个消息频道对象。
1 2 | |
在我们的 OnStart() 方法中,编写一个简单的代码,以便在 cBot 启动时向我们的频道发送消息。
1 2 3 4 5 6 7 8 9 10 | |
您可以复制以下完整代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | |
现在,构建 cBot。
返回 cTrader。 点击 添加实例,在窗口中指定您喜欢的参数,然后点击 添加实例 按钮。

输入您的 Discord 机器人令牌和频道 ID。

启动 cBot 实例。 当出现 访问请求 窗口时,点击 允许 继续。
cBot 应开始运行,您应该会看到一条消息到达 Discord 频道。

通过 cTrader UI 添加引用
某些库并未以 NuGet 包的形式提供。 如果您计划在 cBot 项目中使用此类库,则必须直接将其 DLL 文件添加为引用。
在此,我们将演示如何通过添加 DLL 文件来引用相同的 Discord.Net 库。
返回 Visual Studio,卸载我们在上一小节中安装的 Discord.Net 库。 像之前一样打开 NuGet 包管理器控制台并运行以下命令:
1 | |
Discord 包将从我们的 Discord Message Example cBot 中移除引用。 如果现在重新构建 cBot,由于缺少库,构建将以多个错误消息结束。
返回 cTrader,使用顶部的管理引用功能添加所需的库。

当引用管理器窗口出现时,导航到浏览,然后点击浏览按钮。 选择 DLL 文件,然后对所有要引用的 DLL 文件执行相同的操作。

点击应用并再次构建 cBot。
现在,当您运行 cBot 实例时,构建将顺利完成,您应该会看到消息到达 Discord 频道。
本文演示了如何使用两种不同的方法在 cTrader Algo 中引用第三方库。