Telemonitor - объединяем Telegram и 1С

19.05.21

Интеграция - Мессенджеры и боты

Не так давно Telegram предоставил API для создания ботов. Telemonitor - программа, позволяющая легко настроить собственного бота для работы с 1С.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Telemonitor.zip
.zip 1,96Mb ver:20200214
243 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Что это такое?

Telegram набирает всё большую популярность. Недавно сервис предоставил платформу для создания ботов. Telemonitor - это прослойка между API Telegram и 1С/OneScript, позволяющая легко настроить функционал собственного бота. Кто-то задастся вопросом, а зачем вообще нужна какая-то дополнительная программа, ведь все можно организовать и в 1С. Конечно можно, но, на мой взгляд, это не всегда удобно. Во-первых, более или менее удобный функционал есть только в версии 8.3. Во-вторых, надо постоянно держать запущенным сеанс. Telemonitor, конечно, тоже имеет свои недостатки, но работать с ним, думаю будет удобнее.

Как это работает?

Схема работы

Telemonitor опрашивает бота с заданной периодичностью. При получении новой команды программа создает соединение с базой данных через ComConnector, и выполняет указанный для команды код, через вызов процедуры Выполнить(). Количество COM-соединений никак не ограничивается, поэтому одновременно можно отправлять боту несколько команд.

Как настроить своего бота?

Как зарегистрировать бота рассказывать, думаю, смысла нет. В интернете полно примеров, на Инфостарте, кстати, тоже есть очень полезная публикация. И так, открываем каталог Telemonitor и видим файл settings.ini. В нем необходимо задать token для бота, полученный при регистрации. При желании можно изменить интервал опроса бота и параметры соединения. Теперь рассмотрим папку databases, в ней будем описывать базы и команды.

Структура каталогов

Для каждой базы данных, в которой будем использовать бота создаем папку с произвольным названием латиницей. Для примера я использую базы FileAccounting82 и ServerTrade83. В каждой папке необходимо разместить файл database.ini, в котором указывается строка соединения с базой (сейчас в меня полетят тухлые помидоры, но да, пароль хранится в чистом виде) и используемая версия 1С. Кстати, 8.1 не поддерживается. Кодировка у ini файла должна быть Windows-1251. 

Теперь настало время описать команды. В той же папке создаем файлы *.tcm. Каждый такой файл - это просто текст в кодировке UTF-8, содержащий описание команды и код, выполняемый в 1С. Первой строкой идет описание, далее - исполняемый код.

Команда, исполняемая ботом

Если мы хотим увидеть какой-либо отклик от бота, тогда необходимо заполнить переменную Результат. В данном примере бот вернет описание пользователей, работающих в базе или скажет: "Нет активных пользователей".  При создании своих команд помните, что весь код помещается в конструкцию Выполнить(), поэтому он имеет некоторые ограничения, думаю сами догадываетесь какие. Чтобы бот вернул файл, например, вы хотите получать какой-нибудь отчет или прайс, то в коде команды необходимо заполнить переменную Результат_Файл.

Что получилось в итоге?

После того, как мы создали каталоги для баз данных и файлы с командами, наш бот знает, какие команды у него есть, и что с ними делать.

Имя каждой команды складывается из имени базы данных и имени файла tcm. Запросим у бота список команд. И так, бот, /start !

Список команд бота

Ух ты! Работает! Давай-ка, бот, нам список активных пользователей.

Выполнение команды

Эх, не было печали, а теперь вот каждое утро общаюсь с ботом и смотрю, все ли с базами в порядке :-)

Что дальше?

Программу, она кстати использует NET Framework 2.0, писал для собственных нужд, но, если кому пригодится, буду очень рад. Буду рад предложениям по улучшению и расширению функционала.

Последние изменения:

  • 12.08.2015
  • Добавил команду /screen для получения скриншота.
  • Добавил возможность отправки файлов.
  • 23.10.2015
  • В команду теперь можно передавать параметры. В 1С все параметры будут доступны в реквизите "ПараметрыКоманды" через запятую
  • В settings.ini добавил параметр [SafeMode1C] для запуска кода в небезопасном режиме.
  • 17.03.2016
  • Добавил ограничение доступа по имени пользователя Telegram (username). Ограничения можно задать как на бота целиком, так и на базу данных. Для этого в файлах settings.ini и database.ini есть секция [WhiteList] и параметр Users. Именя пользователей, которым разрешен доступ, следует указывать через запятую. В этой же секции файла settings.ini можно ограничить доступ пользователям к получению скриншотов. Имя параметра, отвечающего за данное ограничение - ScreenOwners
  • 15.04.2016
  • Добавил поддержку команд с запросом параметров. Для того, чтобы бот запросил параметр, необходимо в коде команды использовать переменную ДиалогСПараметрами. Ниже представлен пример команды с запросом трех параметров
  • МассивПараметров = Новый Массив();
    Подстроки = СтрЗаменить(ПараметрыКоманды, ",", Символы.ПС);
    Для Сч = 1 По СтрЧислоСтрок(Подстроки) Цикл
    	Параметр = СокрЛП(СтрПолучитьСтроку(Подстроки, Сч));
    	Если ЗначениеЗаполнено(Параметр) Тогда
    		МассивПараметров.Добавить(Параметр);
    	КонецЕсли;
    КонецЦикла;
    Если МассивПараметров.Количество() < 3 Тогда
    	ДиалогСПараметрами = Истина;
    	Заголовки = Новый Соответствие();
    	Заголовки[0] = "Введите первый параметр:";
    	Заголовки[1] = "Отлично! Теперь укажите второй:";
    	Заголовки[2] = "Почти готово! Третий параметр и заканчиваем:";
    	Результат = Заголовки[МассивПараметров.Количество()];
    Иначе
    	// Здесь выполнение какого-то кода...
    	Результат = "Команда выполнена со следующими параметрами:" + Символы.ПС;
    	Результат = Результат + "1) " + МассивПараметров[0] + Символы.ПС;
    	Результат = Результат + "2) " + МассивПараметров[1] + Символы.ПС;
    	Результат = Результат + "3) " + МассивПараметров[2];
    КонецЕсли;
    Ну и результат работы

    Команда с запросом параметров Команда с запросом параметров

    При написании таких команд надо понимать, что Telemonitor не поддерживает COM-соединение между запросами параметров у пользователя. При передаче каждого параметра создается новое соединение и в код каманды передаются все полученные параметры, поэтому в описании команды нет смысла инициализировать какие-либо переменные и выполнять действия, в надежде, что они будут доступны при передаче следующего параметра.
  • Также, теперь в коде команды есть доступ к имени пользователя Telegram, и полному идентификатору команды. Для этого используются переменные username, first_name, last_name и command
  • 22.11.2016
  • Добавлена поддержка OneScript(1Script). Для тех, кто не в курсе, что это такое вот ссылка и вот. Скрипты необходимо размещать в папке scripts c расширением *.os. Примеры скриптов есть в архиве с программой. Команды для OneScript имеют некоторые особенности, но не сильно отличаются от таковых для 1С. Все пробелы в параметрах, переданных в команду заменяются на знак подчеркивания "_".
  • 06.04.2018
  • Команды для OScript можно делать в виде кнопок. Для этого файл команды должен быть с расширением *.os_b
  • 18.04.2018
  • Добавлена поддержка SOCKS5. В settings.ini секция [Proxy], параметр Type

P.S. Писал быстро, поэтому возможны какие-нибудь ошибки. Буду благодарен, если вы сообщите о таковых.

Вступайте в нашу телеграмм-группу Инфостарт

Telegram телеграм bot бот обмен сообщениями ComConnector token токен мессенджер OneScript 1Script

См. также

SALE! 50%

Мессенджеры и боты SMS рассылки Email рассылки Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Расширение 1С с полным набором инструментов для качественных транзакционных, триггерных и маркетинговых рассылок Email, SMS, MAX, WhatsApp, Telegram. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.

6100 3050 руб.

07.04.2014    99786    93    205    

176

Мессенджеры и боты 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Интеграция мессенджеров Max, WhatsApp и 1С: УНФ, УТ, КА, ERP - отправка и получение сообщений, картинок, файлов и видео прямо в 1С. Расширение работает с сервисом GreenApi. Важно: Интеграция с Telegram пока только для конфигурации 1С:УНФ.

30500 руб.

23.06.2023    18871    62    27    

63

