Страница 2 из 2

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
из-за ограничения вложений.
Freelord писал(а):
01 окт 2021, 12:41
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'
И сразу вопрос, а вы 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');

И повторите попытку с добавлением имени Клиента.
Спасибо огромное за помощь. Теперь работает без ошибки.