Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

10 930 Posts in 6 305 Topics- by 1 216 Members - Latest Member: santini862

24 September 2020, 09:21
Select Language English | Russian ru | German
Main PageIRC Client KVIrc forumRussian talksСкриптингГотовые скриптыБыстрая идентификация
Pages: [1]
Print
Author Topic: Быстрая идентификация  (Read 16646 times)
0 Members and 1 Guest are viewing this topic.
noLove
Глобальный модератор
*****

Репутация: 17
Posts: 181



View Profile
« on: 19 September 2007, 19:41 »

Вам надоело каждый раз писать 1 и тот же пароль каждый раз когда вы коннектитесь к серверу?
тогда этот скрипт для Вас. выполняете его в тестере сценариев, после чего становится доступной соманда idconf

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

Категория: быстрая иденификация, сервис
Code:
alias(showmsg)
{
dialog.message -q ("Message",$0,Information,Ok)
}

alias(idconf)
{
#
# generated by noLove 09, 2007
#
%IdCfg{main}=$new(widget)
%IdCfg{main}->$setCaption("Настройка быстрой идентификации ника")

//
// GROUPBOX TO MANAGING NICKSERV AND OWN NICKS
//
%IdCfg{nickServGroupBox}=$new(groupbox,%IdCfg{main})
%IdCfg{nickServGroupBox}->$setTitle(Настройка быстрой идентификации ника)
%IdCfg{nickServGroupBox}->$setAlignment("Left")

%IdCfg{nspwdlabel}=$new(label,%IdCfg{nickServGroupBox})
%IdCfg{nspwdlabel}->$setText("Пароль")
%IdCfg{idcmdlabel}=$new(label,%IdCfg{nickServGroupBox})
%IdCfg{idcmdlabel}->$setText("Название команды")

%IdCfg{idcommand}=$new(lineedit,%IdCfg{nickServGroupBox})
%IdCfg{idcommand}->$setText(id)
%IdCfg{nspwdtext}=$new(lineedit,%IdCfg{nickServGroupBox})
%IdCfg{nspwdtext}->$setechomode("password")

%IdCfg{nsSavePassword}=$new(button,%IdCfg{nickServGroupBox})
%IdCfg{nsSavePassword}->$setText("Сохранить")
%IdCfg{nsSavePasswordAndId}=$new(button,%IdCfg{nickServGroupBox})
%IdCfg{nsSavePasswordAndId}->$setText("Cохранить и авторизоваться")

%IdCfg{windowGrid}=$new(layout,%IdCfg{nickServGroupBox})
%IdCfg{windowGrid}->$setspacing(5)
%IdCfg{windowGrid}->$setmargin(15)
%IdCfg{windowGrid}->$addwidget(%IdCfg{idcmdlabel},0,0)
%IdCfg{windowGrid}->$addmulticellwidget(%IdCfg{idcommand},0,0,1,2)
%IdCfg{windowGrid}->$addwidget(%IdCfg{nspwdlabel},1,0)
%IdCfg{windowGrid}->$addmulticellwidget(%IdCfg{nspwdtext},1,1,1,2)
%IdCfg{windowGrid}->$addmulticellwidget(%IdCfg{nsSavePassword},1,1,1,1)
%IdCfg{windowGrid}->$addwidget(%IdCfg{nsSavePassword},3,1)
%IdCfg{windowGrid}->$addwidget(%IdCfg{nsSavePasswordAndId},3,2)

//
// FORMING MAIN LAYOUT
//
%mainlayout=$new(layout,%IdCfg{main})
%mainlayout->$setspacing(10)
%mainlayout->$setmargin(10)
%mainlayout->$addwidget(%IdCfg{nickServGroupBox},1,0)

//
// SHOWING THE FORM
//
%IdCfg{main}->$show()
%IdCfg{main}->$raise();

//msg nickserv identify action
privateimpl(%IdCfg{nsSavePassword},mousePressEvent)
{
if(%IdCfg{idcommand}->$text==$null)
{
showmsg "Вы не ввели название команды!"
return;
}
if(%IdCfg{nspwdtext}->$text==$null)
{
showmsg "Вы не ввели пароль!"
return;
}

%cfg=$config.open($file.fixpath($file.localdir"/config/quick.k3b"));
%pass=$AsciiToHex(%IdCfg{nspwdtext}->$text);
config.write %cfg data %pass

alias(%IdCfg{idcommand}->$text)
{
#
# generated by noLove 09, 2007
#
%cfg=$config.open($file.fixpath($file.localdir"/config/quick.k3b"));
%pass=$HexToAscii($config.read(%cfg,data,$null));
config.close %cfg;
msg -q nickserv identify %pass;
}
}

//msg nickserv identify action
privateimpl(%IdCfg{nsSavePasswordAndId},mousePressEvent)
{
if(%IdCfg{idcommand}->$text==$null)
{
showmsg "Вы не ввели название команды!"
return;
}
if(%IdCfg{nspwdtext}->$text==$null)
{
showmsg "Вы не ввели пароль!"
return;
}

%cfg=$config.open($file.fixpath($file.localdir"/config/quick.k3b"));
%pass=$AsciiToHex(%IdCfg{nspwdtext}->$text);
config.write %cfg data %pass
msg -q nickserv identify %IdCfg{nspwdtext}->$text
}
}
« Last Edit: 27 September 2007, 15:05 by noLove » Logged

