Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: отправка сообщений из консоли в ICQ  (Прочитано 9662 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: отправка сообщений из консоли в ICQ
« Ответ #30 : 24 Августа 2011, 21:07:48 »
Ну тогда
sudo ls -l /root/.licq/autoreply.sh
sudo cat /root/.licq/autoreply.sh

Оффлайн djserg-minyar

  • Автор темы
  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Re: отправка сообщений из консоли в ICQ
« Ответ #31 : 25 Августа 2011, 06:02:48 »
root@Komp:/home/sergej# ls -l /root/.licq/autoreply.sh
-rwxrwxrwx 1 root root 2331 2011-08-24 23:02 /root/.licq/autoreply.shroot@Komp:/home/sergej# cat /root/.licq/autoreply.sh
#!/bin/sh

DIR=/root
UPTIME=`/usr/bin/procinfo | grep uptime | cut -d \: -f 2- | cut -d \. -f 1`
MY_IP=`cat $DIR/.licq/owner.Licq | grep -m 1 Ip\ =|cut -f 3 -d \ `
MY_VPN_IP=`/sbin/ifconfig tap0 | grep 'inet addr' | cut -d \: -f 2 | cut -d \  -f 1`
for user in `cat $DIR/.licq/users_squid | cut -d \  -f 2`;do
        ##############################################################
        ##           Админский блок                                 ##
        ##   Этот блок работает только с определённым номером аси   ##
        ## на сообщение вида:                                       ##
        ## command: команда                                         ##
        ## выполняет комманду, как будто в shell от root            ##
        ##############################################################
        if [ $1 = xxxxxxxxx -o $1 = yyyyyy ];then
            message_command=`grep ":#" $DIR/.licq/history/$user.Licq.history | cut -s -d \# -f 2- `
            if [ ! -z "$message_command" ];then
                echo "~#$message_command";
                $message_command 2>&1 | iconv -f utf8 -t cp1251 ;
                rm -f $DIR/.licq/history/$1.Licq.history
                exit 0;
            fi
        fi
        ##############################################################
        ##                                                          ##
        ##          конец админского блока                          ##
        ##                                                          ##
        ##############################################################
    if [ $1 = $user ];then
        ## Определяем кому принадлежит комп юзера по 3-ему столбцу в этом же списке
        ## Данный параметр нужен для того, чтобы была возможность домочадцам менять IP
        name_user=`cat $DIR/.licq/users_squid | grep $user | cut -d \  -f 3`
        echo "Uptime: `uptime`"
        echo "My IP=$MY_IP"
        echo "My VPN IP=$MY_VPN_IP"
    fi
done
    rm -f $DIR/.licq/history/$1.Licq.history # чистим историю, для исключения багов
exit 0;

Пользователь решил продолжить мысль 25 Августа 2011, 07:25:25:
при запуске из консоли
root@Komp:~/.licq# licq -b /root/.licq/ -p autoreply -- -e -l online -d
вываливается только это
tap0: error fetching interface information: Device not found
cat: /root/.licq/users_squid: No such file or directory
tap0: error fetching interface information: Device not found
cat: /root/.licq/users_squid: No such file or directory
и приходит пустое сообщение

Пользователь решил продолжить мысль 25 Августа 2011, 07:49:41:
немного разобрался, оказывается надо было создать файл users_squid и добавить туда свой UIN.
но щас в ответ на любую команду приходит один и тот же ответ
25.08.2011 09:48:40, Сержик
test

 25.08.2011 09:48:40, КОМП
Uptime:  09:48:40 up  1:48,  1 user,  load average: 0.18, 0.13, 0.11
My IP=192.168.1.3
My VPN IP=


в консоль сыпиться
tap0: error fetching interface information: Device not found

Пользователь решил продолжить мысль 25 Августа 2011, 08:11:02:
догнал почему Device not found
у мня нету VPN соединения)))

теперь другой вопрос, почему при написании например
command: ps auxон выводит все теже uptime и ip адрес??
« Последнее редактирование: 25 Августа 2011, 08:11:02 от djserg-minyar »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: отправка сообщений из консоли в ICQ
« Ответ #32 : 25 Августа 2011, 08:16:08 »
Уберите строки:
MY_VPN_IP=`/sbin/ifconfig tap0 | grep 'inet addr' | cut -d \: -f 2 | cut -d \  -f 1`
и
echo "My VPN IP=$MY_VPN_IP"
Посторюсь, скрипт выполнял служебную задачу. Под общие массовые задачи не затачивался.

