Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

9 632 Posts in 5 106 Topics- by 1 216 Members - Latest Member: santini862

22 March 2019, 08:37
Select Language English | Russian ru | German
Main PageIRC Client KVIrc forumRussian talksСкриптингГотовые скриптыLastmsgfromlog - просмотр истории в самом окне канала/привата
Pages: [1] 2 3 4
Print
Author Topic: Lastmsgfromlog - просмотр истории в самом окне канала/привата  (Read 59028 times)
0 Members and 1 Guest are viewing this topic.
Maximusya
Глобальный модератор
*****

Репутация: 49
Gender: Male
Posts: 343



View Profile
« on: 22 November 2007, 21:44 »

Возможности:
- просмотр предыдущих сообщений канала или привата в самом окне канала\привата;
- фильтрация выводимых сообщений по типам сообщений;
- автоматический вывод последних сообщений из истории при открытии окна привата;
- запоминание открытых приватов при выходе и их восстановление при последующем запуске Квирка (поддерживается работа в нескольких сетях);

Обновление:
 версия 0.0.9
- скрипт исправлен для работы в KVIrc 3.4.0.
- функция автоконфигурирования отключена ввиду некоторых изменений в клиенте. Если панель не будет появляться, пишите здесь, разберемся (думаю, процедура может плавать в зависимости от операционной системы).
 версия 0.0.8
- добавлена функция распознавания ника (узнает ник, "исковерканный" всякими крылышками, статусами);
- добавлен скрипт автоматической конфигурации (для корректного встраивания в интерфейс Квирка любой сборки). Для корректной автоконфигурации ОБЯЗАТЕЛЬНО должно быть открыто хотя бы одно окно канала и хотя бы одно окно привата. Автоконфигурация срабатывает при установке дополнения. При необходимости повторить автоконфигурцию переустановите дополнение;
- исправлены ошибки при работе в нескольких сетях;
- исправлены ошибки работы с конфигурационными файлами;

Замечания:
- диалог настроек предоставляет возможности по базовой настройке дополнения. Подробности пока что только в коде;
- с багами системы логов я не сталкивался - скрипт выполняет свою функцию;
- надеюсь, я предусмотрел большинство исключений, возникающих при создании имени файла журнала (преобразование символов и тп);
- в настройках Квирка есть опции "Сохранять приваты открытыми" - при отключении и при неожиданном разъединении. Как в скрипте различить эти ситуации, я пока не понял, поэтому корректно реагирую на неожиданный дисконнект и на перезапуск Квирка;
- версия бета - как дополнения, так и кода Wink


Это дополнение расширяет графический интерфейс Квирка посредством нестандартной (экспериментальной Wink) панельки над строкой ввода сообщений. Не пугайтесь) Она удобно сворачивается и разворачивается)

Скрипт представляет собой результат экспериментов с классом wrapper и интерфейсом Квирка.
Разработан и оттестирован на
Windows XP Professional Service Pack 2 (Build 2600)
 KVIrc 3.2.6 'Anomalies' 20070106 - build Jan  9 2007 00:01:02


« Last Edit: 24 August 2008, 01:24 by Maximusya » Logged
runkoff
Постоялец
***

Репутация: 22
Gender: Male
Posts: 130


847905
View Profile WWW Email
« Reply #1 on: 22 November 2007, 23:49 »

ubuntu 7.10 kvirc 3.2.6 build 20071021

в момент установки присутствовал на 4 каналах, в каждый из них вот такой вывод получил:
Code:
[22:17:35] [KVS] Предупреждение: Не один из путей до widgets (QSplitter::vertical_splitter) неверны
[22:17:35] [KVS]   в контексте скрипта "lastmsgfromlog::showLastMsgFromLogBar", Строка 22, около символа 15
[22:17:35] [KVS] Предупреждение: Не один из путей до widgets (QSplitter::vertical_splitter) неверны
[22:17:35] [KVS]   в контексте скрипта "lastmsgfromlog::showLastMsgFromLogBar", Строка 22, около символа 15
[22:17:35] [KVS] Предупреждение: Не один из путей до widgets (QSplitter::vertical_splitter) неверны
[22:17:35] [KVS]   в контексте скрипта "lastmsgfromlog::showLastMsgFromLogBar", Строка 22, около символа 15
[22:17:35] [KVS] Предупреждение: Не один из путей до widgets (QSplitter::vertical_splitter) неверны
[22:17:35] [KVS]   в контексте скрипта "lastmsgfromlog::showLastMsgFromLogBar", Строка 22, около символа 15
если это имеет значение, у меня все каналы разделены стандартным сплитером или как его там назвают, когда окно канала делится на две части, для сообщений пользователей и для системных
почемуто перестал работать /join ну хотя может это что то со связю было
после удаления дополнения также не работал /join, заработал только после перезапуска квирка, но это опять же может косяк со связью быть, у моего провайдера бывает.