Мессенджеры и боты 1С 8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Готовый чат-бот MAX для 1С виде расширения. Клиенты проверяют остатки и заказы прямо в мессенджере. Ролевая модель, гибкое меню, отправка файлов, диалоги. Подключайте свою логику через внешние обработки.

14640 руб.

26.03.2026    3920    5    0    

9

Мессенджеры и боты 1С 8.3 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 Платные (руб)

Обработка для быстрого подключения мессенджера MAX к любой конфигурации 1С.

10000 руб.

02.02.2026    8826    40    2    

13

Мессенджеры и боты SMS рассылки 1С:Предприятие 8 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Решение реализовано в виде расширения. Заменяет отправку смс на отправку в WhatsApp через Green-api. Отправка чека картинкой.

7930 руб.

15.05.2024    5099    5    11    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. shalimski 6 10.08.15 04:25 Сейчас в теме
Отличная идея! Все работает.
140. user859444 15.12.17 16:26 Сейчас в теме
(1) Уже ничего не работает:
15.12.2017 16:24:36 - debug (8): Запуск команды /ERP_ActiveUsers на выполнение
15.12.2017 16:24:36 - debug (3): wt 926
15.12.2017 16:24:37 - debug (3): url: https://api.telegram.org/bot{0}/getUpdates?offset=тутномер
15.12.2017 16:24:37 - debug (3): mt wait
15.12.2017 16:24:37 - debug (3): request created
15.12.2017 16:24:37 - debug (3): response ok
15.12.2017 16:24:37 - debug (3): request:{"ok":true,"result":[]}
15.12.2017 16:24:37 - debug (3): True
15.12.2017 16:24:37 - debug (3): mt release
15.12.2017 16:24:37 - debug (3): wt 918
15.12.2017 16:24:38 - debug (3): url: https://api.telegram.org/bot{0}/getUpdates?offset=тутномер
2. roofless 24 10.08.15 09:26 Сейчас в теме
тут http://infostart.ru/public/372352/ нужна платформа не меньше 8.3.6, какая нужна для вашего телемонитора?
3. salexdv 2459 10.08.15 09:39 Сейчас в теме
122. yuran2000 8 15.01.17 23:39 Сейчас в теме
С крайними версиями БП 2.0.66.6 и 3.0.46.16 перестало работать, ждет нажатия "ОК":

15.01.2017 23:31:03 - debug (3): wt 844
! 15.01.2017 23:31:03 - Не удалось выполнить команду "/FileAccounting83_ActiveUsers": Адресат вызова создал исключение.
Предупреждение безопасности

Открывается "Выполнение произвольного кода для Telemonitor" из файла "R:\Soft\Telemonitor\executer83.tep".

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


Разрешить открывать данный файл?
15.01.2017 23:31:03 - debug (5): Команда /FileAccounting83_ActiveUsers выполнена
15.01.2017 23:31:03 - debug (5): url: https://api.telegram.org/bot{0}/sendMessage
15.01.2017 23:31:03 - debug (5): response: Ошибка при выполнении команды
124. yuran2000 8 15.01.17 23:59 Сейчас в теме
(122) Насчет безопасности рашел решение:
http://its.1c.ru/db/v838doc#bookmark:dev:TI000001873
125. salexdv 2459 16.01.17 09:14 Сейчас в теме
(124) Спасибо за ссылку.
(123) Такое, к сожалению, реализовать не смогу т.к. программа построена совсем на других принципах и такое поведение не планировалось с самого начала.
166. ndacoder 110 14.08.18 12:14 Сейчас в теме
Разобрался на вин 8.1 работает а вот на сервере 2008 не хочет

14.08.2018 12:04:07 - debug (3): url: https://api.telegram.org/bot{0}/getUpdates?offset=0
14.08.2018 12:04:07 - debug (3): mt wait
14.08.2018 12:04:07 - debug (4): checker: cur.time - 14.08.2018 12:04:07, ls.time - 14.08.2018 12:04:07
14.08.2018 12:04:07 - debug (3): request created
! 14.08.2018 12:04:09 - debug (3): response err: Ошибка на стороне клиента. Код состояния: 401
14.08.2018 12:04:09 - debug (3): mt release
167. salexdv 2459 14.08.18 12:44 Сейчас в теме
(166)
Код состояния: 401

Как организована сеть на 2008-м сервере, сервер в сеть ходит напрямую или через прокси?
4. didkovskij 44 12.08.15 13:33 Сейчас в теме
Спасибо, всё работает!

А есть возможность возвращать не текст, а прикреплять файл, например?
5. salexdv 2459 12.08.15 14:00 Сейчас в теме
(4) didkovskij, нет, пока только текст. Можно доработать. Опишете, зачем такое надо?
6. salexdv 2459 12.08.15 14:55 Сейчас в теме
(4) didkovskij, добавил такую возможность. Для примера код команды:
Результат_Файл = КаталогВременныхФайлов()  + "result.xls";
ТабДокумент = Новый ТабличныйДокумент();
ТабДокумент.Область(1, 1, 1, 1).Текст = "Тестовый файл";
ТабДокумент.Записать(Результат_Файл, ТипФайлаТабличногоДокумента.XLS97);

Т.е. необходимо заполнить переменную Результат_Файл, тогда Telemonitor отправит указанный файл боту.
adhocprog; didkovskij; +2 – Ответить
11. didkovskij 44 13.08.15 04:39 Сейчас в теме
(6) например в 1с формируется файл (отчёт, график и т.п.) хочется его прикрепить, чтобы пользователь смог его посмотреть. Спасибо за возможность!
7. sml 41 12.08.15 17:45 Сейчас в теме
ТС, похоже с планировщиками оконными не знаком?
8. salexdv 2459 12.08.15 17:49 Сейчас в теме
12. didkovskij 44 13.08.15 04:43 Сейчас в теме
(7) sml, ну так то можно и web сервис поднять и приложение под андроид написать. Одну и ту же задачу можно кучей разных способов реализовать. Мне идея и реализация понравилась. Например, кто захочет тот и получит нужную информацию, а не так как в планировщике по заданным параметрам, выполнять одно и тоже действие :)
9. Операция1Ы 53 12.08.15 18:19 Сейчас в теме
Круто, а исходники будут?
10. salexdv 2459 12.08.15 18:40 Сейчас в теме
(9) Операция1Ы, не планировал выкладывать.
13. Darklight 38 17.08.15 10:40 Сейчас в теме
Что-то фишку не просёк. Идея общаться с ботом текстовыми командами не впечатлила
Разве не удобнее
1. Сделать отдельную БД, которая будет собирать состояния из целевых баз и показывать сводно при старте и по отдельности на весь экран (без каких-либо запросов со стороны оператора)
2. Нужные дополнительные сведения получать в один-два клика мыши в отельных окнах
3. Получать из базы периодические рассылки важной контроллируемой информации по электронной почте / SMS и по любым иным каналам сваязи
for_sale; +1 – Ответить
14. CratosX 116 17.08.15 12:02 Сейчас в теме
(13) Darklight,
Что-то фишку не просёк.

как минимум Телеграм быстр и не требователен, зачастую уже установлен. Установка "отдельной базы" тяжела, требует мобильной платформы
15. salexdv 2459 17.08.15 12:30 Сейчас в теме
(13) Darklight, здесь уже писали про планировщик заданий, что в принципе равносильно периодическим рассылкам, как пишите вы.
Но идея бота не в периодических оповещениях, а в предоставлении информации по требованию. Мне не нужно получать каждый день SMS (электронное письмо и т.д.) о том что все хорошо/все пропало. Я хочу видеть информацию, только когда у меня душа заболела.
16. yuran2000 8 17.08.15 15:11 Сейчас в теме
Идея хорошая, но не везде есть возможность запускать чужие программы.
Пытаюсь на 1С это же написать, по обмену сообщениями трудности не возникло, но вот отправку файла так и не победил.
Думаю, что не туда вставляю Токен.
Т.е., что б бот что-то сделал в базе и отправил отчет в виде файла.
Может, распишите принцип этого процесса?
17. salexdv 2459 17.08.15 16:18 Сейчас в теме
(16) yuran2000, я сам не с первого раза отправил файл, скорее всего ошибка в формировании тела multipart/form-data и определении ContentLength. Попробую сделать в 1С такое и напишу.
18. salexdv 2459 17.08.15 22:03 Сейчас в теме
(16) yuran2000, к сожалению мне не удалось отправить данные 1С на api.telegram.org с помощью multipart/form-data. Испытывал на методе sendMessage, передавая поля chat_id и text. Передавать пробовал с помощью WinHttp.WinHttpRequest.5.1, Msxml2.SERVERXMLHTTP и встроенного HTTPСоединение. Если указывать протокол http, то возвращается ошибка 301, либо text is empty, а если использовать, как положено, https - вылет по таймауту. Причем тело multipart/form-data точно правильное взял его из Telemonitor.
Если найдете решение, дайте знать.
Тело запроса выглядит так

