Интеграция OTRS -> Telegram (1)
Модератор: ykolesnikov
Re: Интеграция OTRS -> Telegram (1)
Спасибо огромное за статью.
Очень требуется помощь.
Имеется бот и только один канал.
Вроде, все верно по статье настроил, но так и не понял, в каком месте нужно указывать chat_id и как настроить отправку сообщений в канал только для одной очереди otrs?
Все время выдает ошибку:
Response content: '{"ok":false,"error_code":400,"description":"Bad Request: chat_id is empty"}'
Error while performing REST 'POST' request to Controller 'sendMessage' on Host 'https://api.telegram.org/bot2XXXXX:XYXERTYXZUUUIE'. Response code '400'
Спасибо заранее за помощь.
Очень требуется помощь.
Имеется бот и только один канал.
Вроде, все верно по статье настроил, но так и не понял, в каком месте нужно указывать chat_id и как настроить отправку сообщений в канал только для одной очереди otrs?
Все время выдает ошибку:
Response content: '{"ok":false,"error_code":400,"description":"Bad Request: chat_id is empty"}'
Error while performing REST 'POST' request to Controller 'sendMessage' on Host 'https://api.telegram.org/bot2XXXXX:XYXERTYXZUUUIE'. Response code '400'
Спасибо заранее за помощь.
-
- OTRS Новобранец
- Сообщения: 9
- Зарегистрирован: 20 май 2021, 13:59
- Благодарил (а): 2 раза
- Поблагодарили: 1 раз
Re: Интеграция OTRS -> Telegram (1)
Попробую ответить в картинках ) на картинках цифрами указана последовательность.Freelord писал(а): ↑01 окт 2021, 12:41Спасибо огромное за статью.
Очень требуется помощь.
Имеется бот и только один канал.
Вроде, все верно по статье настроил, но так и не понял, в каком месте нужно указывать chat_id и как настроить отправку сообщений в канал только для одной очереди otrs?
Все время выдает ошибку:
Response content: '{"ok":false,"error_code":400,"description":"Bad Request: chat_id is empty"}'
Error while performing REST 'POST' request to Controller 'sendMessage' on Host 'https://api.telegram.org/bot2XXXXX:XYXERTYXZUUUIE'. Response code '400'
Спасибо заранее за помощь.
- Вложения
-
- QIP Shot - Screen 003.png (6.28 КБ) 58436 просмотров
-
- QIP Shot - Screen 002.png (1.89 КБ) 58436 просмотров
-
- QIP Shot - Screen 001.png (4.89 КБ) 58436 просмотров
-
- OTRS Новобранец
- Сообщения: 9
- Зарегистрирован: 20 май 2021, 13:59
- Благодарил (а): 2 раза
- Поблагодарили: 1 раз
Re: Интеграция OTRS -> Telegram (1)
из-за ограничения вложений.
И сразу вопрос, а вы token бота указали? https://api.telegram.org/bot2XXXXX:XYXERTYXZUUUIE - это смущает.Freelord писал(а): ↑01 окт 2021, 12:41Response content: '{"ok":false,"error_code":400,"description":"Bad Request: chat_id is empty"}'
Error while performing REST 'POST' request to Controller 'sendMessage' on Host 'https://api.telegram.org/bot2XXXXX:XYXERTYXZUUUIE'. Response code '400'
- Вложения
-
- QIP Shot - Screen 005.png (62.38 КБ) 58435 просмотров
-
- QIP Shot - Screen 004.png (41.72 КБ) 58435 просмотров
Re: Интеграция OTRS -> Telegram (1)
Спасибо за помощь. Смешно получилось. В пятницу перед уходом с работы еще раз прикинул, что на что должно меняться, сделал настройки и ушел домой. А сегодня утром обнаружил, что сообщения успешно отправляются в канал. ![Улыбается :)](./images/smilies/icon_e_smile.gif)
Но, возникла другая проблемма. Хотел добавить в сообщения информацию об имени клиента и тему тикета. Для этого в файл
/opt/otrs/Custom/Kernel/GenericInterface/Invoker/Telegram/TelegramTxt.pm внес изменения, как указанно выше:
my %CustomerUser = $CustomerUserObject->CustomerUserDataGet(
User => $Ticket{CustomerUserID} ,
);
($TeleText{Data}->{text}=qq{
NEW: #$Ticket{TicketNumber}
Department: $Ticket{CustomerID}
Person ID: $Ticket{CustomerUserID}
Person: $CustomerUser{UserFirstname} $CustomerUser{UserLastname}
Title: $Ticket{Title}
Type: $Ticket{Type}
Changed : $Ticket{Changed}
}) =~ s/^[\t ]*//mg;
Но, после сохранения изменений инвокер постоянно пишет ошибку:
$VAR1 = {
'ErrorMessage' => 'Can\'t load invoker backend module!',
'Success' => 0
};
После удаления внесенных изменений все опять функционирует.
Может, кто знает, как эту ошибку победить?
Спасибо.
P.S. Когда внес изменения для получения текста заявки и сохранил файл, никакого сообщения об ошибке не последовало.
![Улыбается :)](./images/smilies/icon_e_smile.gif)
Но, возникла другая проблемма. Хотел добавить в сообщения информацию об имени клиента и тему тикета. Для этого в файл
/opt/otrs/Custom/Kernel/GenericInterface/Invoker/Telegram/TelegramTxt.pm внес изменения, как указанно выше:
my %CustomerUser = $CustomerUserObject->CustomerUserDataGet(
User => $Ticket{CustomerUserID} ,
);
($TeleText{Data}->{text}=qq{
NEW: #$Ticket{TicketNumber}
Department: $Ticket{CustomerID}
Person ID: $Ticket{CustomerUserID}
Person: $CustomerUser{UserFirstname} $CustomerUser{UserLastname}
Title: $Ticket{Title}
Type: $Ticket{Type}
Changed : $Ticket{Changed}
}) =~ s/^[\t ]*//mg;
Но, после сохранения изменений инвокер постоянно пишет ошибку:
$VAR1 = {
'ErrorMessage' => 'Can\'t load invoker backend module!',
'Success' => 0
};
После удаления внесенных изменений все опять функционирует.
Может, кто знает, как эту ошибку победить?
Спасибо.
P.S. Когда внес изменения для получения текста заявки и сохранил файл, никакого сообщения об ошибке не последовало.
-
- OTRS Новобранец
- Сообщения: 9
- Зарегистрирован: 20 май 2021, 13:59
- Благодарил (а): 2 раза
- Поблагодарили: 1 раз
Re: Интеграция OTRS -> Telegram (1)
Доброго времени суток.Freelord писал(а): ↑04 окт 2021, 14:47Спасибо за помощь. Смешно получилось. В пятницу перед уходом с работы еще раз прикинул, что на что должно меняться, сделал настройки и ушел домой. А сегодня утром обнаружил, что сообщения успешно отправляются в канал.
Но, возникла другая проблемма. Хотел добавить в сообщения информацию об имени клиента и тему тикета. Для этого в файл
/opt/otrs/Custom/Kernel/GenericInterface/Invoker/Telegram/TelegramTxt.pm внес изменения, как указанно выше:
my %CustomerUser = $CustomerUserObject->CustomerUserDataGet(
User => $Ticket{CustomerUserID} ,
);
($TeleText{Data}->{text}=qq{
NEW: #$Ticket{TicketNumber}
Department: $Ticket{CustomerID}
Person ID: $Ticket{CustomerUserID}
Person: $CustomerUser{UserFirstname} $CustomerUser{UserLastname}
Title: $Ticket{Title}
Type: $Ticket{Type}
Changed : $Ticket{Changed}
}) =~ s/^[\t ]*//mg;
Но, после сохранения изменений инвокер постоянно пишет ошибку:
$VAR1 = {
'ErrorMessage' => 'Can\'t load invoker backend module!',
'Success' => 0
};
После удаления внесенных изменений все опять функционирует.
Может, кто знает, как эту ошибку победить?
Спасибо.
P.S. Когда внес изменения для получения текста заявки и сохранил файл, никакого сообщения об ошибке не последовало.
добавьте вот это:
my $CustomerUserObject = $Kernel::OM->Get('Kernel::System::CustomerUser');
под этой строчкой:
my $CustomerCompanyObject = $Kernel::OM->Get('Kernel::System::CustomerCompany');
И повторите попытку с добавлением имени Клиента.
Re: Интеграция OTRS -> Telegram (1)
Спасибо огромное за помощь. Теперь работает без ошибки.cheba писал(а): ↑05 окт 2021, 11:37
Доброго времени суток.
добавьте вот это:
my $CustomerUserObject = $Kernel::OM->Get('Kernel::System::CustomerUser');
под этой строчкой:
my $CustomerCompanyObject = $Kernel::OM->Get('Kernel::System::CustomerCompany');
И повторите попытку с добавлением имени Клиента.
-
- OTRS Новобранец
- Сообщения: 34
- Зарегистрирован: 02 июн 2016, 10:57
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Интеграция OTRS -> Telegram (1)
Вроде все настроил, но в дебаге вот такая ошибка, не пойму - это в настройках дело или провайдер блокирует?
curl проходит
curl проходит
- Вложения
-
- 2021-10-20_14-43-47.png (24.62 КБ) 58236 просмотров
-
- OTRS Новобранец
- Сообщения: 34
- Зарегистрирован: 02 июн 2016, 10:57
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Интеграция OTRS -> Telegram (1)
Вот ответ Curl, OTRS 6 использую, настройки прокси не делал
- Вложения
-
- 2021-10-20_15-17-47.png (15.35 КБ) 58236 просмотров
-
- OTRS Новобранец
- Сообщения: 34
- Зарегистрирован: 02 июн 2016, 10:57
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Интеграция OTRS -> Telegram (1)
Заработало, разобрался сам - нужно было Perl модули IO::Socket::SSL обновить до последней версии
-
- OTRS Новобранец
- Сообщения: 34
- Зарегистрирован: 02 июн 2016, 10:57
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Интеграция OTRS -> Telegram (1)
Такая же проблемы - при добавлении кода:Freelord писал(а): ↑05 окт 2021, 12:13Спасибо огромное за помощь. Теперь работает без ошибки.cheba писал(а): ↑05 окт 2021, 11:37
Доброго времени суток.
добавьте вот это:
my $CustomerUserObject = $Kernel::OM->Get('Kernel::System::CustomerUser');
под этой строчкой:
my $CustomerCompanyObject = $Kernel::OM->Get('Kernel::System::CustomerCompany');
И повторите попытку с добавлением имени Клиента.
my %CustomerUser = $CustomerUserObject->CustomerUserDataGet(
User => $Ticket{CustomerUserID} ,
);
($TeleText{Data}->{text}=qq{
NEW: #$Ticket{TicketNumber}
Department: $Ticket{CustomerID}
Person ID: $Ticket{CustomerUserID}
Person: $CustomerUser{UserFirstname} $CustomerUser{UserLastname}
Title: $Ticket{Title}
Type: $Ticket{Type}
Changed : $Ticket{Changed}
}) =~ s/^[\t ]*//mg;
в дебаге выскакивает ошибка:
$VAR1 = {
'ErrorMessage' => 'Can\'t load invoker backend module!',
'Success' => 0
};
Эти строки добавлял:
my $CustomerUserObject = $Kernel::OM->Get('Kernel::System::CustomerUser');
не помогло.
Вообще имеет значение в каком месте вставлять код с добавлением имени клиента? я в самый конец дописывал
-
- OTRS Новобранец
- Сообщения: 9
- Зарегистрирован: 20 май 2021, 13:59
- Благодарил (а): 2 раза
- Поблагодарили: 1 раз
Re: Интеграция OTRS -> Telegram (1)
Конечно имеет. Я же указал где нужно вставить код.svdvovan писал(а): ↑21 окт 2021, 09:31Такая же проблемы - при добавлении кода:Freelord писал(а): ↑05 окт 2021, 12:13Спасибо огромное за помощь. Теперь работает без ошибки.cheba писал(а): ↑05 окт 2021, 11:37
Доброго времени суток.
добавьте вот это:
my $CustomerUserObject = $Kernel::OM->Get('Kernel::System::CustomerUser');
под этой строчкой:
my $CustomerCompanyObject = $Kernel::OM->Get('Kernel::System::CustomerCompany');
И повторите попытку с добавлением имени Клиента.
my %CustomerUser = $CustomerUserObject->CustomerUserDataGet(
User => $Ticket{CustomerUserID} ,
);
($TeleText{Data}->{text}=qq{
NEW: #$Ticket{TicketNumber}
Department: $Ticket{CustomerID}
Person ID: $Ticket{CustomerUserID}
Person: $CustomerUser{UserFirstname} $CustomerUser{UserLastname}
Title: $Ticket{Title}
Type: $Ticket{Type}
Changed : $Ticket{Changed}
}) =~ s/^[\t ]*//mg;
в дебаге выскакивает ошибка:
$VAR1 = {
'ErrorMessage' => 'Can\'t load invoker backend module!',
'Success' => 0
};
Эти строки добавлял:
my $CustomerUserObject = $Kernel::OM->Get('Kernel::System::CustomerUser');
не помогло.
Вообще имеет значение в каком месте вставлять код с добавлением имени клиента? я в самый конец дописывал
Вот это попробуйте заменить на:
my %CustomerUser = $CustomerUserObject->CustomerUserDataGet( User => $Ticket{CustomerUserID} );
-
- OTRS Новобранец
- Сообщения: 5
- Зарегистрирован: 15 ноя 2021, 14:56
Re: Интеграция OTRS -> Telegram (1)
Здравствуйте! Спасибо за статью, настроил по инструкции, но inviker не может загрузиться, в чем может быть проблема?
- Вложения
-
- Снимок.JPG (54.35 КБ) 58025 просмотров
-
- OTRS Гуру
- Сообщения: 5206
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 94 раза
- Поблагодарили: 84 раза
Re: Интеграция OTRS -> Telegram (1)
Добрый день. Может апач надо рестартануть?
С уважением,
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
-
- OTRS Новобранец
- Сообщения: 5
- Зарегистрирован: 15 ноя 2021, 14:56
-
- OTRS Новобранец
- Сообщения: 5
- Зарегистрирован: 15 ноя 2021, 14:56
Re: Интеграция OTRS -> Telegram (1)
Такс, тут вроде разобрался почему инвокер не стартовал. Теперь другой вопрос, почему в outgoing data after mapping параметр chat_id принимает значение junk, хотя по сути должен принимать значение chat_id telegram которое указано?
- Вложения
-
- Снимок.JPG (113.63 КБ) 58019 просмотров
Re: Интеграция OTRS -> Telegram (1)
В общем, если кому надо добавить динамические поля то:
DynamicFields => 0, # Optional, default 0. To include the dynamic field values for this ticket on the return structure.
тут меняем на 1
После:
($TeleText{Data}->{text}=qq{
добавляем:
SomeName: $Ticket{'DynamicField_YourDynamicFieldName'}
ПС
возможно понадобятся строчки
my $DynamicFieldObject = $Kernel::OM->Get('Kernel::System::DynamicField');
my $DynamicFieldObject = $Kernel::OM->Get('Kernel::System::DynamicField::Backend');
после
my $CustomerCompanyObject = $Kernel::OM->Get('Kernel::System::CustomerCompany');
но это не точно )
DynamicFields => 0, # Optional, default 0. To include the dynamic field values for this ticket on the return structure.
тут меняем на 1
После:
($TeleText{Data}->{text}=qq{
добавляем:
SomeName: $Ticket{'DynamicField_YourDynamicFieldName'}
ПС
возможно понадобятся строчки
my $DynamicFieldObject = $Kernel::OM->Get('Kernel::System::DynamicField');
my $DynamicFieldObject = $Kernel::OM->Get('Kernel::System::DynamicField::Backend');
после
my $CustomerCompanyObject = $Kernel::OM->Get('Kernel::System::CustomerCompany');
но это не точно )
Последний раз редактировалось Adian 16 ноя 2021, 12:25, всего редактировалось 1 раз.
-
- OTRS Новобранец
- Сообщения: 5
- Зарегистрирован: 15 ноя 2021, 14:56
Re: Интеграция OTRS -> Telegram (1)
Разобрался, спасибо!rj_forever писал(а): ↑16 ноя 2021, 09:48Такс, тут вроде разобрался почему инвокер не стартовал. Теперь другой вопрос, почему в outgoing data after mapping параметр chat_id принимает значение junk, хотя по сути должен принимать значение chat_id telegram которое указано?
-
- OTRS Новобранец
- Сообщения: 34
- Зарегистрирован: 02 июн 2016, 10:57
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Интеграция OTRS -> Telegram (1)
Все работает, но периодически приходит вот такое сообщение:
тема: OTRS Scheduler Daemon GenericInterface: Telegram WebService: Telegram
сообщение:
Error while performing REST 'POST' request to Controller 'sendMessage' on Host
'https://api.telegram.org/bot2027742257: ... xxxxxxxxxx. Response
code '400'.
с чем это связано?
тема: OTRS Scheduler Daemon GenericInterface: Telegram WebService: Telegram
сообщение:
Error while performing REST 'POST' request to Controller 'sendMessage' on Host
'https://api.telegram.org/bot2027742257: ... xxxxxxxxxx. Response
code '400'.
с чем это связано?
-
- OTRS Новобранец
- Сообщения: 5
- Зарегистрирован: 15 ноя 2021, 14:56
Re: Интеграция OTRS -> Telegram (1)
Здравствуйте! Вопрос: Вот эта строчки в TelegramTxt.pm "Changed : $Ticket{Changed}", я так понимаю время создания, а откуда время берется? У меня почему-то - 3 часа. Хотя регионы в системе выставлены правильно.
-
- OTRS Новобранец
- Сообщения: 34
- Зарегистрирован: 02 июн 2016, 10:57
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Интеграция OTRS -> Telegram (1)
DebugLog error: Summary: Error while performing REST 'POST' request to Controller 'sendMessage' on Host 'https://api.telegram.org/bot***************'. Response code '400'. Data : Response content: '{"ok":false,"error_code":400,"description":"Bad Request: message is too long"
А как можно обрезать сообщения? В телеграме похоже лимит длины текста превышен из-за этого не приходят некоторые заявки
А как можно обрезать сообщения? В телеграме похоже лимит длины текста превышен из-за этого не приходят некоторые заявки
-
- OTRS Гуру
- Сообщения: 5206
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 94 раза
- Поблагодарили: 84 раза
Re: Интеграция OTRS -> Telegram (1)
В Телеграме лимит на 5000 символов, насколько я помню. Надо на вашей стороне планировать, в каком объёме слать нотификации. В любом случае, слать портянки - не есть хорошо.
С уважением,
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
-
- OTRS Новобранец
- Сообщения: 34
- Зарегистрирован: 02 июн 2016, 10:57
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
- Контактная информация:
-
- OTRS Новобранец
- Сообщения: 3
- Зарегистрирован: 28 июл 2020, 16:58
Re: Интеграция OTRS -> Telegram (1)
Нужно вначале файла telegramTxt.pm добавить use encoding 'UTF-8'; Тогда русские буквы будут корректно отображаться.
-
- OTRS Новобранец
- Сообщения: 9
- Зарегистрирован: 20 май 2021, 13:59
- Благодарил (а): 2 раза
- Поблагодарили: 1 раз
Re: Интеграция OTRS -> Telegram (1)
В моем случае на use encoding 'UTF-8'; вылезала ошибка
The encoding pragma is no longer supported. Check cperl at /opt/otrs/Custom/Kernel/GenericInterface/Invoker/Telegram/TelegramTxt.pm line 8.
Изменил use encoding 'UTF-8'; на use utf8;
The encoding pragma is no longer supported. Check cperl at /opt/otrs/Custom/Kernel/GenericInterface/Invoker/Telegram/TelegramTxt.pm line 8.
Изменил use encoding 'UTF-8'; на use utf8;
-
- OTRS Новобранец
- Сообщения: 3
- Зарегистрирован: 13 окт 2023, 10:12
- Благодарил (а): 1 раз
Re: Интеграция OTRS -> Telegram (1)
при отправке тикета, выдает ошибку Response content: '{"ok":false,"error_code":400,"description":"Bad Request: chat not found"}'
по curl отправлял все отлично приходит.
прокси не делал
Есть кто разобрался, но ответов не нашел
по curl отправлял все отлично приходит.
прокси не делал
Есть кто разобрался, но ответов не нашел
- Вложения
-
- error-400.png (97.5 КБ) 32200 просмотров