Van egy scriptem, ami nagyon nem akar működni, azt kellene produkálnia, hogy ha publikon a "test" nevű user ha .hello-t ír, akkor automatán válaszol rá word-el, de nem akar menni, a script már működött, csak valamit elírtam bent és nem bírok rájönni hogy mi az. Valakinek valami ötlete?
# .hello-ra word-el valaszol "test" nickre
use strict;
use Irssi;
use Irssi::Irc;
sub cmd_hello {
my ($server, $data, $nick, $mask, $channel) =@_;
if (($data=~/.hello/) and $nick eq '&test') {
$server->command("msg $chan word");
}
}
Irssi::signal_add_last('message private', 'cmd_hello');
Irssi::print("messzidzs bekapcsolva");
- 1788 megtekintés
Hozzászólások
nick eq '&test' ?
- A hozzászóláshoz be kell jelentkezni
az ugy jo, igen a test a nick :)
- A hozzászóláshoz be kell jelentkezni
De varj, test vagy &test? Mert nagyon nem mindegy!
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
már megoldódott, köszi
- A hozzászóláshoz be kell jelentkezni
üdv!
a script azóta se nagyon akar menni... valaki vágja ezt a témát?
- A hozzászóláshoz be kell jelentkezni
Most akkor megoldodott vagy sem? Megeccer kerdes: a user test vagy &test? Mert nem matchel.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
az user az &test...
- A hozzászóláshoz be kell jelentkezni
"az user az &test..."
Azért kérdeznek vissza immár többedszer, mert két dologban is ellentmondásba keveredtél az általad előzőleg leírtakkal. A topiknyitó hozzászólás leírásában is, a kód kommentjében is, és egy általad írt megerősítésben is a "test" szerepel, de "&test" van a kódban, és most legutoljára ezt erősítetted meg az előző hárommal szemben. A jelenlegi állás 3:2 a "teszt" javára az "&test" ellenében. :)
Például:
"a "test" nevű user ha .hello-t ír, akkor ..."
"# .hello-ra word-el valaszol "test" nickre"
"az ugy jo, igen a test a nick"
de:
and $nick eq '&test'
"az user az &test"
Valamint:
"már megoldódott, köszi"
de:
"a script azóta se nagyon akar menni"
"a script már működött, csak valamit elírtam bent"
Erre próbálnak rákérdezni, hogy véletlenül nem az az "&" jel került bele feleslegesen?
Továbbá a $chan változónak nincs érték adva, ugyanis két sorral feljebb még $channel volt. Ez is elég jelentős negatív hatással bírhat a végeredményre.
Ha valami nem működik, érdemes kiíratni a változók értékeit.
- A hozzászóláshoz be kell jelentkezni
najó, akkor az user legyen 'DeXTeR' ergo: if (($data=~/^.hello/) and $nick eq 'DeXTeR') {
- A hozzászóláshoz be kell jelentkezni
rakjuk össze a dolgokat... először ment a régi szerveremen futott egy irssi és azon valamit átírkáltam és ment, de sajna a szerver már nincs meg és backupot meg hülye voltam és nem csináltam. a rossz script bezzeg rajt volt a desktop gépen is. most akkor így néz ki:
# .hello-ra word-el valaszol "test" nickre
use strict;
use Irssi;
use Irssi::Irc;
sub cmd_hello {
my ($server, $data, $nick, $mask, $channel) =@_;
if (($data=~/^.hello/) and $nick eq 'DeXTeR') {
$server->command("msg $chan word");
}
}
Irssi::signal_add_last('message public', 'cmd_hello');
Irssi::print("messzidzs bekapcsolva");
- A hozzászóláshoz be kell jelentkezni
/msg esetleg, de valami debug skillt igazán fejleszthetnél magadnak.. :(
- A hozzászóláshoz be kell jelentkezni
soha nem scripteltem, és nem is vágom hogyan megy ez, csak azért kérdeztem rá itt, mert nem birok rájönni mit irhattam el.
- A hozzászóláshoz be kell jelentkezni
Szar dolog úgy dolgozni, hogy fingod nincs a dologról.
- A hozzászóláshoz be kell jelentkezni
Az előbbi kérdés a $chan és a $channel vonatkozásában? Az adatokat megfelelően kapja meg a cmd_hello? Írd ki a változókat, és nézd meg, hogy a megfelelő értékek vannak-e benne.
- A hozzászóláshoz be kell jelentkezni
kiprobáltam $channel és $chan -el is... se semmi, és mondom sík hülye vagyok a scripteléshez
- A hozzászóláshoz be kell jelentkezni
Nézegess szkripteket, például itt van ez:
- A hozzászóláshoz be kell jelentkezni