------------ebcd4ec6dea948099c4c47ca5c9541bd
Content-Disposition: form-data; name="chat_id"

XXXXXXXXX
------------ebcd4ec6dea948099c4c47ca5c9541bd
Content-Disposition: form-data; name="text"

test
------------ebcd4ec6dea948099c4c47ca5c9541bd--
Показать
19. eugeniezheludkov 45 18.09.15 03:24 Сейчас в теме
(18) Возился как то с POST "multipart/form-data", оказалось, что кроме boundry, общий пакет делится на несколько пакетов по 2500 байт (точно не помню размер). все браузеры делят, отправляется за несколько посылок.
из RFC http://www.ietf.org/rfc/rfc2388.txt ничего особо не понять , нужно смотреть примеры кода на гитхабе и тд
20. salexdv 2459 18.09.15 07:33 Сейчас в теме
(19) eugeniezheludkov, возможно, но мне и меньшего объема сообщение не удавалось отправить. Пример сообщением выше (18)
21. FSerg 383 18.09.15 22:42 Сейчас в теме
(18) дня три мучался с отправкой файла в телеграмм из 1С.
Из-за того что 1Ска не может рабоать с двоичными данными - единственный способ, которым получилось сформировать правильный запрос - это ОбъединитьФайлы().

Вот такой код у меня заработал:
Сервер = "api.telegram.org";	
врТекст = КодироватьСтроку(СокрЛП(ТестСообщения), СпособКодированияСтроки.КодировкаURL, КодировкаТекста.UTF8);	

СтрокаСоединения = "/bot"+СокрЛП(Объект.АпиКлюч)+"/sendPhoto";

Boundary = "----"+Строка(Новый УникальныйИдентификатор());

//Определяем массив для процедуры ОбъединитьФайлы 
МассивФайловДляОбъединения = Новый Массив; 

//Формируем начальный фрагмент файла POST-запроса 
ИмяФайлаОтправкиНачало = ПолучитьИмяВременногоФайла("txt"); 
ФайлОтправкиНачало = Новый ЗаписьТекста(ИмяФайлаОтправкиНачало, КодировкаТекста.UTF8); 

//Формируем конечный фрагмент файла POST-запроса 
ИмяФайлаОтправкиКонец = ПолучитьИмяВременногоФайла("txt"); 
ФайлаОтправкиКонец = Новый ЗаписьТекста(ИмяФайлаОтправкиКонец, КодировкаТекста.UTF8);

ТекстДляОтправки = "";

// ЧАТ
ТекстДляОтправки = ТекстДляОтправки + "--"+Boundary + Символы.ПС;	
ТекстДляОтправки = ТекстДляОтправки + "Content-Disposition: form-data; name=""chat_id""" + Символы.ПС + Символы.ПС;	
ТекстДляОтправки = ТекстДляОтправки + СокрЛП(Объект.АйдиЧата) + Символы.ПС;

// ПОДПИСЬ	
ТекстДляОтправки = ТекстДляОтправки + "--"+Boundary + Символы.ПС;	
ТекстДляОтправки = ТекстДляОтправки + "Content-Disposition: form-data; name=""caption""" + Символы.ПС + Символы.ПС;	
ТекстДляОтправки = ТекстДляОтправки + СокрЛП("Название картинки!") + Символы.ПС;

// ФОТО
ТекстДляОтправки = ТекстДляОтправки + "--"+Boundary + Символы.ПС;	
ТекстДляОтправки = ТекстДляОтправки + "Content-Disposition: form-data; name=""photo""; filename=""01.jpg""" + Символы.ПС;	
ТекстДляОтправки = ТекстДляОтправки + "Content-Type: image/jpeg" + Символы.ПС;

ФайлОтправкиНачало.ЗаписатьСтроку(ТекстДляОтправки );
ФайлОтправкиНачало.Закрыть(); 
МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправкиНачало); 

МассивФайловДляОбъединения.Добавить(СокрЛП(Объект.ИмяФайла)); 

ТекстДляОтправки = "" + Символы.ПС;
ТекстДляОтправки = ТекстДляОтправки + "--"+Boundary+"--";
ФайлаОтправкиКонец.ЗаписатьСтроку(ТекстДляОтправки);
ФайлаОтправкиКонец.Закрыть(); 
МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправкиКонец); 

ИмяФайлаОтправки = "C:\1C_Base\post.txt";
ОбъединитьФайлы(МассивФайловДляОбъединения, ИмяФайлаОтправки);


HTTPЗапрос = Новый HTTPЗапрос;
Заголовки = Новый Соответствие;

HTTPЗапрос.Заголовки.Вставить("Connection", "keep-alive"); 
HTTPЗапрос.Заголовки.Вставить("Content-Type", "multipart/form-data; boundary="+Boundary); 

HTTPЗапрос.УстановитьИмяФайлаТела(ИмяФайлаОтправки);	
HTTPЗапрос.АдресРесурса = СтрокаСоединения; 

ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
HTTPСоединение = Новый HTTPСоединение(Сервер,,,,,, ЗащищенноеСоединение);

Попытка 
ОтветHTTP = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
Исключение
Сообщить("Ошибка выполенния запроса!");
КонецПопытки;

ДанныеКакСтрока = ОтветHTTP.ПолучитьТелоКакСтроку();
Сообщить("Отчет:");
Сообщить(ДанныеКакСтрока);
Показать
maksa2005; nik073; X_GraY; awa; SirStefan; DmitryNPK; CSiER; adhocprog; JohnyDeath; el-gamberro; +10 – Ответить
22. salexdv 2459 19.09.15 10:29 Сейчас в теме
(21) FSerg, спасибо! Обязательно попробую
23. el-gamberro 58 30.09.15 16:34 Сейчас в теме
(21) FSerg, спасибо за разжевывание. :)
Тоже такое попробую.
146. user853472 25.02.18 16:19 Сейчас в теме
(21)
ОтправитьДляОбработки
147. user853472 25.02.18 16:23 Сейчас в теме
(21)
МассивФайловДляОбъединения.Добавить(СокрЛП(Объект.ИмяФайла)); ТекстДляОтправки = "" + Символы.ПС; ТекстДляОтправки = ТекстДляОтправки + "--"+Boundary+"--"; ФайлаОтправкиКонец.ЗаписатьСтроку(ТекстДляОтправки); ФайлаОтправкиКонец.Закрыть(); МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправкиКонец);



Не могу понять, что сюда добавляется? Что такое "Объект" ?

Вот здесь:
// ФОТО
ТекстДляОтправки = ТекстДляОтправки + "--"+Boundary + Символы.ПС;    
ТекстДляОтправки = ТекстДляОтправки + "Content-Disposition: form-data; name=""photo""; filename=""01.jpg""" + Символы.ПС;    
ТекстДляОтправки = ТекстДляОтправки + "Content-Type: image/jpeg" + Символы.ПС;


filename это произвольное название?

а где передается сама картинка?

У меня сервер возвращает "IMAGE_PROCESS_FAILED" . Пожалуйста! Помогите! Третий день отправляю изображение, все никак не отправлю.....
148. user853472 25.02.18 22:15 Сейчас в теме
(21) Подскажите пожалуйста как вывести в данном случае inline_keyboard кнопки? Очень нужно! Можно в ЛС телеграмма @bosprofit
176. vis_tmp 33 11.10.19 07:27 Сейчас в теме
(21)
МассивФайловДляОбъединения.Добавить(СокрЛП(Объект.ИмяФайла));

Скажите, что у вас в "Объект.ИмяФайла" ?
Что содержит этот файл?
24. mrmasson 57 13.10.15 09:00 Сейчас в теме
Идея хороша. решил воспользоватся. Опишу недостатки, которые мешают в полной мере насладиться разработкой:
1. мало документации с Вашей стороны.
2. т.к. код выполняется в безопасном режиме, некоторые вещи невозможно реализовать, например, перезагрузку сервера. Пытаюсь отключить безопасный режим, но...
Ошибка при вызове метода контекста (ЗапуститьПриложение)
Установлен безопасный режим. Выполнение операции запрещено


