| Linux | マック |
|---|---|
NCHATは、TelegramとWhatsAppをサポートするLinuxおよびMacOS向けのターミナルベースのチャットクライアントです。

使用法:
nchat [OPTION]
コマンドラインオプション:
-d, --confdir <DIR> use a different directory than ~/.config/nchat
-e, --verbose enable verbose logging
-ee, --extra-verbose enable extra verbose logging
-h, --help display this help and exit
-k, --keydump key code dump mode
-m, --devmode developer mode
-r, --remove remove chat protocol account
-s, --setup set up chat protocol account
-v, --version output version information and exit
-x, --export <DIR> export message cache to specified dir
インタラクティブコマンド:
PageDn history next page
PageUp history previous page
Tab next chat
Sh-Tab previous chat
Ctrl-f jump to unread chat
Ctrl-g toggle show help bar
Ctrl-l toggle show contact list
Ctrl-n search contacts
Ctrl-p toggle show top bar
Ctrl-q quit
Ctrl-s insert emoji
Ctrl-t send file
Ctrl-x send message
Ctrl-y toggle show emojis
KeyUp select message
Alt-d delete/leave current chat
Alt-e external editor compose
Alt-n goto chat
Alt-t external telephone call
Alt-/ find in chat
Alt-? find next in chat
Alt-$ external spell check
Alt-, decrease contact list width
Alt-. increase contact list width
選択したメッセージのインタラクティブコマンド:
Ctrl-d delete selected message
Ctrl-r download attached file
Ctrl-v open/view attached file
Ctrl-w open link
Ctrl-x send reply to selected message
Ctrl-z edit selected message
Alt-c copy selected message to clipboard
Alt-q jump to quoted/replied message
Alt-r forward selected message
Alt-s add/remove reaction on selected message
Alt-w external message viewer
テキスト入力のインタラクティブコマンド:
Ctrl-a move cursor to start of line
Ctrl-c clear input buffer
Ctrl-e move cursor to end of line
Ctrl-k delete from cursor to end of line
Ctrl-u delete from cursor to start of line
Alt-Left move cursor backward one word
Alt-Right move cursor forward one word
Alt-Backsp delete previous word
Alt-Delete delete next word
Alt-c copy input buffer to clipboard (if no message selected)
Alt-v paste into input buffer from clipboard
Alt-x cut input buffer to clipboard
NCHATは、LinuxおよびMacOSで開発およびテストされています。現在のバージョンはテストされています:
Brewを使用した安定したリリースの構築 /インストール
brew tap d99kris/nchat
brew install nchat
オプションでは、 --without-whatsappと--without-telegramを使用してプロトコルを無効にすることができます。たとえば
brew install nchat --without-telegram
最新のgitを構築 /インストールします
yay -S nchat-git
安定したリリースをビルド /インストールします
yay -S nchat
NCHATは大きなコードベース(主に電報ライブラリTDLIB)で構成されているため、比較的長い最初のビルドタイムに備えてください。
ソースを取得します
git clone https://github.com/d99kris/nchat && cd nchat
MacOS、Alpine、Arch、Fedora、Gentoo、Raspbian、Ubuntu、またはvoidを使用している場合、 make.shスクリプトを使用できます。
依存関係
./make.sh deps
ビルド /インストール
./make.sh build && ./make.sh install
依存関係
macos
brew install gperf cmake openssl ncurses ccache readline help2man sqlite libmagic go
アーチ
sudo pacman -S ccache cmake file go gperf help2man ncurses openssl readline sqlite zlib base-devel
Debianベース(Ubuntu、Raspbianなど)
sudo apt install ccache cmake build-essential gperf help2man libreadline-dev libssl-dev libncurses-dev libncursesw5-dev ncurses-doc zlib1g-dev libsqlite3-dev libmagic-dev golang
フェドラ
sudo dnf install git cmake clang golang ccache file-devel file-libs gperf readline-devel openssl-devel ncurses-devel sqlite-devel zlib-devel
紳士
sudo emerge -n dev-util/cmake dev-util/ccache dev-util/gperf sys-apps/help2man sys-libs/readline dev-libs/openssl sys-libs/ncurses sys-libs/zlib dev-db/sqlite sys-apps/file dev-lang/go
空所
sudo xbps-install base-devel go ccache cmake gperf help2man libmagick-devel readline-devel sqlite-devel file-devel openssl-devel
建てる
mkdir -p build && cd build && cmake .. && make -s
インストール
sudo make install
デフォルトでは、NCHATは、Clang ++を備えたG ++および〜1.5GB RAMを使用してビルドするために約3.5GB RAMを必要としますが、必要なメモリを減らすことは可能です。低メモリシステムの構築を参照してください。
すべてのNCHAT機能はデフォルトで有効になっていますが、Cmakeフラグを使用していくつかの機能を含めることを制御することができます。機能フラグを参照してください。
アカウントを構成 /セットアップするには、セットアップモードでNCHATを実行する必要があります。
nchat --setup
セットアップモードでは、電話番号が入力されます。例:
$ nchat --setup
Protocols:
0. Dummy
1. Telegram
2. WhatsAppMd
3. Exit setup
Select protocol (3): 1
Enter phone number (ex. +6511111111): +6511111111
Enter authentication code: xxxxx
Succesfully set up profile Telegram_+6511111111
どの電話番号を入力するかわからない場合は、電話でテレグラムアプリを開き、メニューボタンを押してそこに表示される番号を使用します(スペースを省略するため、以下のスクリーンショットで入力する番号は+65111111111111111111111111111111111111111111111111111111111111111111111年目です)。

