MassMsg

Kadu

Spis treści

Opis

Skrypt massMsg, przeznaczony jest do awaryjnego wysyłania wiadomości do wszystkich osób z którymi aktualnie rozmawiamy (mamy włączone ich okno rozmowy). Po wpisaniu jednego krótkiego słowa w którymkolwiek oknie rozmowy np "/tel" do wszystkich otwartych okien zostanie wysłana wiadomość o treści "Wiadomość automatyczna: Zadzownił telefon i pobiegłem go odebrać, czekaj cierpliwie, może wrócę ;)". Dodatkowo we wszystkich oknach rozmowy, zostanie wklejona wiadomość o tym, że takowa informacja została wysłana, razem z treścią tej informacji i listą osób do których ona trafiła.


Użytkowanie

Skrypt ten ma zdefiniowanych 5 sytuacji na które może zareagować, są nimi:

  • Dzwoniący telefon, który musisz odebrać - /tel

    </li>

  • Niespodziewany gość, którym musisz sie zająć - /gosc

    </li>

  • Niecierpiąca zwłoki sprawa, która zajmie Ci dłuższą chwilę - /wazne

    </li>

  • Pilna sprawa, która tylko na chwilę odciągnie Cię od komputera - /pilne

    </li>

  • Nasz ukochany pupilek, domagający się spaceru - /pies

    </li>

    Są to sytuacje, które według mnie mogą być przydatne w takim skrypcie, ale język Tcl pozwala w bardzo prosty sposoby edytować je i dostosować do własny potrzeb.

    Dodatkowo umieściłem komendę /mass, powoduje ona na zdefniowanie własnej wiadomości, bez ingerencji w kod skryptu, wszystko co znajdzie sie po słowie "/mass", zostanie wysłane jako wiadomość do wszystkich otwartych okien rozmowy.


    Skrypt

    on sendmsg2 massMsg 
    proc massMsg {uin txt} { 
           set opis "Autostatus: Chwilowo nie ma mnie przy komputerze" 
           set ret 0 
           if {$txt == "/tel"} { 
                   set wiad "Wiadomość automatyczna: Zadzownił telefon i pobiegłem go odebrać, czekaj cierpliwie, może wrócę ;)" 
                   set stat busy+description 
                   set ret 1 
           } 
           if {$txt == "/gosc"} { 
                   set wiad "Wiadomość automatyczna: Mam niespodziewanego gościa, muszę się nim zająć, jak się go pozbędę, to odezwę się ;)" 
                   set stat busy+description 
                   set ret 1 
           } 
           if {$txt == "/wazne"} { 
                   set wiad "Wiadomość automatyczna: Natychmiast muszę załatwić bardzo ważną sprawę, nie będzie mnie przez dłuższą chwilę, jak wrócę to się odezwę, cześć" 
                   set stat invisible+description 
                   set ret 1 
           } 
           if {$txt == "/pilne"} { 
                   set wiad "Wiadomość automatyczna: Wyskoczyło mi coś bardzo pilnego, muszę odejść od komputera, niedługo wracam" 
                   set stat busy+description 
                   set ret 1 
           }        
           if {$txt == "/pies"} { 
                   set wiad "Wiadomość automatyczna: Mój pies domaga się spaceru, muszę z nim wyjść, niedługo będę z powrotem" 
                   set stat busy+description 
                   set ret 1 
           }        
           if {[string first /mass $txt] == 0} { 
                   set wiad [string range $txt 6 end] 
                   set ret 1 
           } 
           if {$ret} { 
                   set lista [list] 
                   foreach userlist [chat list] { 
                           lappend lista [user get $userlist -altname] 
                   } 
                   chat input $uin "" 
                   foreach uiny [chat list] {
                           hist append -type msg -text $wiad -from $::gg(uin) -uins $uiny
                           msg $uiny $wiad 
                           chat addtext $uiny -color "white" -bgcolor "darkgreen" -formatted massMsg "Wiadomość o treści:\n\"$wiad\"\nZostała wysłana do: [join $lista {, }]" 
                           if {[info exists stat]} { 
                                   status $stat $opis 
                           } 
                   } 
           } 
           return $ret 
    }
    

    Instalacja

    Skrypt ten oparty jest na języku Tcl, do jego działania wymagany jest moduł tcl_scripting, należy go przekopiować do pliku z rozszerzeniem .tcl i zapisać w dowolnym miejscu, najlpiej w katalogu $HOME/.gg, nastepnie wybrać w menu Kadu opcję Moduł TCL >> Okno ładowania >> Inne skrypty i tam wybrać zapisany przez nas wcześniej skrypt.

    Osobiste