#mastodon.py

#mastodon.py

  • Passando o limite de usuários no Mastodon.py

    Pra quem me segue no Mastodon, sabe que (ou pelo menos vê) que envio um #TootThursday toda quinta-feira.   Primeiro o que é isso?  Nos tempos de Twitter surgiu o #FollowingFriday, ou #FF pros mais íntimos, que servia pra você indicar perfis interessantes pros outros seguirem.  Nessa mesma época eu implementei um script pra fazer isso por mim já que todos que sigo eu considero interessantes.

    Pra manter o mesmo espírito no Mastodon, passei a usar o #TootThursday.   Como o limite de caracteres é bem mais alto no Mastodon, não é preciso criar um #TT e é possível usar o nome inteiro.  E assim sigo postando toda quinta-feira.

    Eu andei reparando que meu envio de sugestões estava sempre em 4 ou 5 pessoas.  Sempre.  E meu programa pra fazer o envio usa 10% da lista de pessoas que sigo, algo que está em mais de 500 hoje em dia no perfil @helioloureiroBR.

    Olhei manualmente o uso de account_following( ) e eu estava recebendo somente 40 entradas, mesmo com limite em nulo.

    In [14]: u = tt.mastodon.account_following(id=tt.me.id, limit=None)
    
    In [15]: len(u)
    Out[15]: 40

    Abri um bug report no GitHub, mas lá mesmo vi a sugestão pra usar account_following( ) com fetch_remaining( ), o que testei aqui.

    In [16]: u = tt.mastodon.account_following(id=tt.me.id, limit=80)
    
    In [17]: len(u)
    Out[17]: 80
    
    In [18]: u = tt.mastodon.account_following(id=tt.me.id, limit=500)
    
    In [19]: len(u)
    Out[19]: 80
    
    In [20]: u2 = tt.mastodon.fetch_remaining(u)
    
    In [21]: len(u2)
    Out[21]: 525

    E realmente deu certo.

    Agora o script está corrigido pra pegar mais pessoas que sigo e selecionar os 10%.

    Se quiser olhar o bug report no GitHub, esse é o link: https://github.com/halcy/Mastodon.py/issues/376

    No Mastodon mesmo o Mauricio Castro (@This email address is being protected from spambots. You need JavaScript enabled to view it.) muito gentilmente avisou que isso é realmente limitação da API: https://docs.joinmastodon.org/methods/accounts/#following

    Mas vamos ver se o meu bug report ajuda a melhorar a documentação sobre isso.

    UPDATE: escrevi o artigo e esqueci de apontar pro script, caso alguém queira usar ou copiar alguma parte.  Ele está aqui: https://github.com/helioloureiro/homemadescripts/blob/master/mastodon-toot-thursday.py