а так однозначный плюс
25. salexdv 2459 13.10.15 10:52 Сейчас в теме
(24) mrmasson, спасибо за отзыв!
Да, действительно весь код запускается во внешней обработке, которая создается в безопасном режиме.
Я добавлю в настройки возможность запускать небезопасный режим.
А насчет документации даже и не знаю, что сказать. Я тут постарался максимально просто и доступно объяснить как все работает. Как создавать свои команды для бота написал. Если есть какие-то вопросы, пишите, обязательно отвечу.
26. salexdv 2459 23.10.15 11:45 Сейчас в теме
(24) mrmasson, добавил возможность запуска кода в небезопасном режиме. Нужно в settings.ini добавить строку
[SafeMode1C]
Enabled=0
27. JohnyDeath 302 30.10.15 09:27 Сейчас в теме
Я все-таки не понял, почему отдельная программа, а не планировщик или http-сервис в самой 1С? Зачем лишняя прослойка?
28. salexdv 2459 30.10.15 10:04 Сейчас в теме
(27) JohnyDeath, чтобы получать информацию, когда она действительно нужна. Не будем брать в расчет всякие отказы, когда что-то не работает. В этом случае, конечно, удобнее планировщиком опрашивать какие-то параметры и, в случае возникновения критической ситуации, оповещать об этом.
Telemonitor немного про другое. Например, для обновления конфигурации БД требуется реструктуризация, которую невозможно выполнить с работающими пользователями. Дело к вечеру, а пользователи все работают. С помощью Telegram можно отправить команду боту, пусть будет /MyBase_GetActiveUsers. Когда увидим, что пользователей нет, можно запустить /MyBase_UpdateDB.
Другой пример, хотим увидеть сколько задач выставлено нам в базе, отправляем /MyBase_GetTasks UserID. Или нужно узнать сколько новых заказов ждут обработки, тогда /MyBase_GetNewOrders.
Вариантов возможного использования масса, причем использовать бота может не только админ/программист, а директор, менеджер, бухгалтер и т.д.
Надеюсь теперь идея ясна.
29. JohnyDeath 302 30.10.15 16:34 Сейчас в теме
(28) идею-то я сразу понял. Я не понял почему все это нельзя обрабатывать на стороне 1С, используя, например, http-сервис?
Или, если лень заморачиваться с публикацией сервиса, создать регламентное задание, в котором будет периодически вызываться getUpdates телеграма?

Вы же создаете дополнительную прослойку, которая плюс ко всему имеет закрытый код.
30. salexdv 2459 02.11.15 09:10 Сейчас в теме
(29) JohnyDeath, программа использует NET.Framework, поэтому посмотреть код, нет никаких проблем.
Http-сервисы, конечно, можно использовать, можно даже и без них обойтись, но тогда придется либо изменять конфигурацию и держать web-сервер, либо постоянно держать открытым сеанс с обработкой, которая будет вызывать getUpdates. Так что в любом случае, как вы говорите "прослойка", какая-никакая, а нужна. Весь вопрос в том, самому её делать, либо взять готовую.
Моё решение позволяет все делать без изменения конфигурации(й) и не писать самому взаимодействие с Telegram API, а сосредоточится только на создании функционала бота.
Как я уже отмечал ранее, программа изначально писалась для собственных нужд, поэтому я никого не призываю пользоваться именно моим "велосипедом", тут каждый волен сделать свой.
31. nomadon 369 20.11.15 11:39 Сейчас в теме
32. salexdv 2459 20.11.15 12:50 Сейчас в теме
(31) nomadon, спасибо я оценил уже. Отличная вещь!
33. maxx 1002 25.01.16 11:49 Сейчас в теме
Подскажите, а то мало знаю по всякими месенджерам, боты, которые вы создаёте, доступны абсолютно другим пользователям Telegram. То есть я могу найти вашего бота и им воспользоваться злонамеренно?
34. salexdv 2459 25.01.16 14:40 Сейчас в теме
(33) maxx, если вы знаете имя бота, то сможете его найти и пользоваться
35. JohnyDeath 302 26.01.16 08:48 Сейчас в теме
(33), (34) но вроде как в боте можно прописать желаемых участников или схему входа (по паролю и т.п.), т.е. при желании левые акки к вам не придут
36. salexdv 2459 26.01.16 08:58 Сейчас в теме
(35) JohnyDeath, можно команды без пароля не принимать. Да и найти бота не зная его точного имени сложно
37. adhocprog 1187 12.02.16 15:28 Сейчас в теме
Прикольная штука )
38. amitin78 02.03.16 21:04 Сейчас в теме
Всем Доброго вечера. Подскажите студенту как заполнить файл settings. Всем заранее спасибо.
39. amitin78 02.03.16 21:25 Сейчас в теме
Разобрался.
Просьба подсказать как задать выполнение команды Боту в 1с. Для примера сделать Синхронизацию. Сам так сказать процесс.
40. amitin78 02.03.16 21:36 Сейчас в теме
И само собой как запустить саму 1с перед этим. Буду благодарен за подсказки.
41. salexdv 2459 03.03.16 08:57 Сейчас в теме
(40) amitin78, 1с запускать не надо. Telemonitor сам создает Com-соединение, когда получает команду. Что именно вам не понятно с командами? Файлы *.tcm - это и есть описание команд. Имя файла - это имя команды. Первая строка в файле - тектовое описание команды, начиная со второй строки - исполняемый в 1С код.
42. amitin78 03.03.16 19:42 Сейчас в теме
salexdv Спасибо с этим разобрался.
После этого возникло большое желание использовать данный момент в разных задачках. Просьба добавить функционал запуска BAT файлов. Поясню: файловая база, есть задачки которые делает робот через запуск BAT файлов по времени. Используя Ваш Телемонитор можно это дело сделать по нажатию команд в Телеграмме. Очень удобно было-бы. Как дополнение к запланированным процессам. Заранее спасибо.
43. salexdv 2459 03.03.16 21:46 Сейчас в теме
(42) amitin78, так запускаете батники через 1С, и ничего дорабатывать не придется :-)
Напишите в команде
ЗапуститьПриложение(<ПутьКФайлуBat>);
44. amitin78 04.03.16 22:28 Сейчас в теме
(43) Фся фишка запускать все по команде удаленно с телефона, планшета, компьютера. Как я с телефона дам команду в 1с? А вот через Ваш Telemonitor должно получиться. Просьба доработать функционал. Благодарных пользователей будет много как поймут плюсы. Спасибо.
45. salexdv 2459 05.03.16 10:45 Сейчас в теме
(44) amitin78, вы, видимо, не совсем поняли принцип работы. Посмотрите на схему вначале статьи. Вы с телефона в Telegram отдаете команду, а уже Telemonitor выполняет код команды в 1С. Получается вы на смартфоне выбираете команду "ЗапуститьBAT", а на компьютере, где стоит 1С и Telemonitor выполняется код
ЗапуститьПриложение(<ПутьКФайлуBat>);
. Таким образом через 1С запускается батник в системе.
46. amitin78 05.03.16 10:55 Сейчас в теме
Это(45) Это конечно да. То есть без 1с вообще не будем никакого действия? А вот скан например тоже средствами 1с сделан? Если тогда моя идея идет немного дальше. Запустить Батник не привлекая 1с. Это не возможно сделать?
47. amitin78 05.03.16 12:26 Сейчас в теме
salexdv как подсказали получилось УРА (ЗапуститьПриложение(<ПутьКФайлуBat>);).

