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

 
Vladimir Pastushak #:

我明白,但不知道如何实现。有代码示例吗?

https://api.telegram.org/bot{token bot}/deleteWebhook
在浏览器中像这样做一次https://api.telegram.org/bot856203438:AAG1IDoQ_Fey5Wu88Jo-_YKCYIaeEnVxmRs/deleteWebhook
 
Sergey Zhilinskiy #:
在浏览器中像这样 做一次 https://api.telegram.org/bot856203438:AAG1IDoQ_Fey5Wu88Jo-_YKCYIaeEnVxmRs/deleteWebhook

谢谢!我想这就够了。

 
Sergey Zhilinskiy #:
在浏览器中像这样 做一次 https://api.telegram.org/bot856203438:AAG1IDoQ_Fey5Wu88Jo-_YKCYIaeEnVxmRs/deleteWebhook

它没有工作,你可以显示代码或需要做什么?我不擅长使用电报机器人,很遗憾.....。

 
Vladimir Pastushak #:

它没有工作,你能告诉我代码或需要做什么吗?我不擅长使用电报机器人,很遗憾.....。

自己写吧,不需要 "圣经",非常简单。

这里还写了如何克服这一功能。

https://tlgrm.ru/docs/bots/api

Справочник по Telegram Bot API
Справочник по Telegram Bot API
  • tlgrm.ru
Методы и объекты Bot API в Telegram.
 
Webrequest_dll.mqh POST 请求不起作用 ((( )
 

代码简单,但发送照片文件不成功

//+------------------------------------------------------------------+

//|5555.mq4 | |

//| 版权所有 2022 年,MetaQuotes Software Corp.

//|https://www.mql5.com ||

//+------------------------------------------------------------------+

#property copyright "Copyright 2022, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property strict
#include <Telegram.mqh>
/--- 输入参数
const string TelegramBotToken = "5499894508:AAGQFdha3N84sPsIPAw2Sfb-kGSnpdMKQWER";
const long ChatId           = -1001682411943;
const string InpChannelName = "@************";
const string TelegramApiUrl   = "https://api.telegram.org"; // 将此添加到允许的 URL
//--- 全局变量
CCustomBot bot;
int getme_result;
//+------------------------------------------------------------------+
//| 专家初始化函数|
//+------------------------------------------------------------------+
int OnInit()
  {
//--- 设置标记
   bot.Token(TelegramBotToken);
//--- 检查令牌
   getme_result=bot.GetMe();
//--- 运行计时器
   EventSetTimer(3);
   OnTimer();
//---DONE.

//---
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| 专家去初始化函数|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  }
  //+------------------------------------------------------------------+
//| OnTimer|
//+------------------------------------------------------------------+
void OnTimer()
  {
//--- 显示错误信息 结束 退出
   if(getme_result!=0)
     {
      Comment("Error: ",GetErrorDescription(getme_result));
      return;
     }
//--- 显示机器人名称
   Comment("Bot name: ",bot.Name());
//--{ 在此处插入代码 }
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| 专家勾选功能|
//+------------------------------------------------------------------+
void OnTick()
  {
//---
int res=bot.SendMessage(InpChannelName,"Running a test " +TimeToString(TimeCurrent()));
int ac=bot.SendChatAction(InpChannelName,ACTION_UPLOAD_PHOTO);
string filepath = "C:\mypic.gif";
string photo_id;
int pic=bot.SendPhoto(photo_id,InpChannelName,filepath); 
  }
//+------------------------------------------------------------------+


信息接收没有问题,但照片无法发送。帮助解决问题


Discover new MetaTrader 5 opportunities with MQL5 community and services
Discover new MetaTrader 5 opportunities with MQL5 community and services
  • 2022.12.11
  • www.mql5.com
MQL5: language of trade strategies built-in the MetaTrader 5 Trading Platform, allows writing your own trading robots, technical indicators, scripts and libraries of functions
 
sportoman #:

代码简单,但发送照片文件不成功

信息接收没有问题,但照片无法发送。帮助解决问题

你把路径弄乱了。请在此输入保存路径

 
不是路径错误,而是网络请求 错误。我什么方法都试过了,不管我把文件保存在哪里。
 
sportoman 网络请求 错误。我什么方法都试过了,不管我把文件保存在哪里。

该功能在沙盒中有效。只能在 metatrader 终端的文件目录下运行。

我自己使用了这段代码,代码正常工作

 
Vladimir Pastushak #:

该功能在沙盒中运行。只能在 metatrader 终端的文件目录下运行。

我自己也使用了此代码,代码工作正常

的确,我删除了路径,留下了文件名,并开始从 MQL4\Files 发送。谢谢。


还有一个问题--如何将 HTML 文本格式传递给 Telegram 机器人?