Logged

Maximusya
Глобальный модератор
*****

Репутация: 49
Gender: Male
Posts: 343



View Profile
« Reply #2 on: 23 November 2007, 00:22 »

У меня тоже есть каналы, в которых разделены системные сообщения и сообщения пользователей. Но там скрипт срабатывает.
Не мог бы ты сохранить результы команды /$objects.dump(1) в файл и прислать мне) Вместе со скрином твоего квирка, на котором бы я увидел открытый канал и открытый приват)
Задача то какая - сделать виджет-панель сестрой объекту/ам KviIrcView::irc_view окна канала\привата.
У меня в качестве родителей KviIrcView::irc_view выступают QSplitter::vertical_splitter (в случае канала) и QSplitter::main_splitter (в случае привата). Именно их wrapper и требуется получить)
« Last Edit: 23 November 2007, 00:39 by Maximusya » Logged
Youpiter
Пользователь
**

Репутация: 4
Gender: Male
Posts: 57



View Profile
« Reply #3 on: 23 November 2007, 00:53 »

Вобчем при установке пишет:
[23:28:36] [KVS] Предупреждение: Не один из путей до widgets (QSplitter::vertical_splitter) неверны
[23:28:36] [KVS]   в контексте скрипта "lastmsgfromlog::showLastMsgFromLogBar", Строка 22, около символа 15
как я понял из-за этого скрипт не работет в канале. (Win)

А в привате все норм. Вроде работает. Прикольная скрывающаяся панелька. Только вот смутило то, что окно с ником теперь внизу, а не сбоку. И его нельзя скрыть.
Logged
runkoff
Постоялец
***

Репутация: 22
Gender: Male
Posts: 130


847905
View Profile WWW Email
« Reply #4 on: 23 November 2007, 01:26 »

Не мог бы ты сохранить результы команды /$objects.dump(1) в файл и прислать мне) Вместе со скрином твоего квирка, на котором бы я увидел открытый канал и открытый приват)
http://filekeeper.org/download/runkoff/kvirc/dump/screen_and_dump.tar.bz2
скрин и дамп

в приватах виджет вижу, но и варнинг на месте
Code:
[00:20:30] [KVS] Предупреждение: Заданный каталог не существует '/home/runkov/.kvirclog'
[00:20:30] [KVS]   в контексте скрипта "lastmsgfromlog::showmessages", Строка 34, около символа 14
Logged

Maximusya
Глобальный модератор
*****

Репутация: 49
Gender: Male
Posts: 343



View Profile
« Reply #5 on: 23 November 2007, 02:27 »

Да, для Квирка твоей сборки объекты другие)
Внес изменения, которые должны задействовать скрипт в окне канала. Если пришлешь такой же дамп с открытым приватом, посмотрю, что там.
Изменения (одно, точнее сказать Wink помечено >>>>>>>> Ubuntu <<<<<<<<<<. Хотя дело, может быть и не в ОС, а в версии сборки.
Исправил (надеюсь) ошибку с несуществующим каталогом.

Скачать скрипт_для_сборки_которой_пользуется_runkoff: http://maximusya.at.tut.by/lastmsgfromlog_Ubuntu.zip

Так как есть довольно сильная зависимость от имен объектов, то скрипт может не работать на новых сборках.
Но мы поборемся)
« Last Edit: 23 November 2007, 02:40 by Maximusya » Logged
runkoff
Постоялец
***

Репутация: 22
Gender: Male
Posts: 130


847905
View Profile WWW Email
« Reply #6 on: 23 November 2007, 10:08 »

Скачать скрипт_для_сборки_которой_пользуется_runkoff
Grin
специальный скрипт утсановился без ошибок. дополнительные кнопки над строкой ввода вижу. и в каналах и в приватах.
вот только не пойму они что не работают или надо какое то время после установки логи позаписывать. а то сейчас отрабатывают только "очистить" и "настроить". кнпки которые 5 и 20 "последних сообщений" вот что пишут
Code:
[08:25:11] No corresponding logfiles has been found
и в канале и в привате

полез в код.

на моей системе $file.localdir(log/) == /home/runkov/.kvirc/log папка такая есть. Дальше. Раскоментировал пару выводов, кстати без указания -w не пойму куда они выводились. вот так изменил
Code:
echo -w=%winid filename: %filename
echo -w=%winid folder: $file.localdir(log)
вот что получил
Code:
[08:52:39] filename: query_runkoff.Одиночные
[08:52:39] folder: /home/runkov/.kvirc/log
и сразу видно, косяк в пробелах. Это у меня на работе сервер фринода записан в сеть "Одиночные сервера". надо это как то обыграть.