セットアッププロセスが完了すると、NCHATのメインUIがロードされます。
複数のプロトコル/プロファイルをセットアップするには、NCHATを終了し、セットアップステップを再度実行します。
詳細については、デバッグを参照してください。
Telegram Group https://t.me/nchatusersは、ユーザーがNCHATの使用と関連トピックについて話し合うために利用できます。
ユーザーデータは~/.config/nchatにローカルに保存されます。デフォルトのファイル許可はユーザーアクセスのみを許可しますが、ユーザーのプライベートファイルにアクセスできる人なら誰でも、ユーザーの個人的なテレグラムデータにもアクセスできます。最も単純な攻撃ベクトルから保護するために、ディスク暗号化を使用し、 ~/.config/nchat暗号化されていないことを確認するのに適している場合があります。
次の構成ファイル(現在のデフォルト値でリストされています)を使用して、NCHATを構成できます。
この構成ファイルには、一般的なアプリケーション設定があります。デフォルトのコンテンツ:
attachment_prefetch=1
attachment_send_type=1
cache_enabled=1
coredump_enabled=0
downloads_dir=
emoji_list_all=0
link_send_preview=1
logdump_enabled=0
proxy_host=
proxy_pass=
proxy_port=
proxy_user=
timestamp_iso=0
すべての添付ファイルをドキュメントタイプとして送信する代わりに、ファイルタイプ(オーディオ、ビデオ、画像、ドキュメント)を検出し、添付ファイルをそれらのタイプとして送信するかどうかを指定します(通常、元のファイルコンテンツはそのまま残します)。
添付ファイルのレベルのプリフェッチを指定します。
0 = no prefetch (download upon open/save)
1 = selected (download upon message selection) <- default
2 = all (download when message is received)
キャッシュ機能を有効にするかどうかを指定します。
アプリケーションクラッシュでコアダンプを有効にするかどうかを指定します。
添付ファイルを保存するカスタムダウンロードディレクトリパスを指定します。指定されていない場合、デフォルトのdirは~/Downloads存在する場合、それ以外の場合は~ 。
絵文字ダイアログがすべての絵文字をリストする必要があるかどうかを指定します。それ以外の場合は、一般的な端子で適切にレンダリングする絵文字のリストに限定されています。
送信されたメッセージのリンクのプレビューを有効にするかどうかを指定します(電報のみ)。
出口時に警告とエラーログメッセージをstdoutにダンプするかどうかを指定します。
Socks5プロキシサーバーの詳細。プロキシ使用を有効にするには、パラメーターhostとportが必要ですが、 userとpassはオプションです(ソックスサーバーに応じて)。注:NCHATを初めてセットアップしながらプロキシを使用するには、Config DIRが作成されるように引数なしで最初にNCHAT( nchat )を実行し、必要に応じて~/.config/nchat/app.confでnchat -s設定を編集することをお勧めします。
UIおよびチャット履歴の輸出で、ISOスタイルのタイムスタンプ( YYYY-MM-DD HH:MM )を使用するかどうかを指定します。デフォルトでは、NCHATは動的な「人間に優しい」形式を使用します。
HH:MM 、例19:00DAY HH:MM 、例えばMon 19:00DD MMM HH:MM 、例: 14 Nov 19:00DD MMM YYYY HH:MM 、例: 14 Nov 2022 19:00DD MMM YYYY HH:MM 、例: 14 Nov 2022 19:00 この構成ファイルには、一般的なユーザーインターフェイス設定が保持されます。デフォルトのコンテンツ:
attachment_indicator=?
attachment_open_command=
away_status_indication=0
call_command=
chat_picker_sorted_alphabetically=0
confirm_deletion=1
desktop_notify_active=0
desktop_notify_command=
desktop_notify_inactive=0
downloadable_indicator=+
emoji_enabled=1
entry_height=4
failed_indicator=✗
file_picker_command=
file_picker_persist_dir=1
help_enabled=1
home_fetch_all=0
linefeed_on_enter=1
link_open_command=
list_enabled=1
list_width=14
listdialog_show_filter=1
mark_read_on_view=1
mark_read_when_inactive=0
message_edit_command=
message_open_command=
muted_indicate_unread=1
muted_notify_unread=0
muted_position_by_timestamp=1
online_status_share=1
online_status_dynamic=1
phone_number_indicator=
proxy_indicator=
read_indicator=✓
reactions_enabled=1
spell_check_command=
status_broadcast=1
syncing_indicator=⇄
terminal_bell_active=0
terminal_bell_inactive=1
terminal_title=
top_enabled=1
top_show_version=0
transfer_send_caption=1
typing_status_share=1
メッセージビューで添付ファイルを接頭するテキストを指定します。
添付ファイルを開く/表示するために使用するカスタムコマンドを指定します。コマンドには、開くためにファイル名に置き換える%1を含めるものとします。指定されていない場合、次のデフォルトコマンドが使用されます。
Linux: xdg-open >/dev/null 2>&1 '%1' &
macos: open '%1' &
注:ターミナルを引き継ぐ&を省略します。たとえば、 w3m -o confirm_qq=false '%1'省略し、 see '%1' 。
他のユーザーとステータスを共有しながら、トップバーにステータスを示すかどうかを指定します。つまり、端末が非アクティブである場合、ステータスはOnlineではなくAway ( online_status_share=1およびonline_status_dynamic=1 )。
外部ツールを使用して通話を開始するために使用するカスタムコマンドを指定します。コマンドには、連絡先の電話番号に置き換える%1を含めるものとします。指定されていない場合、次のデフォルトコマンドが使用されます。
Linux: xdg-open >/dev/null 2>&1 'tel://%1' &
macos: open 'tel://%1' &
チャット選択ダイアログ(メッセージを転送するときに使用)をアルファベット順にソートする必要があるかどうかを指定します。そうでない場合、その注文はメインチャットリストの注文に従います。
メッセージまたはチャットを削除するときに、ユーザーに確認を求めるかどうかを指定します。
NCHAT端子ウィンドウがアクティブなときに、新しいメッセージがデスクトップ通知をトリガーするかどうかを指定します。
デスクトップ通知に使用するカスタムコマンドを指定します。コマンドには%1 ( sender nameまたはgroup name - sender nameに置き換えられます)と%2 ( message textに置き換えられます)を含むことができます(シェル噴射を防ぐため)。指定されていない場合に使用されたデフォルトのコマンド:
Linux: notify-send 'nchat' '%1: %2'
macos: osascript -e 'display notification "%1: %2" with title "nchat"'
NCHAT端子ウィンドウが非アクティブであるときに、新しいメッセージがデスクトップ通知をトリガーするかどうかを指定します。
まだダウンロードされていない添付ファイルのメッセージビューで、添付ファイルのファイル名をサフィックスに指定します。これは、 attachment_prefetch <2でのみ表示されます。
絵文字を表示するかどうかを指定します。実行時にCtrl-Yによって制御されます。
テキスト入力領域の高さを指定します。
ダウンロードに失敗したメッセージビューで、接尾辞アタッチメントファイル名を指定します。
ファイルを送信するときに使用される内部ファイル選択ダイアログの代わりに、ファイル選択に使用するコマンドを指定します。コマンドには、コマンドが結果を書き込む必要がある%1 (一時ファイルパス)を含めるものとします。例:
nnn: nnn -p '%1'
レンジャー: ranger --choosefiles='%1'
ファイル選択ダイアログが最後に選択されたファイルのディレクトリを持続するかどうかを指定します。
ヘルプバーを表示するかどうかを指定します。実行時にCTRL-Gによって制御されます。
homeボタンがすべてのチャット履歴を繰り返し取得するかどうかを指定します。
EnterキープレスをLineFeed(LF 12 )として読み取る必要があるかどうかを指定します。それ以外の場合は、キャリッジリターン(Cr 15 )として読み取ります。この設定は、 key.conf入力に数値キー値を使用する場合にのみ関連します(lf 12 、cr 15 )。キー名KEY_RETURN 、常に使用されているものに常にマップします。
リンクを開く/表示するために使用するカスタムコマンドを指定します。コマンドには、開くためにURLに置き換える%1を含めるものとします。指定されていない場合、次のデフォルトコマンドが使用されます。
Linux: xdg-open >/dev/null 2>&1 '%1' &
macos: open '%1' &
注:ターミナルを引き継ぐ&を省略します。たとえば、 w3m -o confirm_qq=false '%1'省略し、 see '%1' 。
チャットリストを表示するかどうかを指定します。実行時にCtrl-Lによって制御されます。
チャットリストの幅を指定します。
リストダイアログがユーザーによる検索フィルター入力を表示するかどうかを指定します。
NCHATが表示時にメッセージの読み取り領収書を送信するかどうかを指定します。 false NCHATが、 next_page (ページダウン)で読み取られたメッセージのみをマークする場合、チャット内でメッセージ/ファイルを送信すると、[ end ]、またはメッセージ/ファイルを送信します。
端末が非アクティブである間に、NCHATが現在のチャットで読み取りとしてメッセージをマークするかどうかを制御します。
外部エディターコンポジットに使用するカスタムコマンドを指定します。指定されていない場合、NCHATは設定されている場合はEDITOR環境変数を使用するか、 nanoを使用します。
メッセージテキストパーツを開く/表示するために使用するカスタムコマンドを指定します。指定されていない場合、NCHATは設定されている場合はPAGER環境変数を使用するか、それ以外の場合はlessします。
チャットリストがマットされたチャットの未読ステータス*を示す必要があるかどうかを指定します。これにより、そのようなチャットがUnreadへのジャンプに含まれるかどうかも決定されます。
Muted Chatsで新しい未読メッセージを通知するかどうかを指定します。
Muted Chatsのチャットリストの位置が、最後に受信/送信されたメッセージの時間を反映するかどうかを指定します。それ以外の場合は、ミュートされたチャットが最後にリストされます。
他のユーザーとオンラインステータスを共有します。注:これを無効にすると、WhatsAppのオンライン/タイピングステータスの他のユーザーの更新を停止します。
ターミナルアクティブ状態に基づいてオンラインステータスを動的に更新します。注:これを有効にすると、ターミナルがアクティブでない場合、WhatsAppのオンライン/タイピングステータスの他のユーザーの更新を停止できます。
現在のチャットの電話番号を示すようにステータスバーテキストを指定します。このフィールドには、連絡先の実際の電話番号に置き換える%1含まれる場合があります。その他の例:
プロキシが有効になっていることを示すトップバーテキストを指定します。
受信機によってメッセージが読まれたメッセージを示すテキストを指定します。
反応を表示するかどうかを指定します。
構成メッセージのスペルチェックに使用するカスタムコマンドを指定します。指定されていない場合、NCHATはaspellまたはispellシステムで(その順序で)利用可能であるかどうかをチェックし、最初に見つかったものを使用します。
指定(WhatsApp)ステータスの更新チャットレベルの可視性:
0 = hidden
1 = visible and muted <- default
2 = visible
進行中のダウンロード用のメッセージビューで、接尾辞添付ファイルのテキストを指定します。
NCHAT端子ウィンドウがアクティブなときに、新しいメッセージが端子ベルをトリガーするかどうかを指定します。
NCHAT端子ウィンドウが非アクティブである場合、新しいメッセージが端子ベルをトリガーするかどうかを指定します。
カスタムターミナルタイトル、Ex: terminal_title=nchat - telegramを指定します。
トップバーを表示するかどうかを指定します。実行時にCtrl-Pによって制御されます。
トップバーにNCHATバージョンを表示するかどうかを指定します。
入力されたテキストをファイルを転送するときにキャプションとして送信するかどうかを指定します。
会話でタイピングステータスを他のユーザーと共有するかどうかを指定します。
この構成ファイルには、ユーザーインターフェイスキーバインディングが保持されます。デフォルトのコンテンツ:
backspace=KEY_BACKSPACE
backspace_alt=KEY_ALT_BACKSPACE
backward_kill_word=33177
backward_word=
begin_line=KEY_CTRLA
cancel=KEY_CTRLC
clear=KEY_CTRLC
copy=33143
cut=33170
decrease_list_width=3354
delete=KEY_DC
delete_chat=33144
delete_line_after_cursor=KEY_CTRLK
delete_line_before_cursor=KEY_CTRLU
delete_msg=KEY_CTRLD
down=KEY_DOWN
edit_msg=KEY_CTRLZ
end=KEY_END
end_line=KEY_CTRLE
ext_call=33164
ext_edit=33145
find=3357
find_next=3377
forward_msg=33162
forward_word=
goto_chat=33156
home=KEY_HOME
increase_list_width=3356
jump_quoted=33161
kill_word=
left=KEY_LEFT
linebreak=KEY_RETURN
next_chat=KEY_TAB
next_page=KEY_NPAGE
ok=KEY_RETURN
open=KEY_CTRLV
open_link=KEY_CTRLW
open_msg=33167
other_commands_help=KEY_CTRLO
paste=33166
prev_chat=KEY_BTAB
prev_page=KEY_PPAGE
quit=KEY_CTRLQ
react=33163
right=KEY_RIGHT
save=KEY_CTRLR
select_contact=KEY_CTRLN
select_emoji=KEY_CTRLS
send_msg=KEY_CTRLX
spell=3344
terminal_focus_in=KEY_FOCUS_IN
terminal_focus_out=KEY_FOCUS_OUT
terminal_resize=KEY_RESIZE
toggle_emoji=KEY_CTRLY
toggle_help=KEY_CTRLG
toggle_list=KEY_CTRLL
toggle_top=KEY_CTRLP
transfer=KEY_CTRLT
unread_chat=KEY_CTRLF
up=KEY_UP
キーバインディングは、次の形式で指定できます。
KEY_CTRLK )0x22e )