0. salexdv 1571 08.08.15 16:15 Сейчас в теме

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

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

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
86. salexdv 1571 15.09.16 17:45 Сейчас в теме
(85) Снежный_человек, на Windows Server никогда не запускал, тем более несколько копий. Надо будет проверить, хотя на первый взгляд я тут никаких проблем не вижу. У меня месяцами работает и всё отлично.
87. Снежный_человек 16.09.16 09:42 Сейчас в теме
Я тоже не думаю, что может быть проблема с копиями. Еще наблюдение, что отваливались те копии, где Telegram на Айфоне. Хотя, скорее всего, совпадение. Какая разница, на чем клиент, если телемонитор общается с ботом...
88. salexdv 1571 16.09.16 09:55 Сейчас в теме
(87) Снежный_человек, нет, тут точно разницы нет т.к. телемонитор работает только с API Telegram. Проверю все варианты, какие смогу.
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 1571 20.09.16 08:56 Сейчас в теме
(92) Снежный_человек, спасибо за описание. Вы пробовали новую версию, ссылку на которую я отправил вам вчера? В ней, кстати, исправил несколько недочетов по использованию памяти.
94. Снежный_человек 20.09.16 10:12 Сейчас в теме
Добрый день! Потестировал, не работает вообще, даже в ответ на /start тишина. Вернул прежнюю версию. Заметил, что в старой версии при запуске телемонитора он сразу занимает примерно 13 Мб памяти и медленно растет, а в новой чуть более 9 и не растет ни сам, ни при команде
95. salexdv 1571 20.09.16 10:14 Сейчас в теме
(94) Снежный_человек, а какой Interval стоит в Settings.ini?
96. Снежный_человек 20.09.16 10:42 Сейчас в теме
Interval=1, что в старом дистрибутиве, что в новом. Я не менял сам
97. salexdv 1571 20.09.16 10:51 Сейчас в теме
(96) Снежный_человек, в логах что-нибудь есть в новой версии?
98. Снежный_человек 20.09.16 10:54 Сейчас в теме
Нет, на команды не реагирует, лог не создает, размер используемой памяти не меняется при получении команды
99. salexdv 1571 20.09.16 11:10 Сейчас в теме
(98) Снежный_человек, можете скинуть мне Settings.ini без BotToken на почту (отправил в ЛС)?
100. Снежный_человек 20.09.16 11:18 Сейчас в теме
Код в команде у меня построен следующим образом: в первом я получаю запросом данные о первой заявке, которая ожидает утверждения, и вместо Заголовки[0] = "Введите первый параметр:" пишу Заголовки[0] = "Утвердить заявку " + "Полученные запросом данные" + "?", а также сохраняю в регистр сведений ссылку о заявке, по которой был пользователю задан вопрос. После получения ответа от пользователя (во втором проходе) считываю из регистра сведений ссылку на заявку, выполняю над ней соотвествующие действия, очищаю запись регистра. Может, эта информация поможет, возможно, в телемониторе не очищается какой либо кэш после всех проходов команды с запросом параметра? Память растет с каждым новым повторением команды.
101. утюгчеловек 27.09.16 17:23 Сейчас в теме
Добавил поддержку команд с запросом параметров. Для того, чтобы бот запросил параметр, необходимо в коде команды использовать переменную ДиалогСПараметрами


А почему бы не поддерживать параметры в формате "/команда -параметр1 -параметр2 -параметр3". В чем сложность?
102. salexdv 1571 27.09.16 17:56 Сейчас в теме
(101) утюгчеловек, никакой сложности, такая передача параметров тоже поддерживается. Но не всегда удобно писать в одной строке и команду и параметы, иногда проще поэтапный запрос параметров. Плюс может быть ситуация, когда при разных значениях первого параметра будут запрошены разные типы последующих параметров.
106. SalavatRem 05.10.16 12:19 Сейчас в теме
Добрый День! А есть возможность вывести все команды через кнопки?
107. Il 16 06.10.16 03:45 Сейчас в теме
(106) SalavatRem, где-то видел у автора: если вместо *.tcm использовать *.tcm_b - то будут кнопки
108. SalavatRem 06.10.16 10:06 Сейчас в теме
(107) Il, Кнопки появились, но вот только перестали работать)))
109. Il 16 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 16 23.10.16 07:16 Сейчас в теме
(110) vadvas, а в реестре библиотека comcntr.dll по какому пути зарегистрирована?
113. vadvas 6 24.10.16 08:26 Сейчас в теме
(112) У меня 3(три) платформы установлены. И библиотека comcntr.dll в реестре соотвественно 3(три) раза встречается по трем путям.
114. salexdv 1571 24.10.16 08:56 Сейчас в теме
(110) vadvas, вам нужно выполнить regsvr32 для comcntr.dll из того релиза, который хотите запускать.
115. vadvas 6 24.10.16 10:47 Сейчас в теме
(114) Спасибо, попробую. Позже отпишусь.
116. METAL 108 08.11.16 10:49 Сейчас в теме
Добрый день!
Скажите, а не приходилось ли Вам делать интеграцию с Facebook API https://developers.facebook.com/ ?
Иными словами, можно ли то же самое прикрутить не к Телеграм, а к Фейсбуку?
Просто в нашей компании никто Телеграм не использует, а интеграцию с каким-нибудь популярным мессенджером хотят, и несмотря на мои уговоры, даже пробовать телеграм не хотят, аргумент такой - вот есть Фейсбук, приложение у всех стоит, АПИ есть, пусть корпоративный бот работает на этой платформе...
Но мне пока не удалось найти ни одного примера реализации бота.. Это потому что на порядок сложней, чем с телеграмом, или просто руки не дошли ни у кого?..
117. salexdv 1571 08.11.16 11:15 Сейчас в теме
(116) METAL, здравствуйте! С мессенджером Facebook дела не имел. Как будет свободное время, обязательно гляну.
118. Fragster 939 21.11.16 15:43 Сейчас в теме
Всё не читал. Отправлять сообщения может? В подсистему БСП для взаимодействий вписывается?
119. salexdv 1571 21.11.16 16:21 Сейчас в теме
(118) Fragster, а следовало бы всё прочитать. Телемонитор - отдельное приложение, которое выполняет код 1С в нужной информационной базе и, при необходимости, возвращает результат пользователю Telegram. Впишется ли этот код в БСП уже зависит от вас. Отправлять сообщения (делать рассылку) сам по себе Телемонитор не умеет, он лишь отвечает на прописанные команды тому пользователю, от которого данная команда пришла.
120. Il 16 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 7 15.01.17 23:44 Сейчас в теме
Небольшая просьба - а можно еще добавить функцию оповещения о событии?
Что бы не только отвечал/действовал на запросы, но и сам писал, например, при повторном запуске с параметром или появлении определенного файла.
126. M.Shalimov 166 01.02.17 18:36 Сейчас в теме
Спасибо за решение!

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