и еще обратил внимание на то что на одном канале кнопка "скрыть/показать" не корректно работает - исчезают/появляются кнопки а область выделеная под них, остается видимой и по высоте как и с включеными кнопками (пискселей 20-25). Повертел это дело на других каналах, повторяется примерно так: вручную изменить выоту, потянув за сплитер над кнопками, и попробовать скрыть/показать. Я бы сказал, что высота меняется с той что нужна для кнопок на ту которую последний раз указали вручную, вроде того. В коде это не отслеживал.
Logged

runkoff
Постоялец
***

Репутация: 22
Gender: Male
Posts: 130


847905
View Profile WWW Email
« Reply #7 on: 23 November 2007, 10:45 »

стоп.
еще раз глянул в папку логов. формат файлов примерно такой query_runkoff.одиночные_2007.11.23.log
т.е. тут тоже нет слова "сервера", но тут оно с маленькой буквы, а это имеет значение для *nix
Logged

Maximusya
Глобальный модератор
*****

Репутация: 49
Gender: Male
Posts: 343



View Profile
« Reply #8 on: 26 November 2007, 22:10 »

Обновление:
 версия 0.0.8
- добавлена функция распознавания ника (узнает ник, "исковерканный" всякими крылышками, статусами);
- добавлен скрипт автоматической конфигурации (для корректного встраивания в интерфейс Квирка любой сборки). Для корректной автоконфигурации ОБЯЗАТЕЛЬНО должно быть открыто хотя бы одно окно канала и хотя бы одно окно привата. Автоконфигурация срабатывает при установке дополнения. При необходимости повторить автоконфигурцию переустановите дополнение;
- исправлены ошибки при работе в нескольких сетях;
- исправлены ошибки работы с конфигурационными файлами;

runkoff,
имя файла строится на основе ника и названия сети. Название сети получаю от $my.network. Можешь выполнить
/echo $my.network
, чтобы узнать, возвращает ли у тебя эта команда название сети.
Кстати, в событии OnIRC эта команда возвращает имя группы серверов, введенное в диалоге конфигурации серверов. А вот уже спустя неопределенное время (доли секунды, не знаю точно), эта команда возвращает именно название сети. Поэтому для себя я просто переименовал эти группы, чтобы они назывались так, как называются сети.
« Last Edit: 26 November 2007, 22:28 by Maximusya » Logged
michael loginov
Новичок
*

Репутация: 0
Posts: 14


View Profile
« Reply #9 on: 16 December 2007, 10:10 »

[16:9/12:09] Общие каналы для point_ModnyiBazar [*@*]: #ARKA
[16:9/12:09] Попытка зарегистрировать дополнение "lastmsgfromlog" версии 0.0.8
[16:9/12:09] Скрипт успешно зарегистрирован
Показать 5 последних сообщений | 20 последних сообщений | Настроить...
$rКто это?..

это как понимать? у меня не хочет логи в приват читатть =(
Logged
michael loginov
Новичок
*

Репутация: 0
Posts: 14


View Profile
« Reply #10 on: 16 December 2007, 11:44 »

нашел в чем причина, если в названии сети есть пробел, то логи в приват не грузятся.
Logged
michael loginov
Новичок
*

Репутация: 0
Posts: 14


View Profile
« Reply #11 on: 16 December 2007, 11:48 »

нашел в чем причина, если в названии сети есть пробел, то логи в приват не грузятся.

переименовал сеть в настройках и все пашет на ура пока что =) огромный СПАСИБО за данный скрипт, как я его долго ждал...
Logged
Alexey
Администратор
*****

Репутация: 45
Posts: 203


View Profile Email
« Reply #12 on: 16 December 2007, 14:04 »

Кстати, в событии OnIRC эта команда возвращает имя группы серверов, введенное в диалоге конфигурации серверов. А вот уже спустя неопределенное время (доли секунды, не знаю точно), эта команда возвращает именно название сети. Поэтому для себя я просто переименовал эти группы, чтобы они назывались так, как называются сети.

Реальное название сети показывается после того, как оно узнано из сообщения 005 сервера. Событие срабатывает немного раньше.
Logged
michael loginov
Новичок
*

Репутация: 0
Posts: 14


View Profile
« Reply #13 on: 17 December 2007, 18:38 »

кстати, есть еще такой неприятный момент, если у меня не было истории переписки с человеком то в приват подгружаются логи самого первого открытого привата, причем не все. а часть...
Logged
Maximusya
Глобальный модератор
*****

Репутация: 49
Gender: Male
Posts: 343



View Profile
« Reply #14 on: 17 December 2007, 22:24 »

Это происходит при автоматическом открытии приватов при запуске Квирка или при открытии тобой нового окна привата? Если истории переписки нет, то должно выводиться "Кто это?.."
В твоей ситуации возможно совпадение двух базовых ников (полученных после обрезания статусов и крылышек). Не мог бы ты написать сюда (или в приват) ники двух людей, принявших участие в этой коллизии?)
Logged
Pages: [1] 2 3 4
Print
Jump to:  

Theme orange-lt created by panic