Перейти к содержимому
UserSide - форум

Рекомендуемые сообщения

kirush   

Запустил демон tg (для отправки сообщений в Телеграм через консоль):

 

# netstat -na | grep 12345
tcp4 0 0 127.0.0.1.12345 *.* LISTEN

 

Проверил, что отправляются сообщения если писать ФИО по русски в консоли:

/bin/echo msg Имя_Фамилия MSG_TEXT | /usr/bin/nc 127.0.0.1 12345

 

Написал скрипт script-tg.sh

 

<?php
exec('"/bin/echo msg '.iconv("UTF-8", "cp1251", $_GET["rec"]).' '.iconv("UTF-8", "cp1251", $_GET["text"]).' | /usr/bin/nc 127.0.0.1 12345"');
?>

 

При попытке отправить сообщение:

http://xxx.xxx/scrip...м&text=MSG_TEXT

 

в логе апача:

 

/bin/echo msg <C8><EC><FF>_<D4><E0><EC><E8><EB><E8><FF> MSG_TEXT | /usr/bin/nc 127.0.0.1 12345: not found

 

Те проблема с передачей русских букв на выполнение - подскажите как исправить?

 

Вариант решения переименовать контакты сотрудников на английские буквы, но не красивый вариант....

 

update: выкрутился изменениями ФИО на ID:

<?php
exec('/bin/echo msg user#'.$_GET["rec"].' '.iconv("UTF-8", "cp1251", $_GET["text"]).' | /usr/bin/nc 127.0.0.1 12345');
?>

Создал каждому сотруднику отдельное поле Telegram ID, прописал им их ID номера (взятые коммандой user_info из консоли tg)

Настройки сделал так:

219e5227y3.jpg

 

Но сообщения не отправляются ни с левого меню, ни при создании заявки.

[Mon Jul 20 16:53:00.623195 2015] [:error] [pid 17254] [client X.X.X.X:56398] PHP Notice: Undefined index: rec in /usr/local/www/apache24/data/userside/script-tg.php on line 3

[Mon Jul 20 16:53:00.623231 2015] [:error] [pid 17254] [client X.X.X.X:56398] PHP Notice: Undefined index: text in /usr/local/www/apache24/data/userside/script-tg.php on line 3

те не передаются переменные rec и text :(

 

Прямой переход по ссылке с подстановкой ID получателя и текста - отправляет сообщения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
admin   

Измените

$_GET на $_REQUEST

 

Отправка выполняется по POST, но в данном случае для Вас $_REQUEST более универсален, т.к. обработает и GET и POST

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
kirush   

Спасибо помогло, но не совсем. Сообщения из левой части "Отправить в JABBER" уходят сотрудникам. А вот задания не отправляются :( при нажатии на ссылку JABBER в карточке заявки.

todo: Наверно надо разделить в настройках Jabber и Telegram чтобы путаницы не было. Соответственно и ссылки в карточке задания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
basker   

А мне, например, вообще не понятно почему используется слово Jabber если по сути я вызываю произвольный скрипт, т.е. могу хоть почтой, хоть СМС, хоть Скайпом, хоть в VK отправить. Мне кажется слово Jabber надо дать возможность кастомизировать через настройки, а может и дать возможность сделать несколько копий, например кому-то из сотрудников удобным будет получать уведомления через VK, а кому-то через Telegram, а кому-то через Skype.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
admin   

Скажем так - мы сейчас экспериментируем.

Прорабатываем разные варианты.

Всё это начиналось несколько лет назад и именно было подвязано на функционал Джаббера. Всяких Телеграммов ещё не существовало.

Поработаем.... посмотрим как оно....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
admin   

Агде ответ на мое соообщение? Fix будет какой нибудь?

 

А Вы, пожалуйста, на office@userside.ua напишите - нужно скорее всего зайти к Вам и посмотреть в вебке что к чему

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
kirush   

2 раза писал, а в ответ тишина :(

22.07 15:22

20.07 13:29

с ящика alex@pr....o.net

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
admin   

2 раза писал, а в ответ тишина :(

22.07 15:22

20.07 13:29

с ящика alex@pr....o.net

 

Не было таких писем.

Последнее письмо - 20/07 09:13

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
kirush   

Не хочу никого обидеть, но логи почтовика только от 22.07 начиная с 18:00 (поэтому подтвердить свои слова нечем).

Спасибо огромное команде UserSide, что присоединились через ICQ к решению вопроса.

Но пока найти "ту запятую", которая все портит не могу (проблема - отсутствие мозгов в php/bash).

Как только найдем рабочий вариант обязательно выложу на данном форуме, чтобы пользовались...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mixik   

Взяли ваш скрипт + скрипт товарища из соседней темы про WhatsApp и получили следующее :

<?php
$tel = $_REQUEST['rec'];
$text = $_REQUEST['text'];
$text2 = str_replace('"', ' ', $text);
$text3 = str_replace('\r\n', ' ', $text2);

exec('echo msg user#'.$tel.' "'.$text3.'" |  /usr/local/bin/ncat 127.0.0.1 4321');
?>

Для отправки используется id из телеграмма. Задания из карточки отправляются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Nilval   
В 17.08.2015 в 15:39, mixik сказал:

Взяли ваш скрипт + скрипт товарища из соседней темы про WhatsApp и получили следующее :

 


<?php
$tel = $_REQUEST['rec'];
$text = $_REQUEST['text'];
$text2 = str_replace('"', ' ', $text);
$text3 = str_replace('\r\n', ' ', $text2);

exec('echo msg user#'.$tel.' "'.$text3.'" |  /usr/local/bin/ncat 127.0.0.1 4321');
?>
 

 

Для отправки используется id из телеграмма. Задания из карточки отправляются.

Взяли ваш скрипт, и не понятно откуда должна прилетать переменная user#?
 

PHP Notice:  Undefined index: rec in /srv/www/htdocs/userside/userside3/script/tg.php on line 2
PHP Notice:  Undefined index: text in /srv/www/htdocs/userside/userside3/script/tg.php on line 3

сделали демона для 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Yakimus   

Долгое время приседал над правильным переносом строки. В итоге помог совет, взятый здесь: https://github.com/vysheng/tg/issues/364#issuecomment-66763992

Публикую код, вдруг кому пригодится. Работает исправно на 3.11.40

$tel = $_REQUEST['rec'];
$text = $_REQUEST['text'];
$text = str_replace('\r\n', '\n', $text);
exec('echo "msg user#'.$tel.' \''.$text.'\'" |  nc 127.0.0.1 4321');

id телеграма, user#123456789 берется здесь: @InfoUserBot -- боту пересылаете сообщение того, чей айди хотите узнать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mixtery   
<?php
$tel = $_REQUEST['rec'];
$text = $_REQUEST['text'];
$text2 = str_replace('"', ' ', $text);
$text3 = urlencode($text2);

exec('/usr/local/bin/curl -X POST "https://api.telegram.org/bot$bot_token/sendMessage?chat_id='.$tel.'&text='.$text3.'"');
?>



обходимся без tg-cli
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×