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

 
Sergey Kasirenko:

Так, но как тогда связать групы или канал и сам терминал???  Если мы обращаемся не к боту по апи, а к групе... Не понимаю саму структуру. Сейчас сделано так, есть чатбот, ему напрямую пишу команду, в теминале советником это всё ловклю, но если ставлю в другой терминал, то конечно не отрабатывает getUpdates, поскольку уже один запрос был по данному токену... 

Но как по другому можно получить данные из телеграм бота?

Создаете каналы для каждого терминала. Или группы, тут сами разберетесь. Добавляете туда своего бота в качестве главаря. Собираете с каналов их айдишки и пихаете в массив. Потом, когда появился сигнал, по массиву пробегаетесь и отправляете всем каналам сообщения. Затем так же как и при одном канале ловите обновления. Только каждый терминал читает свой канал. 

Хотя сам так не пробовал вообще)

 
Yevhenii Levchenko:


Хотя сам так не пробовал вообще)

А вот это сильно )). Но всё равно спасибо, буду что-то думать, копать, пробовать

 
Sergey Kasirenko:

Дорогие форумчане, подскажите пожалуйста как решить вот такую проблему

{"ok":false,"error_code":409,"description":"Conflict: terminated by other getUpdates request; make sure that only one bot instance is running"} Кто сталкивался? Куда копать, на что смотреть.

У вас какая-то ошибка в логике бота.

У меня многие копии работают и получают обновления каждую секунду без конфликтов. С группами/каналами это ни как не связано.

Подебажьте немного..

 
Andrey Khatimlianskii:

У вас какая-то ошибка в логике бота.

У меня многие копии работают и получают обновления каждую секунду без конфликтов. С группами/каналами это ни как не связано.

Подебажьте немного..

Спасибо за ответ. Я сделал как было описано в статье Андрея Войтенко. Создал бота, через токен привязался к сообщениям этого бота и получаю их с помощью функции getUpdates, отключил специально ProcessMessages, по сути весь код выглядит вот так:

//+------------------------------------------------------------------+
//|   OnTimer                                                        |
//+------------------------------------------------------------------+
void OnTimer()
  {
//--- show error message end exit
   if(getme_result!=0)
     {
      comment.SetText(0,"Error: "+GetErrorDescription(getme_result),clrRed);
      if(getme_result==4060) comment.SetText(1,"https://api.telegram.org",clrRed);
      comment.Show();
      return;
     }
//--- show bot name
   //Comment("Bot name: ",bot.Name());
   if(Flag_Init)
   {
     Flag_Init=false;
     bot.UserNameFilter(sName);
     comment.SetText(0,StringFormat("%s v.%s",EXPERT_NAME,EXPERT_VERSION),clrWhite);
     //comment.SetText(1,"Bot name: "+bot.Name(),clrWhite);
     comment.Show();
   }  
//--- reading messages
   bot.GetUpdates();
//--- processing messages
   //bot.ProcessMessages();
  }
//+------------------------------------------------------------------+

И получается так, как только ставлю две копии этого робота (сейчас для простоты эксперимента в тот же терминал), то получаю вот такую шляпу:

 

Я понимаю, что получается нельзя вызывать опрос с одним и тем же токеном как бы, потому что, прочитав один раз, он как бы отмечает, что данные получены, и следующая копия бота получит уже эту ошибку. 

Но как по другому это всё организовать, я не знаю, может вы сделали по другому вообще, тогда поделитесь секретом, если это не коммерческая тайна

 
Sergey Kasirenko:

Но как по другому это всё организовать, я не знаю, может вы сделали по другому вообще, тогда поделитесь секретом, если это не коммерческая тайна

Коммерческая, конечно )

Написал вам в личку

 

Добрый вечер, коллеги.

Подскажите пожалуйста, как добавлять смайлы в текст сообщения?

 
Andrey Kaunov:

Добрый вечер, коллеги.

Подскажите пожалуйста, как добавлять смайлы в текст сообщения?

настоящему мужику нужен мотоцикл и женщина)

опять бан, ладно.
 
Andrey Kaunov:

Добрый вечер, коллеги.

Подскажите пожалуйста, как добавлять смайлы в текст сообщения?

Посмотрите в статье, там есть ответ.

 
Спасибо, действительно есть. Что то я пропустил )))
 

Всем добрый день!

bot.SendMessage() не работает в тестере. Никто не решал сию проблему? Был бы благодарен за совет)))

Причина обращения: