Coder Social home page Coder Social logo

untitaker / mastodon-list-bot Goto Github PK

View Code? Open in Web Editor NEW
12.0 3.0 0.0 103 KB

Generate "programmatic" lists in Mastodon

Home Page: https://list-bot.woodland.cafe/

Rust 72.36% Dockerfile 3.60% JavaScript 1.43% CSS 0.79% TypeScript 8.34% HTML 2.58% Svelte 10.89%
mastodon mastodon-bot

mastodon-list-bot's Introduction

mastodon-list-bot

Oh no, the evil algorithm is back!

A small program to generate "programmatic" lists in Mastodon, as a way to experiment with different kinds of home feeds.

Mastodon's strict chronological timeline favors frequent posters over less frequent ones. In my experience this causes a problem where your feed is dominated by a few hardcore, big-follower-number posters, while you're missing out on content from less frequent posters (such as Twitter holdouts, or your mutuals).

Mastodon's solution to this is lists, but lists require curation and effort to maintain. So what if those lists updated themselves?

How to use

Create a list with any of the following names. The bot will then start populating it.

  • #last_status_at<1d -- contains all users which haven't posted in a day or more.
  • #last_status_at<1w -- contains all users which haven't posted in a week or more.
  • #last_status_at<1m -- contains all users which haven't posted in a month or more.
  • #mutuals -- contains all users who you follow and who also follow you.

Variations such as 2d, 3d, 8m are permitted.

List names do not have to match exactly, they only have to end with the specified string. For example, it is permitted to name a list My best friends #mutuals, so that your preferred list name is shown while the "machine-readable configuration" is still there. There can currently however only be one # in the name.

List clauses can not be composed, so creating a list of mutuals who haven't posted in a week is not possible right now.

Using the bot as a service

This bot is available as a webservice at list-bot.woodland.cafe. Sign in with Mastodon and get started.

Using the bot from your own machine

Create an empty list with the name #last_status_at<1w. The program will recognize it by its name, and overwrite its contents with users who haven't posted in a week.

Go to Development in your Mastodon account, and create a new access token.

Then, run:

RUST_LOG=info cargo run run-once --host=mastodon.social --token=...

Your list is now populated with new accounts. Run this program periodically to update it (this both adds and removes accounts).

Caveats

This bot hammers the API a lot during sync. It is likely that while it is running, it will encounter rate limits, which it will handle gracefully. Do not run this program more than once per day.

License

MIT

mastodon-list-bot's People

Contributors

untitaker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.