Initial commit: Aoi (Аой-тян) — Matrix notifier for Navidrome and discovery-playlist

- aoi.py: poller for Navidrome (main + anime libraries), discovery playlists, release watch for liked/rated artists
- Last.fm enrichment (bio, tags); Bandcamp search links
- config.example.json: safe template; config.json gitignored
- deploy/aoi.service: systemd unit (production)
- assets/banner.png + aoi-avatar.png: persona banner + bot avatar
- Russian README in line with sibling bots (rada/watcher)
This commit is contained in:
Rinka Makise-Okabe 2026-04-28 20:15:50 +03:00
commit 5fa857b9cc
8 changed files with 1155 additions and 0 deletions

42
config.example.json Normal file
View file

@ -0,0 +1,42 @@
{
"matrix": {
"homeserver": "https://tuwu.vespahomelab.ru",
"access_token": "REPLACE_ME",
"room_id": "!roomid:tuwu.vespahomelab.ru",
"user_id": "@aoi:tuwu.vespahomelab.ru"
},
"bot": {
"name": "Аой-тян",
"avatar_path": ""
},
"navidrome": {
"url": "http://192.168.31.216:4533",
"username": "shu",
"password": "REPLACE_ME",
"main_library_id": 1,
"anime_library_id": 3,
"discovery_library_id": 4,
"album_poll_size": 40
},
"discovery": {
"db_path": "/data/discovery.db",
"playlist_name_contains": "Discovery"
},
"metadata": {
"lastfm_api_key": "",
"musicbrainz_enabled": true,
"proxy": "",
"user_agent": "AoiNotifier/1.0 (https://tuwu.vespahomelab.ru)"
},
"polling": {
"navidrome_album_interval_seconds": 300,
"discovery_playlist_interval_seconds": 180,
"release_watch_interval_seconds": 600,
"baseline_existing_on_first_run": true
},
"server": {
"host": "0.0.0.0",
"port": 18323
}
}