Enviando faixas tocadas no Amarok 2 para o Twitter
Publicado por Elder Marco (última atualização em 22/10/2009)
[ Hits: 5.613 ]
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.$$
Mostrar conifguração da placa de rede
ola_mundo.sh - Mostra a mensagem "Olá Mundo" na tela
Montando Pen Drive no Slackware
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
driver do repositorio debian nao atende o requisito minimo (7)
Como atribuir corretamente o CNES final baseado nas regras de certific... (3)
Novo problema! Erro durante a arualização! (3)
Tenho um problama de quebra de pacote e não descobri como resolver [RE... (1)