Alternatif Perselisihan Klien Dibuat di C ++ Dengan GTK
![]() | ![]() |
![]() | ![]() |
Fitur Saat Ini:
1 - Abaddon mencoba yang terbaik (meskipun tidak sempurna) untuk membuat perselisihan berpikir itu adalah klien web yang sah. Beberapa hal yang dilakukan untuk melakukan ini meliputi: menggunakan agen pengguna browser, mengirim pesan identifikasi yang sama seperti yang dilakukan klien web resmi, menggunakan titik akhir API V9 dalam semua kasus, dan tidak menggunakan titik akhir yang biasanya tidak digunakan klien web. Namun, masih ada beberapa ketidakkonsistenan yang lebih kecil. Misalnya klien web mengirim banyak telemetri melalui titik akhir /science (asal usul Ublock menghentikan ini) serta di header semua permintaan.
Lihat di sini untuk hal -hal yang mungkin ingin Anda hindari jika Anda khawatir tertangkap dalam filter spam.
2 - Emoji Unicode diganti secara manual sebagai lawan yang diberikan oleh GTK pada platform non -windows. Ini dapat diubah dengan pengaturan stock_emojis seperti yang ditunjukkan di bagian bawah readme ini. Font berbasis CBDT menggunakan twemoji disediakan untuk memungkinkan GTK membuat emojis secara asli pada windows.
3 - Ada beberapa ketidakkonsistenan dengan keadaan utas yang mungkin ditemui dalam beberapa kasus yang lebih tidak umum, tetapi mereka adalah hasil dari masalah mendasar dengan implementasi utas Discord.
git clone --recurse-submodules="subprojects" https://github.com/uowuo/abaddon && cd abaddonmkdir build && cd buildcmake -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo ..ninjagit clone https://github.com/uowuo/abaddon --recurse-submodules="subprojects" && cd abaddonbrew install gtkmm3 nlohmann-json libhandy opus libsodium spdlog adwaita-icon-thememkdir build && cd buildcmake ..make$ sudo apt install g++ cmake libgtkmm-3.0-dev libcurl4-gnutls-dev libsqlite3-dev libssl-dev nlohmann-json3-dev libhandy-1-dev libsecret-1-dev libopus-dev libsodium-dev libspdlog-dev$ sudo pacman -S gcc cmake gtkmm3 libcurl-gnutls lib32-sqlite lib32-openssl nlohmann-json libhandy opus libsodium spdlog$ sudo dnf install g++ cmake gtkmm3.0-devel libcurl-devel sqlite-devel openssl-devel json-devel libsecret-devel libhandy-devel opus-devel libsodium-devel spdlog-develCATATAN: Pada versi yang lebih lama dari Fedora, Anda mungkin perlu menginstal GTKMM30-Devel bukan GTKMM3.0-Devel. Gunakan
dnf search gtkmm3untuk melihat paket yang tersedia.
git clone https://github.com/uowuo/abaddon --recurse-submodules="subprojects" && cd abaddonmkdir build && cd buildcmake ..makepkg install git cmake nlohmann-json spdlog gtkmm30 libhandy libsodiumgit clone https://github.com/uowuo/abaddon --recurse-submodules="subprojects" && cd abaddonmkdir build && cd buildcmake ..makeVersi rilis terbaru: https://github.com/uowuo/abaddon/releases/latest
CI:
Peringatan : Jika Anda menggunakan Windows, pastikan untuk memulai dari Direktori
bin
Dua folder dalam folder res ( res/res dan res/css ) diperlukan. Windows juga menggunakan folder fonts . Anda dapat meletakkannya langsung di sebelah yang dapat dieksekusi. Di Linux, css dan res juga dapat dimuat dari ~/.local/share/abaddon atau /usr/share/abaddon
abaddon.ini juga akan secara otomatis digunakan jika terletak di ~/.config/abaddon/abaddon.ini dan tidak ada abaddon.ini di direktori kerja
Ikuti instruksi ini.
Perselisihan suka menonaktifkan akun/memaksa mereka untuk mengatur ulang kata sandi mereka jika mereka pikir pengguna adalah bot spam atau berpotensi membuat akun mereka terganggu. Sementara klien resmi masih sering membuat pengguna terperangkap dalam filter spam, klien pihak ketiga cenderung lebih sering mengganggu filter spam. Jika Anda tertangkap olehnya, Anda biasanya dapat mengajukan banding dan memulihkannya. Berikut adalah beberapa hal yang mungkin ingin Anda lakukan dengan klien resmi sebagai gantinya jika Anda sangat takut membangkitkan murka filter spam:
| Pemilih | Keterangan |
|---|---|
.app-window | Diterapkan ke semua jendela. Ini berarti jendela utama dan semua popup |
.app-popup | Kelas tambahan untuk .app-window s saat jendela bukan jendela utama |
.channel-list | Wadah daftar saluran |
.messages | Wadah pesan pengguna |
.message-container | Wadah yang menyimpan pesan pengguna |
.message-container-author | Label penulis untuk wadah pesan |
.message-container-timestamp | Label Timestamp untuk wadah pesan |
.message-container-avatar | Avatar untuk pengguna dalam pesan |
.message-container-extra | Label yang berisi bot/webhook |
.message-text | Teks pesan pengguna |
.pending | Kelas tambahan .Message-Text untuk pesan yang tertunda untuk dikirim |
.failed | Kelas tambahan .Message-Text untuk pesan yang gagal dikirim |
.message-attachment-box | Berisi info lampiran |
.message-reply | Wadah untuk pesan balasan dalam balasan (elemen-elemen ini juga akan memiliki set .message-text) |
.message-input | Diterapkan ke wadah input obrolan |
.replying | Kelas tambahan untuk wadah input obrolan saat balasan sedang dibuat |
.reaction-box | Berisi gambar reaksi dan jumlah |
.reacted | Kelas tambahan untuk kotak reaksi ketika pengguna bereaksi dengan reaksi tertentu |
.reaction-count | Berisi jumlah reaksi |
.completer | Wadah untuk pelengkap pesan |
.completer-entry | Wadah untuk satu entri dalam pelengkap |
.completer-entry-label | Berisi label untuk entri di pelengkap |
.completer-entry-image | Berisi gambar untuk entri di pelengkap |
.embed | Wadah untuk embed pesan |
.embed-author | Penulis embed |
.embed-title | Judul embed |
.embed-description | Deskripsi embed |
.embed-field-title | Judul bidang embed |
.embed-field-value | Nilai bidang embed |
.embed-footer | Footer embed |
.member-list | Wadah daftar anggota |
.typing-indicator | Indikator pengetikan (juga digunakan untuk balasan) |
Digunakan dalam implementasi daftar yang dapat dipesan kembali:
| Pemilih |
|---|
.drag-icon |
.drag-hover-top |
.drag-hover-bottom |
Digunakan dalam Popup Pengaturan Guild:
| Pemilih | Keterangan |
|---|---|
.guild-settings-window | Wadah untuk daftar anggota di panel anggota |
.guild-members-pane-list | |
.guild-members-pane-info | Wadah untuk info anggota |
.guild-roles-pane-list | Wadah untuk daftar peran dalam panel peran |
Digunakan dalam popup profil:
| Pemilih | Keterangan |
|---|---|
.mutual-friend-item | Diterapkan ke setiap item dalam daftar teman bersama |
.mutual-friend-item-name | Nama dalam item bersama |
.mutual-friend-item-avatar | Avatar dalam item bersama |
.mutual-guild-item | Diterapkan untuk setiap item dalam daftar serikat pekerja bersama |
.mutual-guild-item-name | Nama dalam item Mutual Guild |
.mutual-guild-item-icon | Ikon dalam item Mutual Guild |
.mutual-guild-item-nick | Nama panggilan pengguna dalam item Mutual Guild |
.profile-connection | Diterapkan ke setiap item dalam daftar koneksi pengguna |
.profile-connection-label | Label di Item Koneksi Profil |
.profile-connection-check | Centang dalam Item Koneksi Profil Terverifikasi |
.profile-connections | Wadah untuk koneksi profil |
.profile-notes | Wadah untuk catatan di jendela profil |
.profile-notes-label | Label yang bertuliskan "Catatan" |
.profile-notes-text | Teks catatan yang sebenarnya |
.profile-info-pane | Diterapkan ke wadah untuk bagian info popup profil |
.profile-info-created | Label untuk Tanggal Pembuatan Profil |
.user-profile-window | |
.profile-main-container | Wadah dalam untuk profil |
.profile-avatar | |
.profile-username | Nama tampilan pengguna (nama pengguna untuk kompatibilitas ke belakang) |
.profile-username-nondisplay | Nama pengguna aktual pengguna |
.profile-switcher | Tombol yang digunakan untuk mengganti bagian profil yang dilihat |
.profile-stack | Wadah untuk info profil yang dapat diaktifkan di antara |
.profile-badges | Wadah untuk lencana |
.profile-badge |
Pengaturan dikonfigurasi (untuk saat ini) dengan mengedit abaddon.ini . Formatnya mirip dengan format Windows INI standar kecuali :
# digunakan untuk memulai komentar sebagai lawan ;PERINGATAN : Anda harus mengedit ini saat klien ditutup, meskipun ada opsi untuk memuat ulang saat berjalan.
Daftar ini disusun oleh bagian. Misalnya, memory_db akan diatur dengan menambahkan memory_db = true di bawah baris [discord]
| Pengaturan | Jenis | Bawaan | Keterangan |
|---|---|---|---|
gateway | rangkaian | Menggantikan URL untuk Discord Gateway. harus berupa format json dan menggunakan kompresi aliran zlib | |
api_base | rangkaian | mengesampingkan URL dasar untuk API Perselisihan | |
memory_db | Boolean | PALSU | Jika benar, data perselisihan akan disimpan dalam memori sebagai lawan di disk |
token | rangkaian | Token perselisihan digunakan untuk login, ini dapat diatur dari menu | |
prefetch | Boolean | PALSU | Jika benar, pesan baru akan menyebabkan lampiran avatar dan gambar diunduh secara otomatis |
autoconnect | Boolean | PALSU | Autoconnect ke perselisihan |
keychain | Boolean | BENAR | Token Simpan di Keychain Sistem (jika dikompilasi dengan dukungan) |
| Pengaturan | Jenis | Bawaan | Keterangan |
|---|---|---|---|
user_agent | rangkaian | Menetapkan agen pengguna yang akan digunakan dalam permintaan HTTP ke API Perselisihan (tidak termasuk media/gambar) | |
concurrent | int | 20 | berapa banyak gambar yang dapat diambil secara bersamaan |
| Pengaturan | Jenis | Bawaan | Keterangan |
|---|---|---|---|
member_list_discriminator | Boolean | BENAR | Tunjukkan diskriminator pengguna dalam daftar anggota |
stock_emojis | Boolean | BENAR | Izinkan Abaddon untuk mengganti emoji unicode dengan gambar dari emojis.bin, harus salah untuk memungkinkan GTK membuat emoji itu sendiri |
custom_emojis | Boolean | BENAR | Unduh dan Gunakan Emoji Perselisihan Kustom |
css | rangkaian | jalur ke file CSS utama | |
animations | Boolean | BENAR | Gunakan gambar animasi jika tersedia (misalnya ikon server, emoji, avatar). FALSE Means Static Images akan digunakan |
animated_guild_hover_only | Boolean | BENAR | hanya ikon guild hidup ketika guild sedang dilayang -layang |
owner_crown | Boolean | BENAR | Tunjukkan mahkota di sebelah pemilik |
unreads | Boolean | BENAR | Tunjukkan indikator yang belum dibaca dan sebutkan lencana |
save_state | Boolean | BENAR | Simpan keadaan GUI (saluran aktif, tab, saluran yang diperluas) |
alt_menu | Boolean | PALSU | Simpan menu tersembunyi kecuali diungkapkan dengan tombol alt |
hide_to_tray | Boolean | PALSU | Sembunyikan Abaddon ke baki sistem di jendela tutup |
show_deleted_indicator | Boolean | BENAR | Tampilkan indikator [dihapus] di sebelah pesan yang dihapus alih -alih benar -benar menghapus pesan |
font_scale | dobel | skala rendering font. 1 tidak berubah | |
image_embed_clamp_width | int | 400 | lebar maksimum gambar embed |
image_embed_clamp_height | int | 300 | tinggi maksimum embed gambar |
classic_channels | Boolean | PALSU | Gunakan antarmuka gaya discord klasik untuk daftar server/saluran |
classic_change_guild_on_open | Boolean | BENAR | Ubah guild yang ditampilkan saat memilih saluran (daftar saluran klasik) |
| Pengaturan | Jenis | Keterangan |
|---|---|---|
expandercolor | rangkaian | Warna untuk digunakan untuk expander dalam daftar saluran |
nsfwchannelcolor | rangkaian | Warna untuk digunakan untuk saluran NSFW dalam daftar saluran |
mentionbadgecolor | rangkaian | Warna latar belakang untuk disebutkan lencana |
mentionbadgetextcolor | rangkaian | Warna untuk digunakan untuk nomor yang ditampilkan pada lencana yang disebutkan |
unreadcolor | rangkaian | Warna untuk digunakan untuk indikator yang belum dibaca |
| Pengaturan | Jenis | Bawaan | Keterangan |
|---|---|---|---|
enabled | Boolean | true (jika tidak di windows) | Aktifkan pemberitahuan desktop |
playsound | Boolean | BENAR | Aktifkan suara pemberitahuan. Membutuhkan enable_notification_sounds = true di cmake |
| Pengaturan | Jenis | Bawaan | Keterangan |
|---|---|---|---|
vad | rangkaian | rnnoise jika diaktifkan, gerbang sebaliknya | Metode yang digunakan untuk deteksi aktivitas suara. Berubah di UI |
backends | rangkaian | kosong | Ubah prioritas backend ketika menginisialisasi minidio: wasapi;dsound;winmm;coreaudio;sndio;audio4;oss;pulseaudio;alsa;jack |
| Pengaturan | Jenis | Bawaan | Keterangan |
|---|---|---|---|
hideconsole | Boolean | PALSU | Sembunyikan konsol saat startup |
| variabel | Keterangan |
|---|---|
ABADDON_NO_FC | (Hanya Windows) Jangan gunakan konfigurasi font khusus |
ABADDON_CONFIG | Ubah jalur file konfigurasi untuk digunakan. relatif terhadap CWD atau bisa absolut |