Portál AbcLinuxu, 12. července 2025 23:17
Tak sputím bráni lidegw
Spustím robot.pl
Robot se přihlásí do místnosti a dělá svojí funkci
Aby ale odešel musím v roboti použít příkaz $self->quit("ukonceno");
Potřebuji ale udělat aby se znova vrátil, tzn. znova pustil robot.pl
děkujiwhile :; do robot.pl; sleep 10; done
Tak zkus ten kod nekde vystavit. Nebo to alespon popsat krapet obsirneji. Treba ti nekdo navrhne jine pouzitelne reseni.
Dobře tedy,robot má přes 4500 řádku,vypisovat celej ho nemá cenu,ale..
mám složku ROBOT a v ní robot.pl a dalších asi 38 txt souboru k tomu duležitých
Je potřeba aby se robot.pl ukončil,což dělám tím příkazem quit ale tím se pouze ukončí a opustí místnost,ale znova se už program nespustí.Je potřeba ho samočinně znova pustit.Toto potřebuji využít,protože program neběží a chci ho ovládat na dálku
if ($arg =~ /!vypni/i) { if ($spravci{$nick} ne "spravci") { $self->privmsg($nick, ":Odvolat mě může jen :55437: Vyšší správce"); }else{ $self->privmsg($kanal, '----Byl jsem odvolán :37893: ---- '); open(DATA, "robot.pl"); $self->quit("ukonceno"); }}
ted ukončuji takto,po příkazu do šeptu !vypni se robot ukončí
if ($arg =~ /!vypni/i) {
if ($spravci{$nick} ne "spravci") {
$self->privmsg($nick, ":Odvolat mě může jen :55437: Vyšší správce");
}else{
$self->privmsg($kanal, '----Byl jsem odvolán :37893: ---- ');
open(DATA, "robot.pl");
$self->quit("ukonceno");
}}
Nevim, proc by nemelo fungovat reseni od pht.Já to taky nechápu, a zdá se že tazatel pro změnu nechápe to řešení... Prostě když ten váš skript skončí z jakého koliv důvodu tak ta smyčka ho za 10 sekund pustí znova. Je to to co chcete?
/usr/bin/perl robot.pl
robot.pl začíná
use locale;
use strict;
use Net::FTP;
use Net::IRC;
use Socket;
use LWP::UserAgent;
use Sys::Hostname;
use LWP;
use LWP::Simple;
use Net::POP3;
pak proměnné,příkazy,časovač na udržení na chatu a td
složka robota
na disku c:/robot/
robot.pl - samostný robo
lidegw.py - brána na servr
...textové soubory
---------------------------------
Na to aby se robot z chatu odhlásil,je opravdu potřeba robot.pl uzavřít.To mě funguje příkazem který jsem už psal nahoře.
Ale aby se vrátil,tzn znova se spustil robot.pl neudělám příkazem sleep
C:\robot
v odpovědi níže, tak bych řekl, že problém je v rozdílech mezi BASHem a příkazovým interpreterem v onom M$ systému neboli v tom, že odpověď od pht tak nějak vcelku logicky počítá s tím, že ten PERLový skript běží na Linuxu...
:opakuj c:\robot\robot.pl goto opakujsamozřejmě za předpokladu, že přípona .pl je asiociovaná na interpret perlu.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.