Чтобы была возможность управления внесите изменения в строку
if [ $1 = xxxxxxxxx -o $1 = yyyyyy ];then
вставив вместо xxxxx и/или yyyy свой UID

А вообще в камментах скрипта всё написано и даже по-русски (потому как буржуйского я не знаю). Могли бы и прочитать

Оффлайн djserg-minyar

  • Автор темы
  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Re: отправка сообщений из консоли в ICQ
« Ответ #33 : 25 Августа 2011, 08:27:38 »
Насчет закоментировать строчки я понял и сделал, по поводу того что надо вместо xxx и yyy вписать свой UIN догадывался.
Ещё один момент, в коментах написано что якобы показывает команды после следующего текста:
т.е. вводим command: free и бот должен вывести вывод с команды free, но он этого не сделает
надо вводить команду так #:free только так.

Вообщем fisher74 спасибо большущее за помощь, то что хотел реализовать сделано, даже более того. :coolsmiley:

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: отправка сообщений из консоли в ICQ
« Ответ #34 : 25 Августа 2011, 08:38:29 »
А, да... сорри...
Изначально идентификация команды была command:, но ввиду того, что с на мобильнике не айс набирать много, идентификатор командной строки был изменён.
И надо вводить так
#free
и только так. Двоеточие лиска добавляет.

Оффлайн djserg-minyar

  • Автор темы
  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Re: отправка сообщений из консоли в ICQ
« Ответ #35 : 25 Августа 2011, 09:14:36 »
угу, профиксил, все окей.
Спасибо ещё раз  :coolsmiley:

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1293
    • Просмотр профиля
скрипт licq
« Ответ #36 : 26 Сентября 2011, 11:10:32 »
Есть такая команда:
ssh -Nf -p100 $ip -R 9999:localhost:100 2>&1
В терминале работает все как надо. В скрипте тоже.
А вот в скрипте автоответа licq_autoreply.sh работает не совсем так как надо. Команда работает, но скрипт останавливается на этой строчке и не идет дальше пока не убъешь процесс ssh. Соответственно licq тоже перестает реагировать на команды, тк скрипт не завершился.
Параметр -f подразумевает фоновое исполнение команды, да и вариант
ssh -Nf -p100 $ip -R 9999:localhost:100 &
тоже не работает.
И bash, и sh при любых вариантах возвращают управление терминалу, а тут нет...
Может у кого-нибудь есть идеи в чем может быть дело?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: отправка сообщений из консоли в ICQ
« Ответ #37 : 26 Сентября 2011, 11:42:30 »
А если посылать команду запуска скрипта с ампердансом?

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1293
    • Просмотр профиля
Re: отправка сообщений из консоли в ICQ
« Ответ #38 : 26 Сентября 2011, 11:57:22 »
Цитировать
А если посылать команду запуска скрипта с ампердансом?
вставлял эту злосчастную команду в отдельный скрипт, который потом запускал с амперсандом - тот же эффект.

Еще один момент хочу отметить, в процессах нет licq_autoreply.sh, а есть ssh -Nf -p100 $ip -R 9999:localhost:100 2>&1. И после прерывания процесса ssh, все что должен был вывести скрипт licq_autoreply.sh начинает выводиться.

Пользователь решил продолжить мысль 26 Сентября 2011, 12:52:17:
Неожиданно осенило, все что отличает скрипт licq_autoreply.sh от других - это вывод не в терминал, а в сообщение для licq. Сделал так:
ssh -Nf -p100 $ip -R 9999:localhost:100 > /dev/null
и все заработало, скрипт благополучно отработал до конца и созданный туннель работает в фоне.
« Последнее редактирование: 26 Сентября 2011, 12:52:17 от Vitsliputsli »

Оффлайн djserg-minyar

  • Автор темы
  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Re: отправка сообщений из консоли в ICQ
