python-gotosocial-notif/README.md
2024-11-20 20:30:18 +07:00

49 lines
1.8 KiB
Markdown

# Python Gotosocial Notifikasi
Ini adalah script untuk mengambil notifikasi di instance kauaku.us (gotosocial) dan menyimpannya ke database sqlite.
kemudian mengirimkannya dengan telegram bot.
## Todo
App ini masih dalam pengembangan dan banyak hal yang belum bisa dilakukan, berikut daftar todo:
- [x] Tarik data dari Gotosocial notifikasi API
- [x] Simpan data ke dalam database sqlite3
- [x] Koneksi ke Telegram Bot
- [x] Kirim data ke Telegram Bot (terbatas untuk mentions, like, boost)
- [x] Mentions
- [x] Like/Favourite
- [x] Boost/Reblog
- [x] Follow
- [x] Tandai data di database jika sudah terkirim
- [x] Delay antar fungsi
- [x] Cron internal
- [ ] ~Build~
- [x] ~Benahi html ke markdown, karena pakai parse `MarkdownV2`~ pakai html
## Install
Clone repositori ini dan install di lokal.
```bash
$ python3 -m venv myvenv
$ source myvenv/bin/activate
$ pip install -r requirements.txt
```
Awas, silakan edit dulu isi file requirements.txt karena isinya banyak module yang tak terpakai, ane belum sempat hapus 1 per 1.
### .env
Saat ini ada 4 environment variable yaitu:
1. GTS_API : untuk URL API dari instance gotosocial
2. GTS_TOKEN : Token dengan scope minimal "Read" untuk akses API gotosocial
3. TELE_BOT : Token Bot Telegram, hubungi Bot Father untuk minta
4. TELE_CHATID : Chat Id dari channel telegram.
## Kekurangan
1. ~Konversi dari html ke text/markdown masih buruk~, Sulit pakai Markdown karena bermasalah dengan entities, jadi pakai html (perlu perbaikan disini)
2. Setiap instance punya cara sendiri - sendiri untuk menyimpan data status, ada yang pakai `<p>` untuk memisahkan baris atau membuat new line, ada pula yang pakai `<br>`
2. Sedikit lebih lambat dibandingkan Deno TS?
## Lain - lain
Folder ini berisi contoh script crontab dan shell `jalan.sh` untuk eksekusi python