Вопрос: создаю свой файл для команды *.tcm, не сразу подхватывает Телеграмм как команду. Ему время надо для этого, просьба уточнить.
48. salexdv 2459 05.03.16 14:12 Сейчас в теме
(47) amitin78, все команды считываются только при запуске Telemonitor. На ходу новые команды не подхватываются.
49. Il 34 16.03.16 07:47 Сейчас в теме
Классный и удобный бот!
есть маленькая хотелки:
- возможно ли в ini файлах баз прописывать каким юзерам телеграмма есть доступ? соответственно у этого юзера будут видны только команды его базы.
- и сделать разрешение/запрет на команды /screen также нужным юзверям?
ЗЫ. можу простимулировать на пивасик, для поднятия боевого тонуса ;)
50. salexdv 2459 16.03.16 10:14 Сейчас в теме
(49) Il, а почему именно в ini базы данных? Может лучше в глобальных настройках бота?
51. Il 34 16.03.16 13:20 Сейчас в теме
(50) в глобальном ini нет списка баз.
а так к примеру база А иванову, петрову, база Б всем, база С петрову и сидорову...
53. salexdv 2459 17.03.16 12:30 Сейчас в теме
(51) Il, ограничение по именам пользователей добавил. Описание в секции "Последние изменения".
54. Il 34 17.03.16 16:44 Сейчас в теме
(53) вот спасибо!
скажи куда благодарность можно перевести (тел, ya, visa)?
такие интересные идеи уже мона реализовать с этим функционалом...
55. salexdv 2459 17.03.16 17:06 Сейчас в теме
(54) Il, спасибо сказали, уже хорошо :-) Я в первую очередь для себя делал программу, а раз ещё кому-то пригодилось - вообще отлично.
vasiliy_b; +1 – Ответить
52. Il 34 16.03.16 13:30 Сейчас в теме
(50) ну и до кучи (что-то я разошелся ::) передавать в 1с параметром имя юзверя телеги (тоже можно вынести в настройку вкл/выкл)
56. Andrey_R91 17.03.16 19:06 Сейчас в теме
Доброго времени суток.
Отписываюсь в данной теме так как она более приближенная к моей задаче.
Для начала опишу конечную цель:
Нужно с определенных чатов удалять/добавлять пользователей, имея их номера телефонов.
Я так понимаю, бот телеграма нам не совсем здесь интересен, по этому нужно использовать именно методы обычного API.

В API есть методы управления чатами. Но не совсем понятно как можно узнать ID добавляемого контакта, зная его телефон?

Может кто сталкивался с подобной ситуацией? Кто-то сталкивался с взаимосвязью 1С - API Telegram ?
Буду благодарен за направления мыслей в нужную сторону :)
57. salexdv 2459 18.03.16 08:57 Сейчас в теме
(56) Andrey_R91, к сожалению, не встречал такого функционала
58. Dobermann86 30.03.16 11:35 Сейчас в теме
Кто нибудь подскажет как ботом получить файл(или фото) в 1С и дальше сохранить его на HDD?
59. salexdv 2459 30.03.16 12:48 Сейчас в теме
(58) Dobermann86,
Чтобы бот вернул файл, например, вы хотите получать какой-нибудь отчет или прайс, то в коде команды необходимо заполнить переменную Результат_Файл.

Сформируйте файл в 1С, сохраните на диск и поместите полное имя файла в переменную Результат_Файл
60. salexdv 2459 30.03.16 12:49 Сейчас в теме
(58) Dobermann86, вот здесь (6) я показывал, как такое сделать.
61. zhurba 23 11.04.16 00:42 Сейчас в теме
Оч.полезная штуковина! Спасибо ))

Пожелания :)
a. Было бы очень хорошо запускатьTelemonitor как сервис (!!!)
b. Хорошо бы иметь возможность настраивать "белый" список пользователей для каждой команды;
с. мелочь, но все же - в контекстное меню по иконке в трее добавить "Перезапустить".
62. zhurba 23 11.04.16 00:45 Сейчас в теме
Вдогонку:

d. Передавать в 1С имя пользователя, который отправил команду.
63. zhurba 23 11.04.16 23:06 Сейчас в теме
(62) И еще одна "хотелка":

