Atualizar status do MSN via shell script
Publicado por Marcos Paulo Ferreira (última atualização em 03/02/2011)
[ Hits: 6.370 ]
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
Baixador automático de Sabayon
Backup Simples de tabela MYSQL
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
O programa assinador digital (0)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)
Instalação não está resolvendo as dependencias (2)
Captação de áudio no zorin linux começa a diminuir com o tempo (5)









