mastobotmon monitors your bots on Mastodon.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tastytea 6aee23d646
Bugfix: Allow for more than 65535 minutes of inactivity.
3 weeks ago
src Bugfix: Allow for more than 65535 minutes of inactivity. 3 weeks ago
.gitignore initial commit 9 months ago
CMakeLists.txt Bugfix: Allow for more than 65535 minutes of inactivity. 3 weeks ago
LICENSE initial commit 9 months ago
README.md git.schlomp.space -> schlomp.space 6 months ago

README.md

mastobotmon monitors your bots on Mastodon.

Install

Dependencies

  • Tested OS: Linux
  • C++ compiler (tested: gcc 6.4, clang 5.0)
  • cmake (tested: 3.9.6)
  • mastodon-cpp (at least: 0.11.0)
  • jsoncpp (tested: 1.8.1)

Get sourcecode

Development version

git clone https://schlomp.space/tastytea/mastobotmon.git

Compile

mkdir build
cd build/
cmake ..
make

cmake options:

  • -DCMAKE_BUILD_TYPE=Debug for a debug build

Install with make install.

Usage

Run mastobotmon once. Edit config file (~/.config/mastobotmon.json). Call mastobotmon from cron. If a bot is inactive for longer than the specified minutes, it prints an alert to stdout.

Commands

  • add – Add accounts

Error codes

Same as mastodon-cpp, plus:

Code Explanation
1 Couldn’t read / create config
2 Reached limit of API calls

If you use a debug build, you get more verbose error messages.

Example config file

{
   "accounts" : {
      "account1@example.social" : {
         "access_token" : "xxxx",
         // Alert after this many minutes of inactivity
         "minutes" : 720
      },
      "account2@example.social" : {
         "access_token" : "yyyy",
         "minutes" : 1450
      }
   },
   // In daemon mode, check every x minutes
   "daemon_check" : 60,
   // This is the directory where the mentions and statistics will be stored.
   "data_dir" : "/home/user/mastobotmon",
   // Possible values: cron (daemon mode later)
   "mode" : "cron"
}

Mentions

Mentions are written to data_dir/mentions_account.csv. The format is: acct;created_at;content;url.

Statistics

Statistics are written to data_dir/statistics_account.csv. The format is: time;toots;followers.

TODO

  • Version 0.1.0
    • Cron mode
    • Config file
    • Alert if account seems inactive
  • Version 0.2.0
    • Allow to add accounts later
    • Write mentions to file
  • Version 0.3.0
    • Respect X-RateLimit header
    • Write statistics to file
  • Version 0.4.0
    • Daemon mode
    • Options to turn mention grabbing and statistics off
  • Version 0.5.0
    • Allow to run command on alert

Copyright

Copyright © 2018 tastytea <tastytea@tastytea.de>.
License GPLv3: GNU GPL version 3 <https://www.gnu.org/licenses/gpl-3.0.html>.
This program comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.