Chatroom-Syncer adalah proyek untuk menyinkronkan Ruang Obrolan IM ke domain publik seperti IRC di masa lalu, sehingga informasi, konteks, dan riwayat komunikasi dapat ditemukan, dipelajari, dan dirujuk oleh orang lain, apa pun, kapan pun.
demo-obrolan-sinkronisasi.mp4
Tenggelam yang Didukung
Komponen | Gambar buruh pelabuhan | Komentar Gambar |
---|---|---|
wechaty-gateway | "wechaty": "1.20.2" "wechaty-puppet-wechat": "1.18.4" | |
chatroom-syncer | - tag: dev adalah kepala cabang utama- latest adalah rilis terbaru pada |
Ada dua proses dalam sistem:
Oleh karena itu, kita perlu memulai WeChaty Gateway sebelum Sinkronisasi Ruang Obrolan.
┌────────────────────────────┐ ┌────────┐ ┌────────┐
│ │ │ Sink │ │ │
│ Chatroom Syncer │ │ │ │ │
│ │ │ GitHub │ │ │
│ onMessage() ├────────▶ Slack ─ ─ ─ ─▶ Linen* │
│ self.use(***SinkPlugin())│ │ │ │ │
│ │ │ │ │ │
└──────────────▲─────────────┘ │ │ │ │
│ └────────┘ └────────┘
gRPC
│
┌──────────────▼──────────────┐
│ │
│ Wechaty Gateway │
│ │
│ │
│┌────────────────────────┐ │
││ Wechaty UOS puppet │ │
│└────────────────────────┘ │
└─────────────────────────────┘
# * Linen.dev is a Open Source project and a SaaS/Cloud service to help sync slack/discord to a searchable and shareable public domain.
Sebelum menjalankan, kita perlu mengikuti prasyarat berikut:
config.yaml
, keduanya harus ada di WeChat dan Sink..env
.Jalankan di latar belakang:
cp config-example.yaml config.yaml
cp env-example .env
docker-compose up -d
Periksa kedua kontainer sudah Naik:
docker-compose ps
Jika terdapat container Exit 0
, cobalah memulai lagi:
docker-compose up -d
Pindai kode QR dengan Aplikasi WeChat Anda, dan Anda siap berangkat!
docker logs chatroom-syncer_chatroom-syncer_1 2> /dev/null | grep -v Wechaty
Hentikan:
docker-compose down
Jalankan gateway Webchaty terlebih dahulu:
export token= " iwonttellyou "
docker run -d
--name=wechaty-gateway
--net=bridge
-p 9009:9009
-e WECHATY_PUPPET_SERVICE_TOKEN= " $token "
--restart=unless-stopped weygu/wechaty-gateway:latest
Jalankan Sinkronisasi Ruang Obrolan:
# install it
python3 -m pip install chatroom-syncer
# create config.yaml and change it
cp config-example.yaml config.yaml
# put tokens for sink according to your config.yaml
# i.e. if both slack and github discussion sinks were enabled
# we need token to send message to slack and github discussion
# as follow:
export SLACK_BOT_TOKEN= " xoxb-1234567890-1234567890-1234567890-1234567890 "
export GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxx
# run it
python3 -m chatroom_syncer
Salin config-example.yaml ke config.yaml
cp config-example.yaml config.yaml
Dan isi kolom berikut pada tabel:
Bidang | Keterangan |
---|---|
enable_slack | Peralihan wastafel kendur |
group_channel_mapping | Memetakan nama grup WeChat ke nama saluran Slack |
enable_avatar | Beralih untuk menghasilkan avatar berbasis emoji untuk Slack sink |
enable_github_discussion | Peralihan wastafel Diskusi Github |
group_github_discussion_mapping | Memetakan nama grup WeChat ke diskusi: pemilik/repo/kategori |
git clone https://github.com/wey-gu/chatroom-syncer && cd chatroom-syncer
# install pdm
curl -sSL https://raw.githubusercontent.com/pdm-project/pdm/main/install-pdm.py | python3 -
# install chatroom-syncer
pdm install
Jika dependensi diperbarui, jalankan pdm sync
untuk memperbarui manifes kunci.
pdm sync
docker-compose -f docker-compose.dev.yaml build
docker-compose -f docker-compose.dev.yaml up -d
# get QR code to scan
docker logs chatroom-syncer_chatroom-syncer_1 2> /dev/null | grep -v Wechaty
# watch logs of the chatroom syncer
docker logs chatroom-syncer_chatroom-syncer_1 --follow
# stop the chatroom syncer and remove the container
docker-compose -f docker-compose.dev.yaml down
# install pre-commit
pip install pre-commit
# run pre-commit
pre-commit run --all-files