tgbot-mastodon-sync

Crates.iotgbot-mastodon-sync
lib.rstgbot-mastodon-sync
version0.2.2
sourcesrc
created_at2023-01-23 17:34:50.701889
updated_at2023-03-10 14:17:49.571009
descriptionA Telegram bot synchronizes Telegram messages to Mastodon
homepage
repositoryhttps://github.com/SpriteOvO/tgbot-mastodon-sync
max_upload_size
id766033
size215,320
Asuna (SpriteOvO)

documentation

README

tgbot-mastodon-sync

A Telegram bot synchronizes Telegram messages to Mastodon.

Official hosted account: @mastodon_sync_bot

Self-Host

1. Install binary

You have two ways to install the binary.

  • Install from crates.io registry.

    cargo install tgbot-mastodon-sync
    
  • Install from git repository.

    git clone https://github.com/SpriteOvO/tgbot-mastodon-sync.git
    cd tgbot-mastodon-sync
    git checkout <latest-version>
    cargo install --path .
    

Both ways are build from source.

2. Configure database

This project uses sqlite as the database engine.

Choose a file path for the database, its URL will be:

sqlite:absolute/path/to/database.sqlite

You may want to add ?mode=rwc to the end of the URL, which will make the bot automatically create the database file if it doesn't exist.

sqlite:absolute/path/to/database.sqlite?mode=rwc

Tables will be created / migrated automatically by the bot at startup.

3. Start the bot

Configure environment variables:

  • TGBOT_MASTODON_SYNC_BOT_TOKEN
  • TGBOT_MASTODON_SYNC_DATABASE_URL

Run tgbot-mastodon-sync.

Note

  • The bot requires privacy mode to be turned off, because media groups need to be cached in advance.

  • The database and memory may contain secret data, so pay attention to security.

License

This project is licensed under GNU AGPL-3.0 License.

Commit count: 33

cargo fmt