Стояли сервер и клиент х64 платформа 8.2.19.83 ... Телемонитор работал более менее хорошо, к базам цеплялся, ответы получал.
Обновили всё на версию платформы 8.3.10.2667 (х64) - работать перестал. Всё что может делать - это скрины присылать в телеграмм.
В файлах настройки баз настройку версии прописал (Version=83).
В реестре библиотека comcntr.dll зарегистрирована по новому пути.
142. salexdv 1571 21.02.18 10:19 Сейчас в теме
(141) В логах что-нибудь пишется? Должно быть описание ошибки, которая возникает при попытке установить соединение с базой и выполнении команды.
143. brrart 24 21.02.18 10:54 Сейчас в теме
(142) Файл лога вообще пустой
144. salexdv 1571 21.02.18 10:57 Сейчас в теме
(143) Включите отладку в ini-файле и попробуйте снова
[Debug]
Enabled=1
145. brrart 24 21.02.18 11:06 Сейчас в теме
(144) Тоже самое пишет что и в сообщении (140)
149. Il 16 06.04.18 16:53 Сейчас в теме
Здраствуйте.
опять маленькая хотелка возникла - можно ли команды 1скрипт тоже кнопками сделать?
по аналогии с tcm - tcm_b
150. salexdv 1571 06.04.18 17:54 Сейчас в теме
(149) Добавил. Скачайте новую версию. Для такой команды нужен файл с расширением *.os_b
151. Il 16 09.04.18 07:33 Сейчас в теме
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 1571 16.04.18 15:07 Сейчас в теме
(152) Работа с SOCKS5 в данный момент не поддерживается
155. stako8 16.04.18 20:26 Сейчас в теме
(153) Может найдутся умельцы которые смогут подтянуть этот протокол через внешние компоненты...
162. salexdv 1571 19.04.18 09:39 Сейчас в теме
(152) (154) Добавил поддержку SOCKS5. В файле settings.ini секция [Proxy], параметр Type (0 - HTTP, 1 - SOCKS5)
154. user790109 8 16.04.18 20:05 Сейчас в теме
Ошибка работы с Интернет: Ошибка инициализации SSL-соединения..... Кто подскажет кто как обошел блокировку?
156. Снежный_человек 17.04.18 06:16 Сейчас в теме
А доступ к каким ресурсам в интернете необходим телемонитору и по каким протоколам?
157. Снежный_человек 17.04.18 07:48 Сейчас в теме
У меня пока заработал телемонитор через обычный HTTP прокси в интернете :)
158. salexdv 1571 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Запрос(Ресурс);
Ответ = Соединение.Получить(Запрос);
user790109; 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 109 10.08.18 19:34 Сейчас в теме
Всем привет заполнил токен бота BotToken=6***:***
а в логе пишет
не заполнен токен бота
164. salexdv 1571 10.08.18 20:19 Сейчас в теме
(163) Кодировка файл settings.ini windows-1251? Файл лежит рядом с Telemonitor.exe? Секция [Main] над BotToken есть в файле?
165. ndacoder 109 11.08.18 20:15 Сейчас в теме
да наверно вопрос в кодировке, всё остальное работает
168. ndacoder 109 14.08.18 15:53 Сейчас в теме
в сеть входит без прокси напрямую. есть нат.

в сеттингс указаны настройки прокси одинаковые для обоих компов ( обычное прокси без сокс )
169. ndacoder 109 14.08.18 17:09 Сейчас в теме
170. salexdv 1571 14.08.18 17:14 Сейчас в теме
171. ndacoder 109 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 1571 23.10.18 14:54 Сейчас в теме
(172) В какой момент возникает ошибка? Приведен текст ошибки из telemonitor.log? Отладка в settings.ini включена?
174. denk32 23.10.18 14:55 Сейчас в теме
(173)да. из telemonitor.log отладка включена.
175. salexdv 1571 23.10.18 15:14 Сейчас в теме
(173) Можете показать подробный вывод из лога?
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Программист/Cтарший программист 1С
Москва
зарплата от 100 000 руб. до 250 000 руб.
Полный день

Программист 1С
Калининград
зарплата от 60 000 руб. до 80 000 руб.
Полный день

Руководитель проектов 1С
Санкт-Петербург
Полный день