е. Хотелось бы иметь возможность в папку с описанием базы положить файл "nocommand.tcm" и передавать в него сообщения от пользователя без слеша - не команды. Это позволит реализовывать "многоходовые" команды (как в @BotFather и пр.), т.е. сначала бот получает команду, а потом задает пользователю вопрос и ждет от него ответ (команды с параметрами менее юзабильные).
64. salexdv 2459 12.04.16 08:53 Сейчас в теме
(63) zhurba, спасибо за отзыв и пожелания. У меня была мысль реализовать "диалог" с ботом, но пока, к сожалению, совсем нет на это времени. Программа писалась буквально за 2 дня для решения одной насущной проблемы. Все остальные доработки делаю, когда есть свободное время, а это случается нечасто.
68. salexdv 2459 15.04.16 10:41 Сейчас в теме
(63) zhurba, добавил поддержку диалоговых команд. Теперь код команды можно описать так, чтобы бот запрашивал дополнительные параметры. Если есть возможность, проверьте и отпишитесь.
70. Vladimir_Konyrev 267 25.08.16 14:44 Сейчас в теме
(68)
Добрый день, подскажите можно ли организовать чат без установки каких-либо доп. приложений на сервер (все работают в терминале)?
71. salexdv 2459 25.08.16 14:50 Сейчас в теме
(70) Vladimir_Konyrev, приложение в каком-то смысле для создания чата, но не между людьми. Диалог Человек <-> Бот Telegram - вот назначение программы. Для создания чатов между сотрудниками вам надо найти что-то другое.
65. zhurba 23 12.04.16 15:03 Сейчас в теме
Обнаружилась неприятная "фича" :(

В чате случайно задел кнопку с микрофоном. Записанное аудио отправилось боту и тот "повис" - все последующие команды не обрабатываются. То же самое происходит если отправить боту фоточку.

"Полечил" бота отправкой через браузер команды getUpdate со смещением.
Хотел подключить к боту своих юзверей, но увы, придется пользоваться только мне одному...
66. salexdv 2459 12.04.16 15:48 Сейчас в теме
67. salexdv 2459 14.04.16 11:31 Сейчас в теме
(65) zhurba, ошибка, приводившая к зависанию, исправлена.
69. brrart 27 27.06.16 22:19 Сейчас в теме
Отличная штуковина. Всё просто и понятно. Супер!!!!
72. Снежный_человек 06.09.16 14:24 Сейчас в теме
Добрый день! Если включить бота в группу, то он понимает только команду /start. Если общаться с ботом напрямую, то понимает все команды, созданные мной в настройках. Хотелось бы, чтоб в группе он тоже работал. В группе все видят, кто, когда, какие команды боту давал.
73. salexdv 2459 06.09.16 15:20 Сейчас в теме
(72) Снежный_человек, с группами не работал. Обязательно проверю
103. Il 34 29.09.16 09:01 Сейчас в теме
(72) Присоединяюсь к просьбе... полезная фишка
104. salexdv 2459 29.09.16 09:08 Сейчас в теме
(103) Il, к какой просьбе? Если вы про команды с параметрами, то они есть и работают.
105. Il 34 01.10.16 02:25 Сейчас в теме
(104) я про добавление бота в группу.
121. Il 34 12.12.16 04:17 Сейчас в теме
вопрос (72), про добавление бота в группу еще смотрели?
74. Снежный_человек 06.09.16 15:51 Сейчас в теме
Есть еще вопрос, долго ли ждет бот параметра, когда используется команда с параметрами? Настраивается ли таймаут?
75. salexdv 2459 06.09.16 16:27 Сейчас в теме
(74) Снежный_человек, таймаута нет, бот будет ожидать бесконечно
76. Снежный_человек 07.09.16 10:54 Сейчас в теме
При тестировании в файловом режиме все ок. При тестировании в клиент серверном режиме на той же базе исполняемый код команды (пытаюсь провести документ) вываливается в исключение со следующей ошибкой

Ошибка при вызове метода контекста (Записать)
ЗаявкаОбъект.Записать(РежимЗаписиДокумента.Проведение);
по причине:
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода ПередЗаписьюЗаявки ()
77. Снежный_человек 07.09.16 10:56 Сейчас в теме
Процедура "ПередЗаписьюЗаявки()" находится в общем серверном модуле и на нее ссылается мной добавленная подписка на событие. Первый ее параметр - Источник
78. Снежный_человек 07.09.16 10:58 Сейчас в теме
Подозреваю, что то не так у вас в приложении с исполнением кода 1С &НаКлиенте и &НаСервере
80. salexdv 2459 07.09.16 11:27 Сейчас в теме
(78) Снежный_человек, в описании программы сказано, что весь код выполняется через метод Выполнить(). Всё это работает в режиме внешнего соединения. Проверьте свою конфигурацию на работу в режиме "Внешнее соединение" и "Внешнее соединение (клиент-сервер)". Думаю, проблема как раз в этом.
79. Снежный_человек 07.09.16 11:27 Сейчас в теме
Другими словами, если использовать подписку на событие документа "ПередЗаписью", то при исполнении процедуры этой подписки в общем серверном модуле с использованием параметра "Источник" в клиент серверном варианте не работает. Текст ошибки выше.
81. Снежный_человек 07.09.16 13:56 Сейчас в теме
Да, все верно. В указанном общем модуле установил галку "Внешнее соединение". Все заработало.
82. Снежный_человек 15.09.16 15:25 Сейчас в теме
Добрый день! Поставил нескольким юзверям. Обнаружил проблему зависания приложения телемонитор, причем, если жать на зависший экземпляр правой кнопкой мыши в трэе, то нет появления меню Выход. причем бот реагирует на команду старт, выдает список доступных команд, но на полученную из списка команду никак не реагирует. Лечится убиванием процесса telemonitor в диспетчере задач и перезапуском. До следующего повторения зависания.
83. Снежный_человек 15.09.16 15:25 Сейчас в теме
Файл лога ошибок не создается
84. salexdv 2459 15.09.16 16:00 Сейчас в теме
(83) Снежный_человек, у себя такого поведения не встречал. Что за операционная система?
85. Снежный_человек 15.09.16 16:39 Сейчас в теме
Windows 2008 Server. Я, правда, создал каждому юзеру отдельного бота и запускал несколько приложений в одном терминальном сеансе, причем переименовывал файл Telemonitor.exe в ****.exe, , где *** имя пользователя латиницей, чтобы видеть, чья именно копия телемонитора отваливается. Сейчас оставил только одну копию, проверить на предмет конфликта запущеных копий. Пока работает, часа 2
86. salexdv 2459 15.09.16 17:45 Сейчас в теме
(85) Снежный_человек, на Windows Server никогда не запускал, тем более несколько копий. Надо будет проверить, хотя на первый взгляд я тут никаких проблем не вижу. У меня месяцами работает и всё отлично.
87. Снежный_человек 16.09.16 09:42 Сейчас в теме
Я тоже не думаю, что может быть проблема с копиями. Еще наблюдение, что отваливались те копии, где Telegram на Айфоне. Хотя, скорее всего, совпадение. Какая разница, на чем клиент, если телемонитор общается с ботом...
88. salexdv 2459 16.09.16 09:55 Сейчас в теме
(87) Снежный_человек, нет, тут точно разницы нет т.к. телемонитор работает только с API Telegram. Проверю все варианты, какие смогу.
tereshenkoaa; +1 – Ответить
89. Снежный_человек 16.09.16 11:38 Сейчас в теме
Заметил сегодня подвисание тех копий телемонитора, которые за период своей работы вообще не получали ни одной команды от пользователя. Не реагирует на правую кнопку мыши в трэе. После этого пробую дать команду - в ответ тишина. Перезапускаю - работает.
90. Снежный_человек 19.09.16 11:24 Сейчас в теме
Добрый день! Все выходные телемонитор работал нормально (только одна копия сейчас запущена). Сегодня при получении первой команды от пользователя выдалась ошибка при выполнении команды.
В лог сегодня записалось сообщение 19.09.2016 12:09:55 - Не удалось выполнить команду "/1C_Utverdit": Адресат вызова создал исключение.
Выдано исключение типа "System.OutOfMemoryException".

Перезапустил телемонитор - все заработало. Использование памяти на серваке на этот помент 78 Гб занято из 98 Гб.
91. Снежный_человек 19.09.16 11:31 Сейчас в теме
Уточнение к предыдущему посту: ошибка возникла не при первом получении команды от пользователя. До возникновения ошибки он успешно утверждал заявки в течение минут 10, штук 8 утвердил, потом возникла ошибка.
92. Снежный_человек 19.09.16 22:15 Сейчас в теме
Еще более локализовал проблему. После первого запуска телемонитора он в диспетчере задач занимает около 13 мб. После получения команды, в момент создания сеанса с базой 1С он растет в размере занимаемой памяти и потом, по завершении сеанса, ее отпускает, но(!) не до прежнего размера, а занимает больше. И с каждой командой все больше и больше. Особенно это проявляется в командах с параметром. У меня директор утверждает заявки по одной по команде с параметром и каждое следующее выполнение команды увеличивает размер памяти, занимаемый телемонитором. 10-15 заявок подряд - рост с 13 мб до 500 мб. Возможно, рано или поздно памяти не хватит. Возможно, надо очищать память после полного выполнения команды?
93. salexdv 2459 20.09.16 08:56 Сейчас в теме
(92) Снежный_человек, спасибо за описание. Вы пробовали новую версию, ссылку на которую я отправил вам вчера? В ней, кстати, исправил несколько недочетов по использованию памяти.
94. Снежный_человек 20.09.16 10:12 Сейчас в теме
Добрый день! Потестировал, не работает вообще, даже в ответ на /start тишина. Вернул прежнюю версию. Заметил, что в старой версии при запуске телемонитора он сразу занимает примерно 13 Мб памяти и медленно растет, а в новой чуть более 9 и не растет ни сам, ни при команде
95. salexdv 2459 20.09.16 10:14 Сейчас в теме
(94) Снежный_человек, а какой Interval стоит в Settings.ini?
96. Снежный_человек 20.09.16 10:42 Сейчас в теме
Interval=1, что в старом дистрибутиве, что в новом. Я не менял сам
97. salexdv 2459 20.09.16 10:51 Сейчас в теме
(96) Снежный_человек, в логах что-нибудь есть в новой версии?
98. Снежный_человек 20.09.16 10:54 Сейчас в теме
Нет, на команды не реагирует, лог не создает, размер используемой памяти не меняется при получении команды
99. salexdv 2459 20.09.16 11:10 Сейчас в теме
(98) Снежный_человек, можете скинуть мне Settings.ini без BotToken на почту (отправил в ЛС)?
100. Снежный_человек 20.09.16 11:18 Сейчас в теме
Код в команде у меня построен следующим образом: в первом я получаю запросом данные о первой заявке, которая ожидает утверждения, и вместо Заголовки[0] = "Введите первый параметр:" пишу Заголовки[0] = "Утвердить заявку " + "Полученные запросом данные" + "?", а также сохраняю в регистр сведений ссылку о заявке, по которой был пользователю задан вопрос. После получения ответа от пользователя (во втором проходе) считываю из регистра сведений ссылку на заявку, выполняю над ней соотвествующие действия, очищаю запись регистра. Может, эта информация поможет, возможно, в телемониторе не очищается какой либо кэш после всех проходов команды с запросом параметра? Память растет с каждым новым повторением команды.
101. утюгчеловек 42 27.09.16 17:23 Сейчас в теме
Добавил поддержку команд с запросом параметров. Для того, чтобы бот запросил параметр, необходимо в коде команды использовать переменную ДиалогСПараметрами


А почему бы не поддерживать параметры в формате "/команда -параметр1 -параметр2 -параметр3". В чем сложность?
102. salexdv 2459 27.09.16 17:56 Сейчас в теме
(101) утюгчеловек, никакой сложности, такая передача параметров тоже поддерживается. Но не всегда удобно писать в одной строке и команду и параметы, иногда проще поэтапный запрос параметров. Плюс может быть ситуация, когда при разных значениях первого параметра будут запрошены разные типы последующих параметров.
106. SalavatRem 05.10.16 12:19 Сейчас в теме
Добрый День! А есть возможность вывести все команды через кнопки?
107. Il 34 06.10.16 03:45 Сейчас в теме
(106) SalavatRem, где-то видел у автора: если вместо *.tcm использовать *.tcm_b - то будут кнопки
108. SalavatRem 06.10.16 10:06 Сейчас в теме
(107) Il, Кнопки появились, но вот только перестали работать)))
109. Il 34 07.10.16 03:29 Сейчас в теме
(108) SalavatRem, я у себя проверил - работает. только у меня версия не самая последняя.
110. vadvas 6 21.10.16 10:47 Сейчас в теме
Кто разбирался с Telemonitor ? У 1с есть уже клиентское приложение 64 бита. Как прописать в файле
database.ini строчку: Version= ????
Ставлю Version= 83 - подключается если только нет никого в базе. На более старой платформе. Т.е.
на сегодняшний момент пользователи работают на 64 битном приложении. А Телемонитор пытается грузить 32 битное - чуть более старую платформу( но она в системе нужна, для других конфигураций). Подскажите как заставить Телемонитор грузить 64 битное приложение.
112. Il 34 23.10.16 07:16 Сейчас в теме
(110) vadvas, а в реестре библиотека comcntr.dll по какому пути зарегистрирована?
113. vadvas 6 24.10.16 08:26 Сейчас в теме
(112) У меня 3(три) платформы установлены. И библиотека comcntr.dll в реестре соотвественно 3(три) раза встречается по трем путям.
114. salexdv 2459 24.10.16 08:56 Сейчас в теме
(110) vadvas, вам нужно выполнить regsvr32 для comcntr.dll из того релиза, который хотите запускать.
115. vadvas 6 24.10.16 10:47 Сейчас в теме
(114) Спасибо, попробую. Позже отпишусь.
111. пользователь 21.10.16 10:48
Сообщение было скрыто модератором.
...
116. METAL 310 08.11.16 10:49 Сейчас в теме
Добрый день!
Скажите, а не приходилось ли Вам делать интеграцию с Facebook API https://developers.facebook.com/ ?
Иными словами, можно ли то же самое прикрутить не к Телеграм, а к Фейсбуку?
Просто в нашей компании никто Телеграм не использует, а интеграцию с каким-нибудь популярным мессенджером хотят, и несмотря на мои уговоры, даже пробовать телеграм не хотят, аргумент такой - вот есть Фейсбук, приложение у всех стоит, АПИ есть, пусть корпоративный бот работает на этой платформе...
Но мне пока не удалось найти ни одного примера реализации бота.. Это потому что на порядок сложней, чем с телеграмом, или просто руки не дошли ни у кого?..
117. salexdv 2459 08.11.16 11:15 Сейчас в теме
(116) METAL, здравствуйте! С мессенджером Facebook дела не имел. Как будет свободное время, обязательно гляну.
118. Fragster 1168 21.11.16 15:43 Сейчас в теме
Всё не читал. Отправлять сообщения может? В подсистему БСП для взаимодействий вписывается?
119. salexdv 2459 21.11.16 16:21 Сейчас в теме
(118) Fragster, а следовало бы всё прочитать. Телемонитор - отдельное приложение, которое выполняет код 1С в нужной информационной базе и, при необходимости, возвращает результат пользователю Telegram. Впишется ли этот код в БСП уже зависит от вас. Отправлять сообщения (делать рассылку) сам по себе Телемонитор не умеет, он лишь отвечает на прописанные команды тому пользователю, от которого данная команда пришла.
120. Il 34 12.12.16 04:00 Сейчас в теме
попробовал 1Sскрипт - удобно! (осталось освоить и переписать батники;)...
небольшая заметка:
если в переменой окружения path не задан путь к oscript.exe,
то в settings.ini в [Environment] пришлось указать полностью строку запуска
OneScriptPath="C:\Program Files(x86)\OneScript\bin\oscript.exe",
указания только пути "C:\Program Files(x86)\OneScript\bin\" оказалось недостаточно
123. yuran2000 8 15.01.17 23:44 Сейчас в теме
Небольшая просьба - а можно еще добавить функцию оповещения о событии?
Что бы не только отвечал/действовал на запросы, но и сам писал, например, при повторном запуске с параметром или появлении определенного файла.
126. M.Shalimov 207 01.02.17 18:36 Сейчас в теме
Спасибо за решение!

