文章 "如何采用 MQL5 创建用于 Telegram 的 bots" - 页 3

 

安德烈,感谢您的文章!

您能告诉我如何以最简单的模式(私人聊天)向机器人发送消息吗?

可以通过 SendMessage() 向特定机器人发送消息。

我在另一个平台上实现了这种功能,现在我想转到 mt5 平台,我想以类似的方式实现所有功能。

在 Telegram:

- 通过 @BotFather 创建了一个机器人并收到了一个令牌。

- 我使用 @MyTelegramID_bot 找到了我的 ID。

通过这个令牌/ID 组合,信息被发送到机器人。

创建几个机器人,一个接收日志,另一个接收重要错误,第三个接收交易信息。简单方便。

 
Artem Voytenko:

告诉我,如何在最简单的模式下实现向机器人发送消息 - 私人聊天。

在电报中:

- 通过 @BotFather 创建了一个机器人,并收到了一个令牌。

- 通过 @MyTelegramID_bot 我找到了自己的 ID。

通过此令牌/ID 映射,信息就发送到了机器人。

您的任务可以通过以下方式完成:

#include <Telegram.mqh>
CCustomBot bot;
//+------------------------------------------------------------------+
void OnStart()
  {
   bot.Token("44444444:BAEBtZLrOnLW5IxkQaYsNxA5iQimPNEMfRk"); //设置令牌
   bot.SendMessage(1111111,"your text"); //1111111 - 这是您的 ID
  }
//+------------------------------------------------------------------+
 
Andrey Voytenko:

您的问题可以这样解决:

非常感谢!成功了!我在 SendMessage 中将我的 ID 作为术语传递,所以才没有成功 )

 
如何将 MT4 中的交易发送到自定义 PHP 中?
 
Tatu Francis:
如何将 MT4 中的交易发送到自定义 PHP 中?
很简单。使用WebRequest 函数。
 

安德鲁,还有一个问题。

我有一个 ExpertHelper.mqh 文件。

我在其中编写了我的函数。然后我将其连接到 Expert Advisor 中并使用这些函数。

在出现错误和通知时,我使用类似的结构 Print("Error in function ",__FUNCTION__);

但如何才能摆脱打印,在 ExpertHelper.mqh 文件内的函数中使用电报呢?

怎样才能使打印字符串真正变成 bot.SendMessage(1111111, "函数 "+__FUNCTION__"中的错误")?

我无法在 mqh 文件中连接 Telegram.mqh,创建一个实例,然后通过 OnStart/OnInit 将其打开,可以吗?

 

Artem Voytenko:

我无法在 mqh 文件中连接 Telegram.mqh,创建一个实例,然后通过 OnStart/OnInit 启用它,可以吗?

1.Внутри вашего хэдера ExpertHelper.mqh пишем

#include <Telegram.mqh>
CCustomBot bot;

2.Внутри ваших функций в случае ошибки делаем

if(error)
{
 bot.SendMessage(1111111,"函数"+__FUNCTION__);
}

3.В эксперте в OnInit указываем

bot.Token("44444444:BAEBtZLrOnLW5IxkQaYsNxA5iQimPNEMfRk");
 
Andrey Voytenko:
安德鲁,非常感谢你!成功了
 

如何在 OnCalculate 中调用 Class 中的函数

谢谢

 

您好,执行 getme_result=bot.GetMe()后,结果是 4014。但通过浏览器中的查询,输出结果 为{"ok":true, "result":{"id":262104403, "first_name": "InvestorBOT", "username": "investorinfo_bot"}}

您能告诉我问题出在哪里吗?

已更正:有必要在允许的 URL 列表中添加 https://api.telegram.org