Webアプリで(一応)アカウント登録をしなくてもチャンネルに参加できる.
Krispというノイズキャンセリングが入ったが,Linux版はKrispに未対応(◞‸◟)
https://github.com/uowuo/abaddon
$ sudo apt install g++ cmake libgtkmm-3.0-dev libcurl4-gnutls-dev libsqlite3-dev libssl-dev nlohmann-json3-dev $ git clone https://github.com/uowuo/abaddon --recurse-submodules="subprojects" && cd abaddon $ cmake .. $ make $ ./abaddon cant find a resources folder, will try to load from cwd
$ vi ~/.config/abaddon/abaddon.ini
https://github.com/EnyoYoen/Fast-Discord
$ sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools qtmultimedia5-dev libqt5networkauth5-dev libqt5svg5-dev libqt5websockets5-dev libpthread-stubs0-dev libopus-dev libsodium-dev #Debian bookworm amd64 $ git clone https://github.com/EnyoYoen/Fast-Discord $ cd Fast-Discord/bin $ cmake .. $ cmake --build . $ ./Fast-Discord
※要token
setting file ~/.config/Fast-Discord/config.conf
$ go install -v github.com/diamondburned/gtkcord4@latest
※releaseにいくつかのバイナリあり.
ボイスチャット機能はなく,実装予定もない.
ステッカーが展開されない?
ユーザ一覧が表示されない?
# pkg-config --cflags -- glib-2.0 Package glib-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `glib-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'glib-2.0' found
golang-gir-glib-2.0-dev
# pkg-config --cflags -- graphene-gobject-1.0 graphene-1.0 Package graphene-gobject-1.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `graphene-gobject-1.0.pc' to the PKG_CONFIG_PATH environment variable No package 'graphene-gobject-1.0' found Package graphene-1.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `graphene-1.0.pc' to the PKG_CONFIG_PATH environment variable No package 'graphene-1.0' found
gir1.2-graphene-1.0
# pkg-config --cflags -- gdk-pixbuf-2.0 Package gdk-pixbuf-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gdk-pixbuf-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gdk-pixbuf-2.0' found
libgdk-pixbuf-2.0-dev
# pkg-config --cflags -- pango Package pango was not found in the pkg-config search path. Perhaps you should add the directory containing `pango.pc' to the PKG_CONFIG_PATH environment variable No package 'pango' found
libpango1.0-dev
github.com/diamondburned/gotk4/pkg/gdk/v4 # pkg-config --cflags -- gtk4 Package gtk4 was not found in the pkg-config search path. Perhaps you should add the directory containing `gtk4.pc' to the PKG_CONFIG_PATH environment variable No package 'gtk4' found
libgtk-4-dev
6cordでおすすめされていた
Debian sid amd64, Ubuntu 20.10 amd64だとlibhandyが合わない?
$ go get github.com/diamondburned/gtkcord 3 # github.com/diamondburned/gtkcord3/gtkcord/components/singlebox ../go/src/github.com/diamondburned/gtkcord3/gtkcord/components/singlebox/column.go:9:2: undefined: handy.Column ../go/src/github.com/diamondburned/gtkcord3/gtkcord/components/singlebox/column.go:14:20: undefined: handy.ColumnNew ../go/src/github.com/diamondburned/gtkcord3/gtkcord/components/singlebox/column.go:17:22: undefined: handy.Column # github.com/diamondburned/gtkcord3/gtkcord/gtkutils ../go/src/github.com/diamondburned/gtkcord3/gtkcord/gtkutils/gtkutils.go:282:62: undefined: handy.Dialog ../go/src/github.com/diamondburned/gtkcord3/gtkcord/gtkutils/gtkutils.go:289:7: undefined: handy.DialogNew $ dpkg-query -W libhandy-0* libhandy-0.0-0:amd64 0.0.13-3 libhandy-0.0-dev:amd64 0.0.13-3
l
SIXELに対応してれば画像表示も出来るTUIのclient
$ git clone https://gitlab.com/diamondburned/6cord $ cd 6cord $ go build $ ./6cord --help Usage of 6cord: -u, --username string Used when token is empty, avoid if 2FA -p, --password string Used when token is empty -t, --token string Authentication Token, recommended way of using -l, --login Force pop up a login prompt (default false) --properties.compact-mode Compact Mode (default true) --properties.true-color Enable True color mode instead of 256 color mode (default true) --properties.default-name-color string Sets the default name color, format: #XXXXXX (default "#CCCCCC") --properties.mention-color string The default mention background color (default "#0D4A91") --properties.mention-self-color string The default mention background color, when the target is you (default "#17AC86") --properties.show-channels Show the left channel bar on startup. (default true) --properties.chat-padding int Determine the default indentation of messages from the left side. (default 2) --properties.sidebar-ratio int The sidebar width in ratio of 1:N, whereas N is the ratio for the message box. The higher the number is, the narrower the sidebar is. (default 3) --properties.sidebar-indent int Width in spaces each indentation level on the sidebar adds. (default 2) --properties.hide-blocked Ignore all blocked users. (default true) --properties.trigger-typing Send a TypingStart event periodically to the Discord server, default behavior of clients. (default true) --properties.foreground-color int Default foreground color, 0-255, 0 is black, 15 is white. (default 15) --properties.background-color int Acceptable values: tcell.Color*, -1, 0-255 (terminal colors). (default -1) --properties.author-format string The formatting of message authors (default "[#{color}::b]{name}") --properties.command-prefix string The prefix of the input box (default "[${GUILD}${CHANNEL}] ") --properties.default-status string The message in the status bar. (default "Send a message or input a command") --properties.syntax-highlight-colorscheme string The color scheme for syntax highlighting, refer to https://xyproto.github.io/splash/docs/all.html. (default "emacs") --properties.show-emoji-urls Converts emojis into clickable URLs. (default true) --properties.obfuscate-words Insert a zero-width space to obfuscate word-logging telemetry. (default false) --properties.chat-max-width int The maximum width of the chat box, if smaller, will be centered. (default 0) --properties.image-fetch-timeout int The timeout to fetch images, in seconds. (default 1) --properties.image-width int The maximum width for an image. (default 400) --properties.image-height int The maximum height for an image. (default 400) --properties.shorten-url Opens a webserver to redirect URLs (default true) --properties.rpc-server Start a Rich Presence server for applications to use. Experimental. Source: https://gitlab.com/diamondburned/drpc-server (default true) -d, --debug Enables debug mode (default false) -c, --config string -h, --help print this help menu $ vi ./6cord.toml $ mkdir -p ~/.config/6cord $ cp ./6cord.toml ~/.config/6cord/
$ ./6cord infocmp failed: exit status 1 $ TERM=xterm-256color ./6cord
amd64環境だとsnapで簡単に導入できる. 日本語環境のせいか少し崩れる.
$ go get -u github.com/theboxmage/discordcli
2020-04-28時点ではloginしてServerの選択までは出来るが,チャンネルの一覧が出てこない,
画面共有時と,共有後に解像度とフレームレートを設定できる.
※2021-08-29 時点では「より読みやすいテキスト」を指定した後480pを指定すると30fpsにされる.480p/15fpsの指定は可能
※2021-06-21 時点の最低解像度,フレームレートは恐らく「480p/5fps」
※2021-06-21にLinux版の Discord 0.0.15 と DiscordPtb 0.0.25 で確認.ウェブブラウザ版では設定できないようだった.
最近のバージョンでは正式にLinux対応になっていたり期間指定やメディアのダウンロードもできるように鳴って便利に.
WebHook URLを作成する.
投稿したいチャンネルの歯車マーク(⚙)から「ウェブフック」タブに移動し,「ウェブフックを作成」で作成できる.「ウェブフックURL」を使って投稿できる.
$ curl -H "Content-Type:application/json" -X POST -d '{"content": "curl post"}' 'https://ptb.discordapp.com/api/webhooks/718097951918129172/XWIi7CqrMF1-i6nvElsuNCJ7ePWN8DEPBla_g7LqAxoc7vR6n8gmLB2l6Q6vbqwLtXw2'
Bodyはsourceによって変わるでしょう
コメント