Telemonitor - объединяем Telegram и 1С
Интеграция - Мессенджеры и боты
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка 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
Мессенджеры и боты 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
Мессенджеры и боты 1С:Предприятие 8 1С 8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Управленческий учет Платные (руб)
Расширение WhatsApp/MAX/Telegram-клиент для 1С работает через сервис Green-Api.com (WhatsApp/MAX/Telegram) и BotFather (Telegram). Это отправка/получение сообщений, изображений, смайлов, файлов из 1С.
15000 руб.
09.02.2024 14043 27 74
Мессенджеры и боты 1С 8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Россия Платные (руб)
Готовый чат-бот MAX для 1С виде расширения. Клиенты проверяют остатки и заказы прямо в мессенджере. Ролевая модель, гибкое меню, отправка файлов, диалоги. Подключайте свою логику через внешние обработки.
14640 руб.
26.03.2026 3920 5 0
Мессенджеры и боты SMS рассылки Email рассылки 1С:Предприятие 8 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)
Общение с клиентами несколькими операторами 1С с одного или нескольких аккаунтов Max, Telegram и WhatsApp в вашей базе 1С. Рассылки, чат-боты, сценарии. Работает как самостоятельное решение, так и в составе других конфигураций 1С 8.3 - 8.5.
5900 руб.
08.04.2020 59667 123 2
Мессенджеры и боты 1С 8.3 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 Платные (руб)
Обработка для быстрого подключения мессенджера MAX к любой конфигурации 1С.
10000 руб.
02.02.2026 8826 40 2
Учетные задачи Мессенджеры и боты 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)
Модуль отправки уведомлений и документов из 1С в мессенджер MAX. Счета, статусы заказов, автоподстановка данных. Без абонентской платы и скрытых комиссий.
5490 руб.
10.04.2026 2525 1 8
Мессенджеры и боты SMS рассылки 1С:Предприятие 8 1С:Управление нашей фирмой 3.0 Россия Платные (руб)
Решение реализовано в виде расширения. Заменяет отправку смс на отправку в WhatsApp через Green-api. Отправка чека картинкой.
7930 руб.
15.05.2024 5099 5 11
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: {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: {0}/getUpdates?offset=тутномер
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: {0}/sendMessage
15.01.2017 23:31:03 - debug (5): response: Ошибка при выполнении команды
14.08.2018 12:04:07 - debug (3): url: {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
А есть возможность возвращать не текст, а прикреплять файл, например?
Результат_Файл = КаталогВременныхФайлов() + "result.xls";
ТабДокумент = Новый ТабличныйДокумент();
ТабДокумент.Область(1, 1, 1, 1).Текст = "Тестовый файл";
ТабДокумент.Записать(Результат_Файл, ТипФайлаТабличногоДокумента.XLS97);Т.е. необходимо заполнить переменную Результат_Файл, тогда Telemonitor отправит указанный файл боту.
Разве не удобнее
1. Сделать отдельную БД, которая будет собирать состояния из целевых баз и показывать сводно при старте и по отдельности на весь экран (без каких-либо запросов со стороны оператора)
2. Нужные дополнительные сведения получать в один-два клика мыши в отельных окнах
3. Получать из базы периодические рассылки важной контроллируемой информации по электронной почте / SMS и по любым иным каналам сваязи
Но идея бота не в периодических оповещениях, а в предоставлении информации по требованию. Мне не нужно получать каждый день SMS (электронное письмо и т.д.) о том что все хорошо/все пропало. Я хочу видеть информацию, только когда у меня душа заболела.
Пытаюсь на 1С это же написать, по обмену сообщениями трудности не возникло, но вот отправку файла так и не победил.
Думаю, что не туда вставляю Токен.
Т.е., что б бот что-то сделал в базе и отправил отчет в виде файла.
Может, распишите принцип этого процесса?
Если найдете решение, дайте знать.
Тело запроса выглядит так
------------ebcd4ec6dea948099c4c47ca5c9541bd
Content-Disposition: form-data; name="chat_id"
XXXXXXXXX
------------ebcd4ec6dea948099c4c47ca5c9541bd
Content-Disposition: form-data; name="text"
test
------------ebcd4ec6dea948099c4c47ca5c9541bd-- Показатьиз RFC ничего особо не понять , нужно смотреть примеры кода на гитхабе и тд
Из-за того что 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.ПолучитьТелоКакСтроку();
Сообщить("Отчет:");
Сообщить(ДанныеКакСтрока);
ПоказатьТоже такое попробую.
МассивФайловДляОбъединения.Добавить(СокрЛП(Объект.ИмяФайла)); ТекстДляОтправки = "" + Символы.ПС; ТекстДляОтправки = ТекстДляОтправки + "--"+Boundary+"--"; ФайлаОтправкиКонец.ЗаписатьСтроку(ТекстДляОтправки); ФайлаОтправкиКонец.Закрыть(); МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправкиКонец);Не могу понять, что сюда добавляется? Что такое "Объект" ?
Вот здесь:
// ФОТО
ТекстДляОтправки = ТекстДляОтправки + "--"+Boundary + Символы.ПС;
ТекстДляОтправки = ТекстДляОтправки + "Content-Disposition: form-data; name=""photo""; filename=""01.jpg""" + Символы.ПС;
ТекстДляОтправки = ТекстДляОтправки + "Content-Type: image/jpeg" + Символы.ПС;filename это произвольное название?
а где передается сама картинка?
У меня сервер возвращает "IMAGE_PROCESS_FAILED" . Пожалуйста! Помогите! Третий день отправляю изображение, все никак не отправлю.....
1. мало документации с Вашей стороны.
2. т.к. код выполняется в безопасном режиме, некоторые вещи невозможно реализовать, например, перезагрузку сервера. Пытаюсь отключить безопасный режим, но...
Ошибка при вызове метода контекста (ЗапуститьПриложение)
Установлен безопасный режим. Выполнение операции запрещеноа так однозначный плюс
Да, действительно весь код запускается во внешней обработке, которая создается в безопасном режиме.
Я добавлю в настройки возможность запускать небезопасный режим.
А насчет документации даже и не знаю, что сказать. Я тут постарался максимально просто и доступно объяснить как все работает. Как создавать свои команды для бота написал. Если есть какие-то вопросы, пишите, обязательно отвечу.
Telemonitor немного про другое. Например, для обновления конфигурации БД требуется реструктуризация, которую невозможно выполнить с работающими пользователями. Дело к вечеру, а пользователи все работают. С помощью Telegram можно отправить команду боту, пусть будет /MyBase_GetActiveUsers. Когда увидим, что пользователей нет, можно запустить /MyBase_UpdateDB.
Другой пример, хотим увидеть сколько задач выставлено нам в базе, отправляем /MyBase_GetTasks UserID. Или нужно узнать сколько новых заказов ждут обработки, тогда /MyBase_GetNewOrders.
Вариантов возможного использования масса, причем использовать бота может не только админ/программист, а директор, менеджер, бухгалтер и т.д.
Надеюсь теперь идея ясна.
Или, если лень заморачиваться с публикацией сервиса, создать регламентное задание, в котором будет периодически вызываться getUpdates телеграма?
Вы же создаете дополнительную прослойку, которая плюс ко всему имеет закрытый код.
Http-сервисы, конечно, можно использовать, можно даже и без них обойтись, но тогда придется либо изменять конфигурацию и держать web-сервер, либо постоянно держать открытым сеанс с обработкой, которая будет вызывать getUpdates. Так что в любом случае, как вы говорите "прослойка", какая-никакая, а нужна. Весь вопрос в том, самому её делать, либо взять готовую.
Моё решение позволяет все делать без изменения конфигурации(й) и не писать самому взаимодействие с Telegram API, а сосредоточится только на создании функционала бота.
Как я уже отмечал ранее, программа изначально писалась для собственных нужд, поэтому я никого не призываю пользоваться именно моим "велосипедом", тут каждый волен сделать свой.
После этого возникло большое желание использовать данный момент в разных задачках. Просьба добавить функционал запуска BAT файлов. Поясню: файловая база, есть задачки которые делает робот через запуск BAT файлов по времени. Используя Ваш Телемонитор можно это дело сделать по нажатию команд в Телеграмме. Очень удобно было-бы. Как дополнение к запланированным процессам. Заранее спасибо.
ЗапуститьПриложение(<ПутьКФайлуBat>);есть маленькая хотелки:
- возможно ли в ini файлах баз прописывать каким юзерам телеграмма есть доступ? соответственно у этого юзера будут видны только команды его базы.
- и сделать разрешение/запрет на команды /screen также нужным юзверям?
ЗЫ. можу простимулировать на пивасик, для поднятия боевого тонуса ;)
Отписываюсь в данной теме так как она более приближенная к моей задаче.
Для начала опишу конечную цель:
Нужно с определенных чатов удалять/добавлять пользователей, имея их номера телефонов.
Я так понимаю, бот телеграма нам не совсем здесь интересен, по этому нужно использовать именно методы обычного API.
В API есть методы управления чатами. Но не совсем понятно как можно узнать ID добавляемого контакта, зная его телефон?
Может кто сталкивался с подобной ситуацией? Кто-то сталкивался с взаимосвязью 1С - API Telegram ?
Буду благодарен за направления мыслей в нужную сторону :)
Сформируйте файл в 1С, сохраните на диск и поместите полное имя файла в переменную Результат_Файл
Пожелания :)
a. Было бы очень хорошо запускатьTelemonitor как сервис (!!!)
b. Хорошо бы иметь возможность настраивать "белый" список пользователей для каждой команды;
с. мелочь, но все же - в контекстное меню по иконке в трее добавить "Перезапустить".
е. Хотелось бы иметь возможность в папку с описанием базы положить файл "nocommand.tcm" и передавать в него сообщения от пользователя без слеша - не команды. Это позволит реализовывать "многоходовые" команды (как в @BotFather и пр.), т.е. сначала бот получает команду, а потом задает пользователю вопрос и ждет от него ответ (команды с параметрами менее юзабильные).
Добрый день, подскажите можно ли организовать чат без установки каких-либо доп. приложений на сервер (все работают в терминале)?
В чате случайно задел кнопку с микрофоном. Записанное аудио отправилось боту и тот "повис" - все последующие команды не обрабатываются. То же самое происходит если отправить боту фоточку.
"Полечил" бота отправкой через браузер команды getUpdate со смещением.
Хотел подключить к боту своих юзверей, но увы, придется пользоваться только мне одному...
Ошибка при вызове метода контекста (Записать)
ЗаявкаОбъект.Записать(РежимЗаписиДокумента.Проведение);
по причине:
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода ПередЗаписьюЗаявки ()
В лог сегодня записалось сообщение 19.09.2016 12:09:55 - Не удалось выполнить команду "/1C_Utverdit": Адресат вызова создал исключение.
Выдано исключение типа "System.OutOfMemoryException".
Перезапустил телемонитор - все заработало. Использование памяти на серваке на этот помент 78 Гб занято из 98 Гб.
А почему бы не поддерживать параметры в формате "/команда -параметр1 -параметр2 -параметр3". В чем сложность?
database.ini строчку: Version= ????
Ставлю Version= 83 - подключается если только нет никого в базе. На более старой платформе. Т.е.
на сегодняшний момент пользователи работают на 64 битном приложении. А Телемонитор пытается грузить 32 битное - чуть более старую платформу( но она в системе нужна, для других конфигураций). Подскажите как заставить Телемонитор грузить 64 битное приложение.
Скажите, а не приходилось ли Вам делать интеграцию с Facebook API ?
Иными словами, можно ли то же самое прикрутить не к Телеграм, а к Фейсбуку?
Просто в нашей компании никто Телеграм не использует, а интеграцию с каким-нибудь популярным мессенджером хотят, и несмотря на мои уговоры, даже пробовать телеграм не хотят, аргумент такой - вот есть Фейсбук, приложение у всех стоит, АПИ есть, пусть корпоративный бот работает на этой платформе...
Но мне пока не удалось найти ни одного примера реализации бота.. Это потому что на порядок сложней, чем с телеграмом, или просто руки не дошли ни у кого?..
небольшая заметка:
если в переменой окружения path не задан путь к oscript.exe,
то в settings.ini в [Environment] пришлось указать полностью строку запуска
OneScriptPath="C:\Program Files(x86)\OneScript\bin\oscript.exe",
указания только пути "C:\Program Files(x86)\OneScript\bin\" оказалось недостаточно
Не планируешь реализовать (может в отдельном решении) возможность отправки сообщений собеседникам? Рассылки/Напоминания и т.п.
Если подробнее, то это нужно для фиксации внешнего вида принимаемых в работу изделий (в момент приёмки). Для каждого принимаемого изделия создаётся новый договор контрагента в 1С. В форме договора предусмотрено прикрепление файлов/фотографий. При нажатии на значок прикрепления фотографии создаётся папка, соответствующая номеру договора.
Я прочёл всю тему, но я не сталкивался прежде с программированием именно в 1с.
Буду признателен за ответ и возможное содействие.
Стояли сервер и клиент х64 платформа 8.2.19.83 ... Телемонитор работал более менее хорошо, к базам цеплялся, ответы получал.
Обновили всё на версию платформы 8.3.10.2667 (х64) - работать перестал. Всё что может делать - это скрины присылать в телеграмм.
В файлах настройки баз настройку версии прописал (Version=83).
В реестре библиотека comcntr.dll зарегистрирована по новому пути.
[Proxy]
UseProxy=1
Server=50.116.5.125
Port=1080
Username=
Password=
что то не так делаю?
Прокси.Установить("https", "89.236.17.106", "3128");// первый попавшийся https прокси бесплатный поставил
Соединение = Новый HTTPСоединение(Сервер,443,,,Прокси,,Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос(Ресурс);
Ответ = Соединение.Получить(Запрос);
Кто нибудь может подсказать в чем ошибка?
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.
Но теперь другая проблема , он стучится к ссылке которой нету , я так понимаю это в dll где то ?
response err: Не удалось установить SSL-соединение с HTTP-сервером 'api.telegram.org'.
url: {0}/getUpdates?offset=0
Если в ссылке "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: {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: {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
Прокси не используется.
Рейтинг: 2459
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 387433
Создание 09.08.15 14:22
Обновление 19.05.21 16:53
Просмотры 136972
Загрузки 243
Рейтинг
184
Комментарии 186
Код открыт Нет
Рубрики Мессенджеры и боты
Кому
Системный администратор
,
Разработчик
Тип файла Архив с данными
Платформа 1С:Предприятие 8
Конфигурация 1C:Бухгалтерия
Операционная система Windows
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)