man
Новичок
*

Репутация: 2
Gender: Male
Posts: 21


View Profile
« Reply #1 on: 23 September 2007, 07:29 »

Вызываемая команда 'showmsg' не определена
Logged
runkoff
Постоялец
***

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


847905
View Profile WWW Email
« Reply #2 on: 23 September 2007, 11:10 »

Вызываемая команда 'showmsg' не определена
это у него наверняка свой алиас какой нить. либо подожди он тебе алиас свой покажет или замени на простое echo
например:
Code:
if(%IdCfg{idcommand}->$text==$null)
{
echo "Вы не ввели название команды!"
return;
}
   
Logged

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

Репутация: 17
Posts: 181



View Profile
« Reply #3 on: 23 September 2007, 22:00 »

точно! совсем забыл!
alias(showmsg)
{
dialog.message -q ("Message",$0,Information,Ok)
}

теперь будет все работать. скрипт обновил Smiley
Logged

blaze
Новичок
*

Репутация: 10
Posts: 42



View Profile WWW
« Reply #4 on: 24 September 2007, 14:24 »

в kvirc'е уже есть возможность автоматической идентификации на никсерве. велосипед?
Logged
Maximusya
Глобальный модератор
*****

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



View Profile
« Reply #5 on: 24 September 2007, 18:37 »

Вот только через свой скрипт пользователь сам решит, когда ему трогаться с места (то есть идентифицироваться) Wink
Logged
noLove
Глобальный модератор
*****

Репутация: 17
Posts: 181



View Profile
« Reply #6 on: 27 September 2007, 14:25 »

Maximusya, в точку! я не пользуюсь автоматической идентификацией. ибо иногда мне нужно идентифицироваться, иногда нет.
Logged

Alexey
Администратор
*****

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


View Profile Email
« Reply #7 on: 27 September 2007, 15:06 »

запишите в встроенную идентификацию в команду идентификации не msg -q, а, например, название своего алиаса. Который спросить в диалоговом окошке, нужно или нет.
Logged
upyx
Новичок
*

Репутация: 13
Gender: Male
Posts: 43


Маленький, махнатый и умный.


View Profile
« Reply #8 on: 27 October 2007, 17:14 »

Alexey, это ты здорово придумал, но я сделал еще смешнее:
Code:
alias(id)
{
  eval %IDpass{$server};
}

alias(idset)
{
  %IDpass{$server} = $0-;
}
Теперь перед "msg -q ..." нужно вставить idset, а потом, в любое время после подключения к серверу, ввести короткую команду /id или вызвать ее с хоткея. Cheesy

Работает даже если у вас несколько ников на одном сервере с разными паролями. Для красоты, можно очищать строку с паролем при смене ника, на случай смены на незарегистрированный ник.
Code:
event(OnMeNickChange,idclear)
{
  %IDpass{$server} = "";
}

Щас подправил под хэши. Люблю краткость. Smiley
« Last Edit: 27 October 2007, 18:57 by upyx » Logged
Mixon
Новичок
*

Репутация: -9
Posts: 17


View Profile
« Reply #9 on: 15 November 2008, 20:21 »

[18:20:34] [KVS] Ошибка при компиляции: Найден символ '}' (уникод 7d) там где ожидалась инструкция
[18:20:34] [KVS]   в контексте скрипта "id", Строка 4, около символа 1
[18:20:34] [KVS] Ошибка при выполнении: Ошибка в псевдониме при обращении к 'id', вызов из этого контекста
[18:20:34] [KVS]   в контексте скрипта "commandline::kvs", Строка 1, около символа 1

Вот что пишет....и ппц....
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic