Notifikasi gotosocial dengan python
Find a file
2024-10-04 09:32:04 +07:00
lain - lain lain - lain 2024-10-02 21:25:14 +07:00
test benerin posisi database sqlite3 supaya berada di dalam workin directory 2024-10-03 18:37:36 +07:00
.gitignore pertama komit 2024-09-29 17:14:20 +07:00
hapus_data.py tambah fungsi hapus data biar database ga gendut 2024-10-02 19:49:30 +07:00
main.py fix: fetch db sqlite dengan aturan sort desc 2024-10-04 09:32:04 +07:00
models.py memindahkan db dan membuat fungsi untuk membuat folder db 2024-10-03 18:49:56 +07:00
pyrightconfig.json pertama komit 2024-09-29 17:14:20 +07:00
README.md lain - lain 2024-10-02 21:25:14 +07:00
requirements.txt fix: fetch db sqlite dengan aturan sort desc 2024-10-04 09:32:04 +07:00
snippets.py pertama komit 2024-09-29 17:14:20 +07:00

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:

  • Tarik data dari Gotosocial notifikasi API
  • Simpan data ke dalam database sqlite3
  • Koneksi ke Telegram Bot
  • Kirim data ke Telegram Bot (terbatas untuk mentions, like, boost)
    • Mentions
    • Like/Favourite
    • Boost/Reblog
    • Follow
  • Tandai data di database jika sudah terkirim
  • Delay antar fungsi
  • Cron internal
  • Build
  • Benahi html ke markdown, karena pakai parse MarkdownV2 pakai html

Install

Clone repositori ini dan install di lokal.

$ 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 `
  3. Sedikit lebih lambat dibandingkan Deno TS?

Lain - lain

Folder ini berisi contoh script crontab dan shell jalan.sh untuk eksekusi python