turt2live / matrix-voyager-bot

A Matrix bot that attempts to travel the whole network, finding rooms along the way
GNU General Public License v3.0
45 stars 5 forks source link

matrix-voyager-bot

This is a [matrix] bot that travels the federation simply based upon user input to rooms it participates in.

Whenever the bot is invited to a room, or someone leaves an alias to a room in their message, the bot will try to join that room and add it to the network graph. If the bot is then kicked or banned, it removes the node from the graph.

The bot currently goes by the name of @voyager:t2bot.io and has its network graph published here.

Questions? Ask away in #voyager-bot:matrix.org

Usage

  1. Invite @voyager:t2bot.io to a room
  2. Send a message with a room alias (eg: Hello! Please join #voyager-bot:matrix.org!)
  3. Wait a moment while the bot collects some information and joins the room

Building your own

Note: You'll need to have access to an account that the bot can use to get the access token.

  1. Clone this repository
  2. npm install
  3. Copy config/default.yaml to config/production.yaml
  4. Edit the values of config/production.yaml and config/database.json to match your needs
  5. Run the bot with NODE_ENV=production node index.js

But... why?

There's no real benefit to having this bot in the room, seeing as it just listens and joins other rooms. This is not intended to be a functional bot - just a fun project that builds a pretty graph.

How to remove the bot from a room

There are 2 options to remove the bot from the room:

  1. Kick it (someone can still invite it back or relink an alias of the room)
  2. Ban it (if you'd like it to stay gone)

The bot does record who kicked/banned it and what the reason given was. The bot will remove any applicable nodes from the graph.