Atualizar status do MSN via shell script
Publicado por Marcos Paulo Ferreira (última atualização em 03/02/2011)
[ Hits: 6.489 ]
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
Backup mysqldump usando Shell Script
Conversor de vídeo com opção de legenda
Relatório de suprimentos da empresa
Criando contas de usuario em varios servidores ao mesmo tempo
Script para instalação completa do XEN 3.4.0 através do source ( fonte ).
Papagaiando o XFCE com temas e recursos
WhatsApp com Chamadas no Linux via Waydroid
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Instalando o COSMIC DE no Gentoo (systemd)
Centralizar Logo com Transparência via ImageMagick
Removendo entradas de boot UEFI "fantasmas" via terminal
Atualizações de Segurança Automáticas no Debian
Como cortar as partes de um vídeo com passagens de áudio em branco
Midia de instalação LM-21.3 não inicializa [RESOLVIDO] (15)
What are the biggest challenges banks face with compliance training? (0)
Reunir material [RESOLVIDO] (4)
Uma pergunta bem simples mas não achei resposta (ainda) [RESOLVIDO] (4)









