Discord Linux版での画面共有時の設定メモです.
※この設定は今の所ウェブアプリ版では出てこないので使えないと思います.
スライドの共有などのあまり画質やフレームレートの必要ないものの画面共有時には規定値の設定より低くしても問題なさそうです.
現時点(2021-06-21)での最低解像度,最低フレームレートの設定メモです.
Discord Linux版での画面共有時の設定メモです.
※この設定は今の所ウェブアプリ版では出てこないので使えないと思います.
スライドの共有などのあまり画質やフレームレートの必要ないものの画面共有時には規定値の設定より低くしても問題なさそうです.
現時点(2021-06-21)での最低解像度,最低フレームレートの設定メモです.
以下の記事でDavCalやGoogleカレンダーをコマンドラインで閲覧できるようになりました.
せっかくなのでDiscordにも毎朝その日のイベントを投稿するようにしてみます.
DiscordはWebhooksを使ってかんたんにメッセージを投稿することが出来ます.
投稿したいチャンネルの⚙アイコン「チャンネルの編集」から「連携サービス」→「ウェブフック」から操作できます.
新しいウェブフックを作成し,投稿チャンネルを確認して「ウェブフックURLをコピー」でWebhooks URLを入手します.
Webhooks URLはこんな感じのものです.
https://ptb.discord.com/api/webhooks/826777625053495306/QZoG2LLZOFlsKO_Auf1IQcXHVFozlgU37EGO9bhQKAifzZ0VAkyIYuQjRSzuOvC7U1gR
curlで投稿テストをしてみます.
$ curl -X POST -H "Content-Type: application/json" \
-d '{"username": "ボット", "content": "こんにちは🤖"}' \
'https://ptb.discord.com/api/webhooks/826777625053495306/QZoG2LLZOFlsKO_Auf1IQcXHVFozlgU37EGO9bhQKAifzZ0VAkyIYuQjRSzuOvC7U1gR'
これで投稿できました :)
Discordにメッセージを投稿できるようになったので,以下のエントリで書いた khal コマンドで今日1日分の予定タイトルを入手してDiscordに投稿するようにしてみます.
以下の適当なScriptを用意しました.
2021-04-01 編集)
イベントがない日にも投稿してしまっていたのを修正&Bashismだったのをshで動くよう修正
#!/bin/sh
# khalコマンドで今日の予定を入手してDiscordにpostする
# https://matoken.org/blog/2021/03/31/post-your-calendar-to-discord-with-webhooks/
# DiscordのWebhook URL
# 以下のURLを参考に入手して設定する
# https://support.discord.com/hc/ja/articles/228383668-%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB-Webhooks%E3%81%B8%E3%81%AE%E5%BA%8F%E7%AB%A0
DISCORD_WEBHOOK='https://ptb.discord.com/api/webhooks/…………'
# khal
# list -> 一覧表示
# --format "{title}" -> タイトルだけ表示
# today -> 今日から
# today -> 今日まで
# sed -> jsonの改行形式に変換
CAL=$(khal list --format "{title}" today today | sed -z -e "s/\n/\\\\\\\\n/g")
# イベントのない日は投稿せず終了
if [ "${CAL}" = 'No events\\n' ]
then
echo "${CAL}"
exit
fi
MSG=$(printf '{"username": "今日のイベント📅", "content": "%s"}\n' "${CAL}")
echo "$MSG"
# Discord WebHock でKagolug の#random へpost
curl -X POST -H "Content-Type: application/json" \
-d "${MSG}" \
"${DISCORD_WEBHOOK}"
試しに実行すると投稿されました.
手動で叩くのは面倒すぎるので自動実行するようにcrontabに登録しておきます.
$ crontab -l | grep calpost
58 4 * * * /home/matoken/bin/calpost.sh 2>&1 > /home/matoken/tmp/cron/calpost.sh.log
毎日04:58に実行するようにしました.
$ dpkg-query -W vdirsyncer khal curl bash bash 5.0-4 curl 7.64.0-4+deb10u1 khal 1:0.9.10-1.1 vdirsyncer 0.16.7-2 $ lsb_release -dr Description: Debian GNU/Linux 10 (buster) Release: 10 $ uname -m x86_64
先日Discord のtext chat で勉強会をしてみました.ログはいつまで残るのかよくわからないし保存できないかなと探してみると DiscordChatExporter
というものを見つけました.
早速DL してみると.exe のようです.GUI版,Cli版があるのでどちらかがWine で動かないかな?と試してみるとmono ライブラリを求められました.てことはmono があれば動くのでは?と試したら動きました.てか,GitHub のWiki ページにWindows, macOS, Linux各種環境での使い方も載っていました.
(Wine とmono どちらでも動くけど,圧倒的にmono のほうが軽かったのでmono で動かしましょう)
導入方法はここに載っています.このページのDebian 9 の例ではmono のリポジトリを追加していますが,Debian sid 環境ではパッケージ版のままで動きました.
$ sudo apt install mono-devel
release ページから最新版を入手.今回はCli版の最新の2.14を入手した.
$ wget https://github.com/Tyrrrz/DiscordChatExporter/releases/download/2.14/DiscordChatExporter.CLI.zip $ unzip -l DiscordChatExporter.CLI.zip $ mkdir DiscordChatExporter.CLI $ cd DiscordChatExporter.CLI $ unzip ../DiscordChatExporter.CLI.zip
$ mono ./DiscordChatExporter.Cli.exe DiscordChatExporter 2.14 Copyright (c) Alexey Golub ERROR(S): No verb selected. export Export channel. exportdm Export all direct message channels. exportguild Export all channels within a given guild. channels Get the list of channels in the given guild. dm Get the list of direct message channels. guilds Get the list of accessible guilds. help Display more information on a specific command. version Display version information. # To get user token: 1. Open Discord 2. Press Ctrl+Shift+I to show developer tools 3. Navigate to the Application tab 4. Select "Local Storage" > "https://discordapp.com" on the left 5. Press Ctrl+R to reload 6. Find "token" at the bottom and copy the value # To get bot token: 1. Go to Discord developer portal 2. Open your application's settings 3. Navigate to the Bot section on the left 4. Under Token click Copy # To get guild ID or guild channel ID: 1. Open Discord 2. Open Settings 3. Go to Appearance section 4. Enable Developer Mode 5. Right click on the desired guild or channel and click Copy ID # To get direct message channel ID: 1. Open Discord 2. Open the desired direct message channel 3. Press Ctrl+Shift+I to show developer tools 4. Navigate to the Console tab 5. Type "window.location.href" and press Enter 6. Copy the first long sequence of numbers inside the URL
次はトークンとチャンネルIDを入手します.手順は以下のページを参考に.
Discord のDesktop版を開いた状態で,「Ctrl+Shift+I」を押しデベロッパーツールを表示する.
Application tab に移動する.
Ctrl+R を押して再読込を行う
「Storage」の「Local Storage」から「https://discordapp.com」を選択.
「token」を探してその値をコピーする.
※Discord Web版でもChrome系なら同じ手順でOK
(多分この方法はお行儀が悪い方法.なのでbot のtoken を使う手順のほうがいい.でもうまく行かない?)
次に,チャンネルID を入手します.
Discordアプリのユーザー設定を開く.
「テーマ」タブから詳細設定の「開発者モード」をOn に移動する.
設定画面を閉じて,入手したいチャンネルで右クリックを押し「IDをコピー」で入手する.
※Discord Web版の場合は,該当チャンネルを開いたときのURLの最後の部分.
入手したトークンとチャンネルIDで書き出しを試します.
以下の例では,
トークンが,MzU0NTM6MEg5NDAzNjQ2OTU0.XEhoGd.9h5f9dguNp-xSqbIwa8mNL1DU4D`で,チャンネルIDが`999999999999999999
だったときの例です.
$ mono ./DiscordChatExporter.Cli.exe export -t 'MzU0NTM6MEg5NDAzNjQ2OTU0.XEhoGd.9h5f9dguNp-xSqbIwa8mNL1DU4D' -c '999999999999999999' Exporting channel [999999999999999999]... 23.8 % 44.3 % 64.5 % 90.0 % 100.0 % Completed ✓
うまく行けば.html ファイルが書き出されます.
ただし,このhtml ファイルには画像が含まれていません.一旦ウェブブラウザで開いて保存すると画像も保存できるのでアーカイブに使うはそうしておいたほうが良さそうです.
$ dpkg-query -W mono-devel wine chromium discord chromium 76.0.3809.62-1 discord 0.0.9 mono-devel 5.18.0.240+dfsg-3 wine 4.0-2 $ hostnamectl | egrep 'Operating System|Architecture' Operating System: Debian GNU/Linux bullseye/sid Architecture: x86-64
追記 2021-03-08)
毎回仮アカウントで参加していると利用されないアカウントが溜まっていってしまうので管理者にわかるようにしておいて後で消してもらうようにしたほうが良さそうです.( DISCORDNAME_1time とか? )
以前は招待URLにアクセスするとDiscordに参加していない場合仮アカウントでチャンネルに参加できたと思うのですが,今試してみるとアカウント登録を求められるようです.招待URLではなくDiscord Web版に先にアクセスすると仮アカウントでの参加が可能なようなのでメモしておきます.
でも普通にアカウント登録するほうが手間が少ないような気がしますね…….