Не планируешь реализовать (может в отдельном решении) возможность отправки сообщений собеседникам? Рассылки/Напоминания и т.п.
127. salexdv 2459 01.02.17 21:40 Сейчас в теме
(126) Нет, такой функционал не планируется. Это и в 1С достаточно просто реализовать
128. user699268_220242 22.02.17 15:53 Сейчас в теме
А можно же ведь несколько ботов повесить на один апи?
129. salexdv 2459 22.02.17 16:17 Сейчас в теме
(128) Никакой привязки к IP нет, поэтому да, можно.
130. for_sale 901 09.03.17 13:26 Сейчас в теме
честно говоря, не понял, зачем нужна отдельная программа. По-моему, весь этот функционал можно реализовать только с помощью 1С. А то получается API для работы с API телеграммы.
131. salexdv 2459 09.03.17 14:26 Сейчас в теме
(130) Можно и в 1С сделать, кто же спорит. Мне было удобно реализовать так, как это сделано и в первую очередь делалось под себя. Если реализуете всё тоже самое отдельной конфигурацией, народ будет только благодарен.
132. rayastar 1585 19.06.17 23:12 Сейчас в теме
Коллеги, приветствую! С ботом разобрался, все отлично, но есть одно НО. Почему то иногда мои команды не обрабатываются. Опишу проблему. Отправляю команду - и надеюсь увидеть ее в входящем файле json. Но там остается какой то перечень старых команд...в чем может быть проблема? Вот только что отправил боту команду - пришел ответ, все ок. отправляю следующую команду - и в ответ тишина...Мне не совсем понятна логика формирования json файла
133. salexdv 2459 22.06.17 09:38 Сейчас в теме
(132) Здравствуйте, Марат! Т.е. иногда программа просто зависает и не реагирует на команды?
134. brrart 27 14.09.17 03:09 Сейчас в теме
(133) Проект больше не развивается? У меня такая же проблема как и в (132). Отработав одну-две команды программа замолкает.
135. rayastar 1585 14.09.17 10:04 Сейчас в теме
(134) проблему решил, вроде бы счетчик update_id отправлялся старый
нужно отправлять было новый
136. pyramber 20.10.17 08:00 Сейчас в теме
Привет! Расскажите, позволяет ли функционал Telemonitor отправлять со смартфона фотографии боту, чтобы бот перенаправлял их в 1С ?
Если подробнее, то это нужно для фиксации внешнего вида принимаемых в работу изделий (в момент приёмки). Для каждого принимаемого изделия создаётся новый договор контрагента в 1С. В форме договора предусмотрено прикрепление файлов/фотографий. При нажатии на значок прикрепления фотографии создаётся папка, соответствующая номеру договора.
Я прочёл всю тему, но я не сталкивался прежде с программированием именно в 1с.
Буду признателен за ответ и возможное содействие.
137. salexdv 2459 20.10.17 08:53 Сейчас в теме
(136) Привет! Такого функционала, к сожалению, нет. Бот умеет принимать только текстовые команды.
Возможно, в будущем добавлю, но это точно не быстро.
138. pyramber 20.10.17 09:01 Сейчас в теме
(137) спасибо! А есть идея как это реализовать? Или может встречали подобное?
139. salexdv 2459 20.10.17 09:49 Сейчас в теме
(138) С таким не сталкивался, но если рассуждать в логике программы, то всё равно придется писать код на языке 1С. Telemonitor так и работает, он исполняет команды в нужной базе. Для каждой команды Telegram есть привязка к выполняемому коду. Проблема в том, что программа не рассчитана на прием графических файлов и пока у меня нет идей, как это сделать.
141. brrart 27 21.02.18 09:41 Сейчас в теме
Автор, плиззз, подскажите ... в чем может быть проблема?

Стояли сервер и клиент х64 платформа 8.2.19.83 ... Телемонитор работал более менее хорошо, к базам цеплялся, ответы получал.
Обновили всё на версию платформы 8.3.10.2667 (х64) - работать перестал. Всё что может делать - это скрины присылать в телеграмм.
В файлах настройки баз настройку версии прописал (Version=83).
В реестре библиотека comcntr.dll зарегистрирована по новому пути.
142. salexdv 2459 21.02.18 10:19 Сейчас в теме
(141) В логах что-нибудь пишется? Должно быть описание ошибки, которая возникает при попытке установить соединение с базой и выполнении команды.
143. brrart 27 21.02.18 10:54 Сейчас в теме
(142) Файл лога вообще пустой
144. salexdv 2459 21.02.18 10:57 Сейчас в теме
(143) Включите отладку в ini-файле и попробуйте снова
[Debug]
Enabled=1
145. brrart 27 21.02.18 11:06 Сейчас в теме
(144) Тоже самое пишет что и в сообщении (140)
149. Il 34 06.04.18 16:53 Сейчас в теме
Здраствуйте.
опять маленькая хотелка возникла - можно ли команды 1скрипт тоже кнопками сделать?
по аналогии с tcm - tcm_b
150. salexdv 2459 06.04.18 17:54 Сейчас в теме
(149) Добавил. Скачайте новую версию. Для такой команды нужен файл с расширением *.os_b
151. Il 34 09.04.18 07:33 Сейчас в теме
(150) Спасибо! все работает!
152. Снежный_человек 16.04.18 14:44 Сейчас в теме
Здравствуйте! С блокировкой телеграм ожидаемо перестал работать телемонитор. Телеграм получилось заставить работать через SOCKS5-прокси. Телемонитор же не получилось. Указываю ему SOCKS5-прокси сервер (проверенный на телеграм в телефоне - работает). Запускаю с этим же прокси в настройках телемонитор - бот не откликается на команду start. Вот фрагмент файла settings.ini:
[Proxy]
UseProxy=1
Server=50.116.5.125
Port=1080
Username=
Password=

