用GTK在C ++中製作的替代不符合客戶端
![]() | ![]() |
![]() | ![]() |
當前功能:
1- Abaddon盡力而為(儘管並不完美),以使Discord認為這是合法的網絡客戶端。進行此操作的某些事情包括:使用瀏覽器用戶代理,在所有情況下都使用API V9端點來發送相同的識別消息,並且在所有情況下都使用API V9端點,並且不使用Web Client通常不使用端點。但是,仍然存在一些較小的矛盾之處。例如,Web客戶端通過/science Endpoint(Ublock Origin停止此)以及所有請求的標題中發送了大量遙測。
如果您擔心被垃圾郵件過濾器捕獲,請參閱此處,以了解您可能想要避免的事情。
2 -Unicode表情符號是手動替換的,而不是在非窗口平台上呈現的GTK。可以通過stock_emojis設置更改此功能,如此讀數底部所示。提供了使用TWEMOJI的基於CBDT的字體,以允許GTK在Windows上本地呈現表情符號。
3-與線程狀態有一些不一致之處在某些罕見的情況下可能會遇到,但它們是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-devel注意:在Fedora的較舊版本上,您可能需要安裝GTKMM30-Devel而不是GTKMM3.0-Devel。使用
dnf search gtkmm3查看可用的軟件包。
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 ..make最新版本:https://github.com/uowuo/abaddon/releases/latest
CI:
警告:如果您使用Windows,請確保從
bin目錄開始
res文件夾中的兩個文件夾( res/res和res/css )是必需的。 Windows還使用fonts夾。您可以將它們直接放在可執行文件旁邊。在Linux上, css和res也可以從~/.local/share/abaddon或/usr/share/abaddon加載
如果位於~/.config/abaddon/abaddon.ini並且在工作目錄中沒有abaddon.ini ,也將自動使用abaddon.ini
遵循以下說明。
如果他們認為用戶是垃圾郵件機器人或可能遭到損害的帳戶,則喜歡禁用帳戶/強迫他們重置密碼。雖然官方客戶仍然經常會吸引用戶陷入垃圾郵件過濾器中,但第三方客戶傾向於更頻繁地破壞垃圾郵件過濾器。如果您被它抓住,通常可以提起它並恢復它。如果您特別害怕喚起垃圾郵件過濾器的憤怒,您可能想與官方客戶一起做一些事情:
| 選擇器 | 描述 |
|---|---|
.app-window | 應用於所有窗口。這意味著主窗口和所有彈出窗口 |
.app-popup | 當窗口不是主窗口時, .app-window s的其他類 |
.channel-list | 頻道列表的容器 |
.messages | 用戶消息的容器 |
.message-container | 容納用戶消息的容器 |
.message-container-author | 作者標籤消息容器 |
.message-container-timestamp | 消息容器的時間戳標籤 |
.message-container-avatar | 郵件中用戶的頭像 |
.message-container-extra | 包含bot/webhook的標籤 |
.message-text | 用戶消息的文字 |
.pending | 額外的類別的.Message-Text用於發送的消息 |
.failed | 未能發送的消息的額外類別的.message-Text |
.message-attachment-box | 包含附件信息 |
.message-reply | 答復中回复消息的容器(這些元素還將具有.message-text集) |
.message-input | 應用於聊天輸入容器 |
.replying | 當前正在創建回复時,用於聊天輸入容器的額外類 |
.reaction-box | 包含反應圖像和計數 |
.reacted | 當用戶與特定反應反應時,反應框的其他類 |
.reaction-count | 包含反應的計數 |
.completer | 消息完成器的容器 |
.completer-entry | 完善器中單個條目的容器 |
.completer-entry-label | 包含完工中條目的標籤 |
.completer-entry-image | 包含完成者中條目的圖像 |
.embed | 嵌入消息的容器 |
.embed-author | 嵌入的作者 |
.embed-title | 嵌入的標題 |
.embed-description | 嵌入的描述 |
.embed-field-title | 嵌入字段的標題 |
.embed-field-value | 嵌入字段的值 |
.embed-footer | 嵌入的頁腳 |
.member-list | 成員列表的容器 |
.typing-indicator | 打字指示燈(也用於答复) |
在可重新排序的列表實現中使用:
| 選擇器 |
|---|
.drag-icon |
.drag-hover-top |
.drag-hover-bottom |
在公會設置彈出窗口中使用:
| 選擇器 | 描述 |
|---|---|
.guild-settings-window | 用於成員窗格成員列表的容器 |
.guild-members-pane-list | |
.guild-members-pane-info | 容器以獲取會員信息 |
.guild-roles-pane-list | 用於角色窗格角色列表的容器 |
在個人資料彈出窗口中使用:
| 選擇器 | 描述 |
|---|---|
.mutual-friend-item | 應用於共同朋友列表中的每個項目 |
.mutual-friend-item-name | 在共同的朋友項目中名稱 |
.mutual-friend-item-avatar | 互相朋友項目中的頭像 |
.mutual-guild-item | 應用於共同行會列表中的每個項目 |
.mutual-guild-item-name | 共同行會項目的姓名 |
.mutual-guild-item-icon | 共同行會項目中的圖標 |
.mutual-guild-item-nick | 用戶暱稱在共同行會項目中 |
.profile-connection | 應用於用戶連接列表中的每個項目 |
.profile-connection-label | 配置文件連接項中的標籤 |
.profile-connection-check | 在經過驗證的個人資料連接項目中檢查標記 |
.profile-connections | 配置文件連接的容器 |
.profile-notes | 配置文件窗口中的筆記容器 |
.profile-notes-label | 標籤上說“注意” |
.profile-notes-text | 實際註釋文字 |
.profile-info-pane | 應用於容器以獲取個人資料彈出的信息部分 |
.profile-info-created | 創建日期的標籤 |
.user-profile-window | |
.profile-main-container | 輪廓的內部容器 |
.profile-avatar | |
.profile-username | 用戶的顯示名稱(向後兼容的用戶名) |
.profile-username-nondisplay | 用戶的實際用戶名 |
.profile-switcher | 用於切換配置文件的查看部分的按鈕 |
.profile-stack | 容器以獲取可以切換的個人資料信息 |
.profile-badges | 徽章的容器 |
.profile-badge |
通過編輯abaddon.ini配置設置(現在)。該格式類似於標準Windows INI格式,除了:
#用於開始評論而不是;警告:即使在運行時可以重新加載,即使客戶關閉,您也應該在客戶端關閉時進行編輯。
此清單是按節組組織的。例如,將通過添加memory_db = true [discord]下的memory_db設置內存_db
| 環境 | 類型 | 預設 | 描述 |
|---|---|---|---|
gateway | 細繩 | 覆蓋URL用於Discord Gateway。必須是JSON格式並使用ZLIB流壓縮 | |
api_base | 細繩 | 覆蓋不和諧API的基本URL | |
memory_db | 布爾 | 錯誤的 | 如果是真的,將不符合數據保存在內存中,而不是在磁盤上 |
token | 細繩 | 不登錄的不和諧令牌,可以從菜單中設置此設置 | |
prefetch | 布爾 | 錯誤的 | 如果是真的,新消息將導致頭像和圖像附件自動下載 |
autoconnect | 布爾 | 錯誤的 | 自動連接到不和諧 |
keychain | 布爾 | 真的 | 將令牌存儲在系統鑰匙鏈中(如果支持彙編) |
| 環境 | 類型 | 預設 | 描述 |
|---|---|---|---|
user_agent | 細繩 | 將在HTTP請求中使用的用戶代理設置為Discord API(不包括媒體/圖像) | |
concurrent | int | 20 | 可以同時檢索多少個圖像 |
| 環境 | 類型 | 預設 | 描述 |
|---|---|---|---|
member_list_discriminator | 布爾 | 真的 | 在成員列表中顯示用戶歧視器 |
stock_emojis | 布爾 | 真的 | 允許Abaddon用Emojis.bin的圖像代替Unicode Emojis,必須是錯誤的,才能使GTK呈現表情符號本身 |
custom_emojis | 布爾 | 真的 | 下載並使用自定義不和諧表情符號 |
css | 細繩 | 通往主要CSS文件的路徑 | |
animations | 布爾 | 真的 | 使用可用的動畫圖像(例如服務器圖標,表情符號,頭像)。錯誤意味著將使用靜態圖像 |
animated_guild_hover_only | 布爾 | 真的 | 僅當公會徘徊時,只有動畫行會圖標 |
owner_crown | 布爾 | 真的 | 在所有者旁邊顯示冠冕 |
unreads | 布爾 | 真的 | 顯示未讀指標和提及徽章 |
save_state | 布爾 | 真的 | 保存GUI的狀態(活動頻道,選項卡,擴展的頻道) |
alt_menu | 布爾 | 錯誤的 | 除非用alt鍵顯示,否則請保留菜單 |
hide_to_tray | 布爾 | 錯誤的 | 將abaddon隱藏到窗口上的系統托盤上 |
show_deleted_indicator | 布爾 | 真的 | 顯示刪除消息旁邊的[已刪除]指示燈,而不是實際刪除消息 |
font_scale | 雙倍的 | 比例字體渲染。 1不變 | |
image_embed_clamp_width | int | 400 | 圖像嵌入的最大寬度 |
image_embed_clamp_height | int | 300 | 圖像嵌入的最大高度 |
classic_channels | 布爾 | 錯誤的 | 使用經典的Discord風格接口進行服務器/頻道列表 |
classic_change_guild_on_open | 布爾 | 真的 | 選擇頻道時顯示的公會(經典頻道列表) |
| 環境 | 類型 | 描述 |
|---|---|---|
expandercolor | 細繩 | 用於頻道列表中的擴展器的顏色 |
nsfwchannelcolor | 細繩 | 頻道列表中用於NSFW頻道的顏色 |
mentionbadgecolor | 細繩 | 徽章的背景顏色 |
mentionbadgetextcolor | 細繩 | 用於顯示在徽章上的數字的顏色 |
unreadcolor | 細繩 | 用於未閱讀指示器的顏色 |
| 環境 | 類型 | 預設 | 描述 |
|---|---|---|---|
enabled | 布爾 | true(如果不是在Windows上) | 啟用桌面通知 |
playsound | 布爾 | 真的 | 啟用通知聲音。需要enable_notification_sounds = true cmake |
| 環境 | 類型 | 預設 | 描述 |
|---|---|---|---|
vad | 細繩 | rnnoise如果啟用,請否則否則 | 用於語音活動檢測的方法。在UI中更換 |
backends | 細繩 | 空的 | 在初始化miniaudio: wasapi;dsound;winmm;coreaudio;sndio;audio4;oss;pulseaudio;alsa;jack時更改後端優先級。 |
| 環境 | 類型 | 預設 | 描述 |
|---|---|---|---|
hideconsole | 布爾 | 錯誤的 | 在啟動上隱藏控制台 |
| 多變的 | 描述 |
|---|---|
ABADDON_NO_FC | (僅Windows)不使用自定義字體配置 |
ABADDON_CONFIG | 更改要使用的配置文件的路徑。相對於CWD或可以是絕對的 |