Atualizar status do MSN via shell script
Publicado por Marcos Paulo Ferreira (última atualização em 03/02/2011)
[ Hits: 6.070 ]
Homepage: http://daemoniolabs.wordpress.com
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+
#!/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
ARSPDF - Programa para manipular arquivos PDF
Jogo campo minado em Shell Script
Criador de árvore de compilação
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
É cada coisa que me aparece! - não é só 3% (2)
SysAdmin ou DevOps: Qual curso inicial pra essa área? (1)
Alguma pessoa pode me ajudar com drriver Core i3 7020u (Debian 12)? (2)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta