Страница 2 из 3
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 01 окт 2021, 12:41
Freelord
Спасибо огромное за статью.
Очень требуется помощь.
Имеется бот и только один канал.
Вроде, все верно по статье настроил, но так и не понял, в каком месте нужно указывать 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'
Спасибо заранее за помощь.
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 02 окт 2021, 20:55
cheba
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'
Спасибо заранее за помощь.
Попробую ответить в картинках ) на картинках цифрами указана последовательность.
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 02 окт 2021, 20:57
cheba
из-за ограничения вложений.
И сразу вопрос, а вы token бота указали?
https://api.telegram.org/bot2XXXXX:XYXERTYXZUUUIE - это смущает.
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 04 окт 2021, 14:47
Freelord
Спасибо за помощь. Смешно получилось. В пятницу перед уходом с работы еще раз прикинул, что на что должно меняться, сделал настройки и ушел домой. А сегодня утром обнаружил, что сообщения успешно отправляются в канал.
Но, возникла другая проблемма. Хотел добавить в сообщения информацию об имени клиента и тему тикета. Для этого в файл
/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. Когда внес изменения для получения текста заявки и сохранил файл, никакого сообщения об ошибке не последовало.
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 05 окт 2021, 11:37
cheba
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)
Добавлено: 05 окт 2021, 12:13
Freelord
cheba писал(а): ↑05 окт 2021, 11:37
Доброго времени суток.
добавьте вот это:
my $CustomerUserObject = $Kernel::OM->Get('Kernel::System::CustomerUser');
под этой строчкой:
my $CustomerCompanyObject = $Kernel::OM->Get('Kernel::System::CustomerCompany');
И повторите попытку с добавлением имени Клиента.
Спасибо огромное за помощь. Теперь работает без ошибки.
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 20 окт 2021, 15:18
svdvovan
Вроде все настроил, но в дебаге вот такая ошибка, не пойму - это в настройках дело или провайдер блокирует?
curl проходит
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 20 окт 2021, 15:21
svdvovan
Вот ответ Curl, OTRS 6 использую, настройки прокси не делал
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 20 окт 2021, 16:34
svdvovan
Заработало, разобрался сам - нужно было Perl модули IO::Socket::SSL обновить до последней версии
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 21 окт 2021, 09:31
svdvovan
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');
не помогло.
Вообще имеет значение в каком месте вставлять код с добавлением имени клиента? я в самый конец дописывал
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 21 окт 2021, 13:40
cheba
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');
не помогло.
Вообще имеет значение в каком месте вставлять код с добавлением имени клиента? я в самый конец дописывал
Конечно имеет. Я же указал где нужно вставить код.
svdvovan писал(а): ↑21 окт 2021, 09:31
my %CustomerUser = $CustomerUserObject->CustomerUserDataGet(
User => $Ticket{CustomerUserID} ,
);
Вот это попробуйте заменить на:
my %CustomerUser = $CustomerUserObject->CustomerUserDataGet( User => $Ticket{CustomerUserID} );
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 15 ноя 2021, 15:03
rj_forever
Здравствуйте! Спасибо за статью, настроил по инструкции, но inviker не может загрузиться, в чем может быть проблема?
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 15 ноя 2021, 15:08
alexus
Добрый день. Может апач надо рестартануть?
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 15 ноя 2021, 15:49
rj_forever
alexus писал(а): ↑15 ноя 2021, 15:08
Добрый день. Может апач надо рестартануть?
Дёргал apach, не помогло(
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 16 ноя 2021, 09:48
rj_forever
rj_forever писал(а): ↑15 ноя 2021, 15:49
alexus писал(а): ↑15 ноя 2021, 15:08
Добрый день. Может апач надо рестартануть?
Дёргал apach, не помогло(
Такс, тут вроде разобрался почему инвокер не стартовал. Теперь другой вопрос, почему в outgoing data after mapping параметр chat_id принимает значение junk, хотя по сути должен принимать значение chat_id telegram которое указано?
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 16 ноя 2021, 10:49
Adian
В общем, если кому надо добавить динамические поля то:
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');
но это не точно )
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 16 ноя 2021, 10:59
rj_forever
rj_forever писал(а): ↑16 ноя 2021, 09:48
rj_forever писал(а): ↑15 ноя 2021, 15:49
alexus писал(а): ↑15 ноя 2021, 15:08
Добрый день. Может апач надо рестартануть?
Дёргал apach, не помогло(
Такс, тут вроде разобрался почему инвокер не стартовал. Теперь другой вопрос, почему в outgoing data after mapping параметр chat_id принимает значение junk, хотя по сути должен принимать значение chat_id telegram которое указано?
Разобрался, спасибо!
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 01 дек 2021, 13:26
svdvovan
Все работает, но периодически приходит вот такое сообщение:
тема: 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'.
с чем это связано?
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 15 дек 2021, 09:53
rj_forever
Здравствуйте! Вопрос: Вот эта строчки в TelegramTxt.pm "Changed : $Ticket{Changed}", я так понимаю время создания, а откуда время берется? У меня почему-то - 3 часа. Хотя регионы в системе выставлены правильно.
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 18 окт 2022, 11:13
svdvovan
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"
А как можно обрезать сообщения? В телеграме похоже лимит длины текста превышен из-за этого не приходят некоторые заявки
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 18 окт 2022, 12:00
alexus
В Телеграме лимит на 5000 символов, насколько я помню. Надо на вашей стороне планировать, в каком объёме слать нотификации. В любом случае, слать портянки - не есть хорошо.
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 18 окт 2022, 12:45
svdvovan
alexus писал(а): ↑18 окт 2022, 12:00
В Телеграме лимит на 5000 символов, насколько я помню. Надо на вашей стороне планировать, в каком объёме слать нотификации. В любом случае, слать портянки - не есть хорошо.
А где меняется этот параметр в OTRS?
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 29 ноя 2022, 12:28
BezNik2006
Нужно вначале файла telegramTxt.pm добавить use encoding 'UTF-8'; Тогда русские буквы будут корректно отображаться.
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 29 сен 2023, 08:51
cheba
В моем случае на 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;
Re: Интеграция OTRS -> Telegram (1)
Добавлено: 13 окт 2023, 10:21
GeneralKenobi
при отправке тикета, выдает ошибку Response content: '{"ok":false,"error_code":400,"description":"Bad Request: chat not found"}'
по curl отправлял все отлично приходит.
прокси не делал
Есть кто разобрался, но ответов не нашел