Обсуждение статьи "Создание бота для Telegram на языке MQL5" - страница 23

 

Помогите плиз, что то запутался. Как получить программно id своего чата в глобальную переменную зная токен своего бота. Понятно что  можно спросить у разных ботов про свой айди, но хочется программно.

В функциях ПроцессМесседж есть цикл, который получает искомый номер, но он часто возвращает ноль, и у меня не получается его запомнить

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2022.02.10
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
По другому вопрос. Зная токен бота можно ли со стороны терминала получить от телеграмма ID чата пользователя, которым этот бот создан, без отправки сообщения со стороны бота. Имя бота мы же получаем по токену.
 
int               GetUpdates()
   {
      if(m_token==NULL)
         return(ERR_TOKEN_ISEMPTY);

      string out;
      string url=StringFormat("%s/bot%s/getUpdates",TELEGRAM_BASE_URL,m_token);
      string params=StringFormat("offset=%d",m_update_id);
      //---
      int res=PostRequest(out,url,params,WEB_TIMEOUT);
      //CJAVal js(NULL,jtUNDEF);
     // if(res==0)
       //  Print("");
      if(res==0)
      {
         //Print(out);
         //--- parse result
         CJAVal js(NULL,jtUNDEF);


Здесь терминал у меня каждый раз крешится в дебаг режиме. Вот на "if(res==0)" нажимаю F10 и вылетает терминал. Приходится перезапускать. res значение 0.

С такими логами в метаедиторе:

2022.07.12 10:40:03.212 MQL5 debugger   failed to read string length (00000095BB7FE075)
2022.07.12 10:40:03.217 MQL5 debugger   failed to read string length (00000095BB7FE150)
2022.07.12 10:40:03.217 MQL5 debugger   failed to read memory with error 299
2022.07.12 10:40:03.217 MQL5 debugger   failed to read memory (4 bytes from 00000095BB7FE13C)
2022.07.12 10:40:03.217 MQL5 debugger   failed to read string length (00000095BB7FE140)
2022.07.12 10:40:03.217 MQL5 debugger   failed to read string length (00000095BB7FE160)
2022.07.12 10:40:03.217 MQL5 debugger   failed to read memory with error 299
2022.07.12 10:40:03.217 MQL5 debugger   failed to read memory (1 bytes from 00000095BB7FE0AF)
2022.07.12 10:40:03.217 MQL5 debugger   failed to read memory with error 299
2022.07.12 10:40:03.217 MQL5 debugger   failed to read memory (1 bytes from 00000095BB7FE0AE)
2022.07.12 10:40:03.217 MQL5 debugger   failed to read memory with error 299
2022.07.12 10:40:03.217 MQL5 debugger   failed to read memory (4 bytes from 00000095BB7FDFD4)
 

Добрый день.

Из-за чего может возникать такая ошибка?

{"ok":false,"error_code":409,"description":"Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first"}

 
Vasiliy Pushkaryov #:

Добрый день.

Из-за чего может возникать такая ошибка?

{"ok":false,"error_code":409,"description":"Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first"}

https://core.telegram.org/bots/api#deletewebhook нужно сделать это

Telegram Bot API
  • core.telegram.org
The Bot API is an HTTP-based interface created for developers keen on building bots for Telegram. To learn how to create…
 
Sergey Zhilinskiy #:

https://core.telegram.org/bots/api#deletewebhook нужно сделать это

Спасибо
 

Как убрать клавиатуру в телеге. Так не хочет убирать. Компилирует без ошибок.

bot.ReplyKeyboardHide();

Нашел, только id пользователя в телеге надо знать.

 bot.SendMessage(ChatId,"Close on the buttons",bot.ReplyKeyboardHide(),false,false);
 
Вау, заработал в индикаторе, не внимательно читал ранее)))
#include <Webrequest_dll.mqh>
#define WebRequest _WebRequest
#include <Telegram.mqh>

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Обсуждение статьи "Создание бота для Telegram на языке MQL5"

Andriy Voitenko, 2018.12.23 13:32

Чтобы вам глубоко не копать, вот готовый вариант.

Подключаете файл

#include <Webrequest_dll.mqh>

и вместо штатного WebRequest используете _WebRequest

Должно заработать сразу. Если нет, то тогда лучше в личку со своим кодом.


 
{"ok":false,"error_code":409,"description":"Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first"}

Помогите решить проблему.

 
Vladimir Pastushak #:

Помогите решить проблему.

4 поста выше ))