« Ответ #39 : 26 Октября 2011, 12:50:18 »
Ребята всем привет.
Вот вернулся и наконец то доделал сервак, но вот одна проблема все таки осталась:
пользуюсь ICQ обычно на работе и телефоне,
на работе стоит: R&Q Build 1105
на сотике: QIP PDA Symbian, Build 1041.
Так вот на комп сообщения на русском прилетают нормально, а вот на телефон кракозябрами.
пробовал играться со шрифтами в файле licq.conf
секция DefaultUserEncoding = тут ставил (CP1251, CP 1251, KOI8-R)
но ни какого эффекта не было((( как на телефон криво приходили, так и приходят, компу все равно он все норм отображает.
как поправить этот глюк?

Пользователь решил продолжить мысль 26 Октября 2011, 12:51:42:
может просто шрифт нужный не установлен???
Komp:~/.licq# locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

Оффлайн microran

  • Новичок
  • *
  • Сообщений: 21
  • Ubuntu 11.10 x64
    • Просмотр профиля
    • Комплекс серверов L2
Re: отправка сообщений из консоли в ICQ
« Ответ #40 : 26 Октября 2011, 12:55:22 »
насчёт аутентификации в SSH никто без твоего логина и пароля ничего не зделает, а насчёт телефона клиент SSH Putty есть и на телефоне, как под яву так и под симбу и андроид
Сервер Core i5-750 2.66Ghz / 12 GB DDR3 1333Mhz / 1TB HDD SATA600 / Geforce GTS 450 1GB

Оффлайн djserg-minyar

  • Автор темы
  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Re: отправка сообщений из консоли в ICQ
« Ответ #41 : 26 Октября 2011, 13:19:00 »
насчёт аутентификации в SSH никто без твоего логина и пароля ничего не зделает, а насчёт телефона клиент SSH Putty есть и на телефоне, как под яву так и под симбу и андроид
а причем тут ssh, я вроде про кодировку спросил в licq.

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1293
    • Просмотр профиля
Re: отправка сообщений из консоли в ICQ
« Ответ #42 : 26 Октября 2011, 19:14:46 »
Обычно в для этого достаточно выставить CP1251 в самом мессенджере.
В Pidginе работает, в licq не пробовал, тк я cперва преобразовывал сообщение в cp1251 с помощью iconv, а потом отправял. Вот теперь и задумался, зачем я так делал...

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: отправка сообщений из консоли в ICQ
« Ответ #43 : 26 Октября 2011, 19:25:42 »
как лиску запускаете?
« Последнее редактирование: 26 Октября 2011, 19:31:01 от fisher74 »

Оффлайн djserg-minyar

  • Автор темы
  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Re: отправка сообщений из консоли в ICQ
« Ответ #44 : 26 Октября 2011, 19:50:11 »
как лиску запускаете?
так по твоему методу и запускаю
скриптом.
# cat licq_bot
#! /bin/sh
#

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/root
NAME=licq_bot
DESC=licq

set -e
cd $HOME

case "$1" in
  start)
        echo -n "Checking for running $DESC: \n"
        licq -b /root/.licq/ -p autoreply -- -e -l online -d > /dev/null 2>&1 &
        ;;
  stop)
        echo -n "Stop  $DESC: /n"
        echo "exit" > /root/.licq/licq_fifo
        ;;
  restart)
        echo -n "Restart licq_bot \n"
        echo "status offline" > /root/.licq/licq_fifo
        sleep 10
        echo "status online" > /root/.licq/licq_fifo
        ;;
  force-reload)
        echo -n "Stop  $DESC: \n"
        killall -9 licq
        sleep 10
        echo -n "Checking for running $DESC: \n"
        licq -b /root/.licq/ -p autoreply -- -e -l online -d > /dev/null 2>&1 &
        ;;
  *)
    N=/etc/init.d/$NAME
    echo "Usage: $N {start|stop|restart|force-reload}" >&2
    exit 1
    ;;
esac

exit 0

Пользователь решил продолжить мысль 27 Октября 2011, 09:14:05:
может где то в скрипте запуска стоит прописать тип кодировки?
потому что в конфиг файлах licq.conf
и в папке /users/ для каждого юзера, все равно  :-[
« Последнее редактирование: 27 Октября 2011, 09:14:05 от djserg-minyar »

 

Страница сгенерирована за 0.029 секунд. Запросов: 22.