что то не так делаю?
153. salexdv 2459 16.04.18 15:07 Сейчас в теме
(152) Работа с SOCKS5 в данный момент не поддерживается
155. stako8 16.04.18 20:26 Сейчас в теме
(153) Может найдутся умельцы которые смогут подтянуть этот протокол через внешние компоненты...
162. salexdv 2459 19.04.18 09:39 Сейчас в теме
(152) (154) Добавил поддержку SOCKS5. В файле settings.ini секция [Proxy], параметр Type (0 - HTTP, 1 - SOCKS5)
154. SergMasss 10 16.04.18 20:05 Сейчас в теме
Ошибка работы с Интернет: Ошибка инициализации SSL-соединения..... Кто подскажет кто как обошел блокировку?
156. Снежный_человек 17.04.18 06:16 Сейчас в теме
А доступ к каким ресурсам в интернете необходим телемонитору и по каким протоколам?
157. Снежный_человек 17.04.18 07:48 Сейчас в теме
У меня пока заработал телемонитор через обычный HTTP прокси в интернете :)
158. salexdv 2459 17.04.18 07:53 Сейчас в теме
Обычный HTTP-прокси должен работать. SOCKS5 не поддерживается, но постараюсь добавить в ближайшие дни. Все запросы идут на https://api.telegram.org
159. Intruder86 17.04.18 11:50 Сейчас в теме
Прокси = Новый ИнтернетПрокси;
Прокси.Установить("https", "89.236.17.106", "3128");// первый попавшийся https прокси бесплатный поставил

Соединение = Новый HTTPСоединение(Сервер,443,,,Прокси,,Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос(Ресурс);
Ответ = Соединение.Получить(Запрос);
SergMasss; Evil-Wisp; +2 – Ответить
160. Evil-Wisp 17.04.18 12:08 Сейчас в теме
(159) Да, работает, только 3-й параметр - числом а не строкой. Лучше закинуть все три параметра в регистр или в константы и сделать себе уведомление, если вдруг перестанет работать, чтобы сразу поменять на другой.
161. Intruder86 17.04.18 12:45 Сейчас в теме
(160) Ну у меня работает на 8.2 и норм. Не будет работать - буду знать. Кто как реализует это дело программиста. Чай не дураки сидят. Основной код кинут. Дальше думайте какое значение откуда брать и т.д.
163. ndacoder 110 10.08.18 19:34 Сейчас в теме
Всем привет заполнил токен бота BotToken=6***:***
а в логе пишет
не заполнен токен бота
164. salexdv 2459 10.08.18 20:19 Сейчас в теме
(163) Кодировка файл settings.ini windows-1251? Файл лежит рядом с Telemonitor.exe? Секция [Main] над BotToken есть в файле?
165. ndacoder 110 11.08.18 20:15 Сейчас в теме
да наверно вопрос в кодировке, всё остальное работает
168. ndacoder 110 14.08.18 15:53 Сейчас в теме
в сеть входит без прокси напрямую. есть нат.

в сеттингс указаны настройки прокси одинаковые для обоих компов ( обычное прокси без сокс )
169. ndacoder 110 14.08.18 17:09 Сейчас в теме
вопрос решился thx.
170. salexdv 2459 14.08.18 17:14 Сейчас в теме
171. ndacoder 110 14.08.18 17:23 Сейчас в теме
я менял ключ а на сервере он был старый. заменил на новый и всё ок
172. denk32 23.10.18 14:38 Сейчас в теме
Добрый день.
Кто нибудь может подсказать в чем ошибка?
worker error: Ссылка на объект не указывает на экземпляр объекта.

И такая выходит у бота который в группе:
response err: JSON integer -1001323016660 is too large or small for an Int32. Path 'result[1].message.chat.id', line 3, position 231.
173. salexdv 2459 23.10.18 14:54 Сейчас в теме
(172) В какой момент возникает ошибка? Приведен текст ошибки из telemonitor.log? Отладка в settings.ini включена?
174. denk32 23.10.18 14:55 Сейчас в теме
(173)да. из telemonitor.log отладка включена.
175. salexdv 2459 23.10.18 15:14 Сейчас в теме
(173) Можете показать подробный вывод из лога?
177. nervanec 13.03.20 09:51 Сейчас в теме
Вообще не видит токен бота в settings
Settings.ini: не заполнен токен бота
Хотя все заполнено
178. salexdv 2459 13.03.20 10:07 Сейчас в теме
(177) Здравствуйте! Проверьте кодировку файла, она должна быть Windows-1251
179. nervanec 13.03.20 10:39 Сейчас в теме
(178)здравствуйте еще раз , да действительно почему то пока не пересоздал ини кодировка была не та ...
Но теперь другая проблема , он стучится к ссылке которой нету , я так понимаю это в dll где то ?
response err: Не удалось установить SSL-соединение с HTTP-сервером 'api.telegram.org'.
url: https://api.telegram.org/bot{0}/getUpdates?offset=0
180. brrart 27 19.05.21 05:04 Сейчас в теме
(179) Решение этой проблемы существует?
181. salexdv 2459 19.05.21 11:28 Сейчас в теме
(180) Не очень понятно, в чем состоит проблема. У вас адрес https://api.telegram.org/bot в браузере открывается? Используется ли прокси-сервер?
186. salexdv 2459 19.05.21 16:55 Сейчас в теме
(180) Выложил обновленную версию
182. brrart 27 19.05.21 11:38 Сейчас в теме
(181) Сам не пойму в чем проблема. Ссылка открывается.
Если в ссылке "https://api.telegram.org/bot{0}/getUpdates?offset=0" символы {0} заменить на токен бота, то можно даже читать свои сообщения.
Но программа все равно отказывается работать, забивая лог сообщениями
"19.05.2021 17:34:24 - debug (3): mt release
19.05.2021 17:34:24 - debug (3): wt 669
19.05.2021 17:34:25 - debug (3): url: https://api.telegram.org/bot{0}/getUpdates?offset=0
19.05.2021 17:34:25 - debug (3): mt wait
19.05.2021 17:34:25 - debug (3): request created
! 19.05.2021 17:34:25 - debug (3): response err: Не удалось установить SSL-соединение с HTTP-сервером 'api.telegram.org'.
19.05.2021 17:34:25 - debug (3): mt release
19.05.2021 17:34:25 - debug (3): wt 731
19.05.2021 17:34:26 - debug (3): url: https://api.telegram.org/bot{0}/getUpdates?offset=0
19.05.2021 17:34:26 - debug (3): mt wait
19.05.2021 17:34:26 - debug (3): request created
! 19.05.2021 17:34:26 - debug (3): response err: Не удалось установить SSL-соединение с HTTP-сервером 'api.telegram.org'."
с разными цифрами после wt ...

Попробовал и на рабочей машине Win10 x64 и на сервере Win Server 2016 Standart
Прокси не используется.
183. salexdv 2459 19.05.21 11:40 Сейчас в теме
(182) Можете выложить куда-нибудь ini-файл? Без токена, конечно
184. brrart 27 19.05.21 11:44 Сейчас в теме
(183) Ссылка https://drive.google.com/file/d/1EfIMkgcwaftiCpYo55C4mPLa0tlV88b5/view?usp=sharing

Там не делалось ни каких изменений, кроме отладочных сообщений в лог
185. salexdv 2459 19.05.21 11:51 Сейчас в теме
(184) Вечером постараюсь выложить последнюю версию. Там такой ошибки нет.
187. brrart 27 20.05.21 03:19 Сейчас в теме
(186) Всё заработало, спасибо!
Для отправки сообщения требуется регистрация/авторизация