Atualizar status do MSN via shell script

Publicado por Marcos Paulo Ferreira (última atualização em 03/02/2011)

[ Hits: 5.281 ]

Homepage: http://daemoniolabs.wordpress.com

Download anonovo




Esse script só funciona se você estiver utilizando o pidgin. Antes de tudo verifique se o comando purple-remote existe. Numa instalação padrão no meu "Slacklindo", ele está em:

/usr/bin/purple-remote

Esse comando é uma interface em que podemos, por exemplo, alterar a mensagem de status do pidgin. Isso mesmo. É só executar esse comando com os parâmetros necessários para que sua mensagem de status mude.

Como o comando já faz tudo sozinho eu tinha que inventar algo para utilizá-lo. Daí tive a ideia de mostrar no MSN o quanto falta para se chegar no ano novo. Criei o script e de quebra trollei a galerinha que passa o ano novo no MSN. Ô vida!

Um problema que tive foi para executá-lo via cron. Tentei, pesquisei, compilei, dei saltos mortais e nada. Não funcionava por nada. Assim, resolvi colocar um loop infinito no script e a atualização é usando o sleep mesmo. Foi o que consegui. :|

Uso:

1) Abra o pidgin
2) Baixe, salve e chmode o script.
3) ./anonovo & # cuidado que tem um echo de debug

É só isso.

O script tá simples e pode ser de grande ajuda para quem quer iniciar o ano programando em Shell Script. :)

Feliz ano novo (Fábio diz: "atrasado por conta da moderação do VOL").
t+

  



Esconder código-fonte

#!/bin/bash
# Autor: Daemonio
# Contato: undefinido gmail com
#
# Fri Dec 31 18:40:51 BRST 2010
# Ter Jan  4 21:45:47 BRST 2011
#
# Script que atualiza a mensagem de status do pidgin
# com a quantidade de horas e minutos restantes
# para se chegar em uma determinada data/hora.
#

#
# Data final.
#
# 2011-1-1 => 1 de Janeiro de 2011
# 0:0:0    => Meia-noite
#
# Usei essa data para o ano novo de 2011.
# Voce tem que muda-la para uma data
# no futuro em relacao a agora. :|
my_date='2011-1-1 00:00:00'

# my_date em segundos desde 1970
s_my_date=$(date --date  "$my_date" '+%s')

# String para setar o status.
pidgin_set_status='setstatus?status=away&message='

while :
do
    # Tempo atual em segundos desde 1970
    s_now_date=$(date '+%s')

    # Diferenca
    s_diff=$(($s_my_date - $s_now_date))

    # Encerra o script se a diferenca eh negativa.
    (($s_diff < 0)) && break

    #
    # Aqui a transformacao para hora e minuto
    # eh na mao mesmo. Tentei descobrir um modo
    # de fazer isso via `date`, mas acabou
    # que nao achei o que queria :(
    #
    # Horas restantes
    _h=$(($s_diff / 3600))

    # Horas restantes em segundos
    s_h=$(($_h * 3600))

    # Minutos restantes
    _m=$(( ($s_diff-$s_h) / 60))

    #
    # Mensagem que eu usei pra trollar a
    # galera que passa o "reveion" no MSN. T_T
    #
    # MSG='Voces tem '$_h' horas e '$_m' minutos para'
    # MSG=$MSG'arrumarem algo para fazer, seus'
    # MSG=$MSG'trem a toa. :|'
    #

    # Mensagem de status
    MSG="Faltam $_h hora(s) e $_m minuto(s)."

    # Debugging
    echo "$MSG"

    # Atualiza o status e a mensagem
    CMD="${pidgin_set_status}${MSG}"
    /usr/bin/purple-remote "$CMD"

    # Dorme por 2 minutos.
    # Ou seja: Atualiza o status
    # a cada dois minutos.
    sleep 120
done

Scripts recomendados

K3B Playlist Extractor

Script após instalação

Listar e desconectar usuarios conectados no DB Progress 9.1c/d

Corrigir nome dos arquivos pelo Nautilus

Calculadora (Free Pascal)


  

Comentários
[1] Comentário enviado por julio_hoffimann em 04/02/2011 - 23:50h

Oi Marcos,

Acredito que seja de seu interesse, o DBUS é hoje o protocolo comum tanto no Gnome como no KDE e com ele é possível se comunicar com boa parte dos aplicativos. Segue uma dica e dois scripts que fiz para o Kopete:

http://www.vivaolinux.com.br/dica/Comunicacao-entre-aplicativos-com-o-qdbus-no-KDE-4/

http://www.vivaolinux.com.br/script/Enviar-graficos-2D-pela-janela-de-chat-no-Kopete

http://www.vivaolinux.com.br/script/Enviar-graficos-3D-pela-janela-de-chat-no-Kopete

Abraço!

[2] Comentário enviado por Daemonio em 05/02/2011 - 00:13h

Obrigado Júlio! Conheço pouco do dbus porque já dei uma lida superficial em alguns tutoriais. Foi muito bom você ter postado esses links, pois estava querendo mesmo aprender mais sobre o assunto.

Abraço.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts