Enviando faixas tocadas no Amarok 2 para o Twitter
Publicado por Elder Marco (última atualização em 22/10/2009)
[ Hits: 5.777 ]
Homepage: http://www.eldermarco.com
Um script simples que publica o que você está ouvindo atualmente no Amarok 2 direto no seu Twitter, utilizando o curl. :-)
#!/bin/bash
#
# Envia uma música que você está ouvindo no Amarok 2
# para o Twitter.
#
# Autor: Elder Marco/ www.idiossincrasias.com
# Data: 20/10/2009
#-------------------------------------------------------------------
# Você pode salvar sua senha e usuário num arquivo oculto no seu diretório
# $HOME ou inserá-las aqui. Das duas maneiras, essa informação estará
# salva em um arquivo texto. Se for inserir no arquivo texto, crie-o
# com seu editor de textos preferido:
#
# $ vi ~/.amarok2twitter
#
# Insira então os dados no arquivo usando as variáveis username e senha:
# Ex.:
# username="ElderMarco"
# senha="SenhadoElderMarco"
#
# e pronto. Alternativamente, você pode não definir a senha em lugar
# nenhum (ou definir como "perguntar") e então o script irá pedir ela
# a você toda vez que quiser enviar o que está ouvindo para o Twitter.
if [ -e $HOME/.amarok2twitter ]; then
. $HOME/.amarok2twitter
else
# Só altere aqui se você quer definir isso no próprio script.
username="UserName"
senha="perguntar"
fi
# Se não foi definida no arquivo nem no script. O usuário será questionado
# sobre ela.
senha=${senha:-"perguntar"}
if [ "$senha" = "perguntar" ]; then
read -sp "Senha do Twitter: " senha
echo
fi
# O Amarok está rodando?
rodando=`ps -e | grep 'amarok$'`
[ -z "$rodando" ] &&
{
echo -n "O Amarok não está em execução. Saindo... "
sleep 1; echo; exit 1
}
# Bom, então vamos obter algumas informações sobre metadados da faixa
# em execução. A idéia veio do plugin music para o AMSN.
artista=`qdbus org.kde.amarok /Player GetMetadata | fgrep artist`
musica=`qdbus org.kde.amarok /Player GetMetadata | fgrep title`
album=`qdbus org.kde.amarok /Player GetMetadata | fgrep album`
# Retirando coisas desnecessárias.
artista=${artista/"artist: "/""}
musica=${musica/"title: "/""}
album=${album/"album: "/""}
# Formato da Mensagem a ser enviada. Se o álbum não foi definido, ele
# será omitido. No entanto, nome da música e artista são obrigatórios.
if [ -n "$musica" -a -n "$artista" ]; then
if [ -n "$album" ]; then
msg="♫ Ouvindo \"$musica\" por \"$artista\" do álbum \"$album\" [Amarok 2]"
else
msg="♫ Ouvindo \"$musica\" por \"$artista\" [Amarok 2]"
fi
else
echo "Não foi possível obter nome do artista ou nome de música."
echo "Verifique os metadados do arquivo em questão."
exit 1
fi
# Mais de 140 caracteres?
[ ${#msg} -ge 140 ] &&
{
echo "Putz! Que azar! A mensagem a ser enviada possui mais de 140 caracteres."
echo "Se ela for enviada, será truncada."
read -n1 -p "Deseja mandar mesmo assim?[s/N] " sn
[ "$sn" = N -o "$sn" = n -o ! "$sn" ] &&
{
exit 1
}
}
# Por fim, envia para o Twitter.
echo -n "Enviando... "
curl --basic --user $username:$senha \
--data status="$msg" http://twitter.com/statuses/update.xml \
1>/tmp/amarok2twitter.$$ 2>&1
# Será que teve sucesso na autenticação e publicou o Tweet?
if ! grep "Could not authenticate you." /tmp/amarok2twitter.$$ 1>/dev/null ; then
echo "pronto."
else
echo "falhou. :("
fi
rm /tmp/amarok2twitter.$$
Operações com valores em arquivo texto
Script de instalação do metasploit no Ubuntu
IA Turbina o Desktop Linux enquanto distros renovam forças
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
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
Assinador JNLP do Site Portal da Nota Fiscal Eletrônica (2)
O programa assinador digital (3)
Warcraft II Remastered no Linux? (2)









