3 releases (breaking)

0.3.0 Mar 16, 2023
0.2.0 Jul 17, 2022
0.1.0 Jan 5, 2021

#6 in #wikimedia

ISC license

46KB
1K SLoC

arkbot-rs License Build status

arkbot-rs is Rust rewrite (and complete redesign) of Arkanosis' Wikipedia bot.

The original Arkbot is made of a mix of Python, sed, awk and wget, glued together with some zsh, which has done the job for more than ten years now, but has never been really efficient.

arkbot-rs is designed from the start to address Arkbot's shortcomings, including:

  • performance,
  • need for manual intervention.

The goal is to have Arkbot running on a small server or VM (eg. on Toolforge) and performing its tasks on its own without any human intervention.

Usage

Usage: arkbot
       arkbot -h | --help
       arkbot --version

Options:
    -h, --help               Show this screen.
    --version                Show version.

Compiling

Run cargo build --release in your working copy.

Installing

Run sudo cp target/release/arkbot /usr/bin/arkbot in your working copy.

Configuring

Create ~/.config/arkbot/config.toml with the following content:

login = '$BOT_NAME'
password = '$BOT_PASSWORD'
server_url = 'https://fr.wikipedia.org'
script_path = '/w'
output_directory = '/tmp/.arkbot-data'

And replace $BOT_NAME with your bot account name and $BOT_PASSWORD with your bot account password. Please use a bot password created for arkbot-rs, and not the actual account password.

The output_directory will be created, but it's not used anymore and may disapear in a future version.

Enabling as a systemd service, run hourly

systemctl --user link systemd/arkbot.service systemd/arkbot.timer
systemctl --user daemon-reload
systemctl --user enable --now arkbot.timer

Arkbot will then check every hour if there is a new dump available. If there is one, it will download it and update the pages on the target wiki.

Warning: as of now, the target wiki and target pages are hardcoded, which makes arkbot-rs only suitable for the French Wikpedia.

Monitoring

You can check when arkbot-rs history using systemctl --user --list-timer.

You can read arkbot-rs logs using journalctl --user -u arkbot -f.

Contributing and reporting bugs

Contributions are welcome through GitHub pull requests.

Please report bugs and feature requests on GitHub issues.

License

arkbot-rs is copyright (C) 2020-2023 Jérémie Roquet jroquet@arkanosis.net and licensed under the ISC license.

Dependencies

~12–25MB
~358K SLoC