C#でSlackに(ちょっとリッチな)メッセージを送る

C#でSlackに(ちょっとリッチな)メッセージを送る。

SlackAPIは使用可能な状態であることとする!

  • リファレンスを読む(https://api.slack.com/methods/chat.postMessage
  • SlackApp を作成(https://api.slack.com/apps
  • 適切なパーミッションを指定(chat:write, chat:write.customize あたり)
  • アクセストークンを払い出す
  • App を Slackワークスペース にインストール
  • 投稿したいチャンネルに↑のAppを追加

詳しくはリファレンスを見てもらうとして、要するにSlackAPIのURLにJSONデータをアクセストークン付きでPOSTすればいいのだな。

c#とJSONの関係はPHPとのそれより冷めている。C#くんは融通が利かないのだ。(いいところでもある)

JSONデコード、エンコードをするためには大変面倒くさいが、専用クラスを作ったほうが早い。

というわけでリファレンスを見ながら SlackMessage クラスを作る。

こんな感じ。

 

リッチな書式は Attachments で指定するらしいので、こちらもクラスにしておく。

こんな感じ。

 

その他のプロパティはリファレンスを見ながら追加していけばいいが、大体これで足りるんではないか。

次に送信する部分にとりかかる。HttpClient を使って認証情報付きのPOSTを行う。
これがセオリー通りなのかはわからない。誰か教えてください。

こんな感じ。

 

メソッドが返している result にも色々有用な情報が入っているので、実行時は見てみるとよいかもしれない。
(投稿idを使って返信したりできるとかできないとか)

では実際に送信してみる。

実際に送られるメッセージはこんな感じになる。
リッチな装飾が不要なら Attachments は省略してもよい。

LightsailにSSHできない(RLogin使用)

Lightsail に久しぶりに新しいインスタンス(Ubuntu 24.04)を作ったら SSH できなくなっていた。

https://docs.aws.amazon.com/ja_jp/linux/al2023/ug/ssh-host-keys-disabled.html

このあたりを参考に色々やってみたけど解決せず。

認証鍵を作り直しても、SHA1を有効にしてみても(当たり前だけど…)変化ない。うーん。

RLogin側の設定

RSA2認証鍵の署名方式が原因だった。SHA2-512に設定変更すればOK。

Lightsailインスタンス側がSHA2-256を弾くようになったってこと…?

VisualStudio Nuget のインストール先を変更する

えーん、ストレージの容量がいっぱいだよ…!

ということでNugetのインストール先を変更する。

Cドライブの容量が無限にある人が作ったらしいが、こういうのはGUIでできるようにしておいてもらいたいものだ…。

cmdでコマンドラインを出し、dotnetのコマンドで設定変更する。

別途nugetでやる方法もあるようだが、標準の方法のほうがいいだろう。

参考:https://learn.microsoft.com/ja-jp/nuget/consume-packages/configuring-nuget-behavior

Laravel-snappyを使用していて、実際のページ数とフッタのページ数が合わないときは…

Laravel-snappyを使用していて、実際のページ数とフッタのページ数が合わない現象に遭遇した。

PHPサイドでのページフッタの指定はこう。

 

Bladeの任意の場所で改ページするときはこう。

 

これで大抵うまくいくんだが、今回は「生成されたPDFのページ数と、フッタのページ数が合わない」という変な状況になった。
色々削っていくと、今回のケースではページ内に「display:inline-block;」な要素があったためらしい。
高さが未確定なために、内部でのページカウントと描画したあとのページで不一致がおきたんじゃないかと。。。

ということで、今回は inline-block をやめて width を指定、高さも指定できるものは指定して解消。

変えよう、電池。Anker Eufy Security SmartTrack Link(紛失防止トラッカー)

Anker Eufy Security SmartTrack Link(紛失防止トラッカー)の電池が切れちゃった。早速変えてみる。

といっても、ケースをあけて電池を入れ替えるだけである。

開けるための機構はない。ケースの両側をグッとつまみながら、ちょっとの隙間になにかを差し込んでやると開けやすいみたい。

ケースの四方向に足がついていて、外殻を留めているだけっぽい。

電池はCR2032。上がプラスである。

あとはケースを元通りにして完成。

【カトージ】折りたたみベビーサークル レビュー

カットーーージ!!!!

ちびすけ(8ヶ月)の機動力が上がり、もはや「アクティビティセンター」(通称:立体機動)でも「バンボ」(通称:玉座)でも抑えが効かなくなってきた。

 

フィッシャープライス 3WAY アクティビティ・センター

となればベビーサークルであろう、ということで今回は折りたたみ式のベビーサークルをチョイス。

 

第一王子のときは組み立て式でそれはそれで良かったんだが、「常設」だと

・連結部分の強度が低く第一王子が破壊する

・第一王子と第二王子の領土争いになる

・床掃除を頻繁にしないと王子のお召し物がモップ状態になる

ということで、「必要に応じて」展開できる折りたたみ式にしてみた。

 

傘のように広げるだけで展開できる

 

力いらない! 届いてすぐ使える! さすがカトージ。

 

結構広さがあるので、先に王室を片付けておくべし。

六角形タイプでも小僧二人ぶんはいけそう。

(ある程度年齢いくと総合格闘技を始めるので、分けたほうがいいでしょう)

 

かなりしっかりめに作ってある

 

ホネ(?)が想像以上にしっかりしていて、王子が多少お戯れあそばされても壊れそうにない。

さすがカトージ。

 

しっかり広げてマジックテープで留めておけば、子供が張り手してもたわんだりしない。

転倒防止に足がついてて、寄りかかっても横倒れはまずなさそうである。

 

床面もすこし緩衝材が入っているみたい。しかしこれだけだと心許ないのでフローリング直は避けたほうが良さそう。

しまってみる

 

きゅっと傘のようにしまえる。マジックテープを外してボタンを押しながらたたむだけである。

これなら家でも適宜しまったり出したりが苦にならない。

 

しまうと思った以上にコンパクト。車に載せるのも楽で帰省するとき便利である。

(フォールディングチェアに近いフィーリング)

 

孫が多い爺様と婆様は家に一つ準備しておいてもいいくらい。

気分が乗れば中でお茶しても良い。

 

まとめ

 

お値段のわりにしっかり丈夫に作ってあってGood。子供が怪我しないようにという配慮も感じた。

小さく畳めてこれまたGood。

コスパ良し。

あと両王子が入ってるとUFCみたいだなぁと思った。

8BitDo Pro 2 コントローラレビュー

8BitDo Pro 2

レトロゲー用パッドで大変お気に入りの8BitDoが出している、アナログスティックが横並びのいわゆる「PS配置」のコントローラ。

PS配置

ボタンの表記を見てみると、右側がA(X)になっているのがわかる。

これが意外と無いんだよね…。ほとんど「XBOX配置」のコントローラなので、PS3→PS4→PC…と流れたきたゲーマーにはなかなか馴染みづらい。

もちろんXBOX配置も悪くないので慣れの問題なんだけども、例えばモンハンがこの配置だと日本人にはやっぱり違和感があるんじゃないかと思う。

比べてみる

Switch Pro、SN30

PS4、Pro 2

Xbox One、M30

 

SN30との違い

 

SN30にもL2R2と振動機能がある(!)ので、実質的な違いは「にぎり」の有無になる。S

 

SN30を持ってみるとわかるが、L2とR2は押しづらく「ないよりはマシ」程度だったのが、格段に押しやすくなっている。

(まぁ、スーファミ配置のコントローラにL2R2ボタン追加したらそうなるだろうな、という感じ)

 

そう考えると初代PSコントローラの設計ってシンプルで神がかってたんだなと思う…。

 

PS4コントローラとの違い

 

有線なのが大きい。リーチの問題はあれど、充電不要かつ軽量、通信による遅延がゼロなのは見逃せない。

Bluetooth接続だとケーブルの煩わしさから開放されるかわりに、充電と通信遅延(ノイズ対策)が気になるところ。

 

それと個人的に重要だったのが「マクロ機能」。かんたんにいうとボタンに好きな機能を「コントローラレベルで」割り振ることができる、というもの。これはなかなか便利。

 

AとBを入れ替えたり、ゲーム側にボタンコンフィグがなくても良しなに割り当てられる。

 

パドルボタン

コントローラ背面のパドルボタン。たとえばここに前述のマクロ機能を割り当てることができる。

これでレイジングストームもバッチリだぜ!

 

Steam設定を見てみる

 

Steam上ではXboxコントローラとして認識される。Xboxコントローラにないボタンは使えないので、マクロで何か割り当てるといい。

 

モンハンライズでテスト

 

モンハンワールドから流れてきた人は、やはりPS配置のパッドだとやりやすいと思うなぁ。

 

変なコントローラ何個も買うくらいなら、このクラス以上をオススメします。

小型ワイヤレスイヤホン SoundPEATS Mini Pro レビュー

小型ワイヤレスイヤホン SoundPEATS Mini Pro レビュー

久しぶりにいいなと思ったのでレビュー。

音質については他人が語っても意味がないので置いておく。自分の耳で聴く以外なかろう。

 

SoundPEATS Mini Pro

 

うどんが出ていないタイプの完全ワイヤレスイヤホン。ノイズキャンセリングありで、全体的に高品質でコスパ良しの一品。

 

充電はケース経由で行う。ケースはバッテリーを内蔵していて、出先でもある程度充電しながら使える。最近のは全部こうなのかな? 感心した。

(ケース充電を併用すると、最大20時間程度いけるらしい)

 

軽くて小さい

 

ケースに入れてもおもちゃのような軽さ。充電しながら持ち運んでも苦にならない。ポッケに入れても気にならないかも。

この小ささで約7時間持つとのこと。

 

トミカとくらべてみた図。この小ささがおわかり頂けるだろうか…。実車ではない。

ケースから取り出すだけで電源がONになり、ペアリングする。これが地味に便利。電源長押とかもうしなくていいんである。

 

ノイズキャンセリング

 

楽しみにしていたノイズキャンセリング。高いヤツが高性能なのはわかってるが、6000円でどこまでやれるか気になっていた。

 

継続的な音(扇風機の音とか)がフッと消えるので結構ビビる。必要十分。昼寝時や電車内で使うのに良さそう。

 

片耳モード

 

個人的にはこれが決め手であった。片耳だけつけていると、ステレオ音源がミックスされて聞こえる。

 

片耳だけ外すことが多いので、ステレオ音源なのに片方分しか聞こえないのがイヤだったのだ。かといってずっとモノラルなのもイヤだ。わがまま。

 

片耳だけケースから取り出すだけで簡単に切り替わる。Good!

もとに戻したいときはもう片方を取り出せばよい。

外音取り込み(パススルー)

 

あまり興味なかったけど面白いと思った。たぶんマイクで集音してイヤホンに流すのだろう。

音楽はしっかり聞こえつつ、環境音もある程度拾う。運転中やアウトドアで使う人には合ったほうがいいだろうね。

 

あっ、もしかしたら片耳外さなくてもこのモードでいいかも。

 

遅延について

 

ゲームはやらないのでわからないが、Youtube視聴した感じでは気にならないレベルだと思った。

気になる人は低遅延モードがあるので、試してみるといい。

 

充電について

 

細かい点だけど…。先代のQ30は充電が有線式だったので、ゴムのフタをこじあけてケーブルを刺す必要があった。フタか口金が破損しそうで地味にストレスだったんだけど、こいつは接点が触れていればOK。

接点が汚れないようにたまには掃除が必要だろうが、意外な嬉しいポイントだった。

 

ケーブルはQ30と違ってUSB-C。付属のケーブルは短いので、お忘れなきよう。

コスパ

 

文句なし。平時でも定期的にセールしてるようなので、ブラックフライデーやサイバーマンデーで大幅な値引きが期待できる。興味があればほしいものリストに入れるだけでもしておくとよい。

 

グリーンハウス 21.5インチ タッチパネルディスプレイ GH-LCT22C-BK を使ってみた

デジタルサイネージに近いシステムを組むことになり…

小型PCをVESAマウントしてディスプレイの後ろにくっつけたらいいんじゃね?という話になった。

PCスペックはほとんど必要ないので、よしほんならやってみるべぇと飛びついた。

選定

しかし結構…

タッチパネルかつVESAマウントがついているディスプレイってのが少ない。見つけたのがこれ。

グリーンハウス 21.5インチ タッチパネルディスプレイ GH-LCT22C-BK

(Green House は以前も使ったことがあるので抵抗はないぜ)

マウスとキーボードがなくて便利

当たり前だがマウスとキーボードがなくて超便利である。

多少の操作は画面タッチとソフトウェアキーボードでどうにかなる。

画面が21インチあるので、クソデカタブレットと思えばよろしい。

スタンドが結構しっかりしている

扱いはモバイルディスプレイに近いようで、スタンドはよくある逆T字型でなく、L字の金具をぐいっと後ろに出すかたちになっている。

画面に触る以上、おもちゃっぽければなにか対策を考えねば…と思っていたが結構しっかりしていて、秘孔を突く勢いでもなければ滑り止めマットなど敷けば十分そうである。

今回は据え置きなので関係ないが、片付けも楽。

肝心のマウンタ

VESAそのものなので規格にそったものなら全部いける。ただ、PCをマウントするなら軽いものの方が良さそうなのは確か。(ディスプレイ側は想定してないだろうし…)

(今回はディスプレイごとがっちり固定するので、転倒の恐れはなかった)

まとめ

小型PCをVESAマウントに取り付け、USBケーブルと短いHDMIケーブルで接続。これだけでタッチパネルPCができあがり。ちょこっとしたアプリでも入れればデジタルサイネージから受付システムまでいろんなことに使えそう。

片付けと持ち運びが楽なので、展示会なんかでも便利そうである。

今回は試さなかったけど、画面タッチベースのソシャゲなんかのゲーム用途でもいいんじゃなかろうか。

【ぬくい】アイリスオーヤマ セラミックファンヒーター JCH-126T-W

あったけーっ!?

寒まってまいりました。急に欲しくなるのがセラミックファンヒーターであります。

そんなに長時間つけない、設置に場所とりたくない、灯油買うのが面倒くさい…

セラミックファンヒーターを買えばいいじゃない。

旧式と比較

10年くらい前に買ったから比較にならないのは仕方ないんだけど一応…

同じ1200Wでもパワーというか効率がいい感じがしますね。600Wにしてちょっと離したほうが快適。

つか1200Wあっつい。ワンルームだったら朝の短い時間なんかはこれで十分でしょう。

人感センサーもついてて消し忘れがなくていい。(連続運転にもできる)

ところで誰もいないのにセンサーが反応したら怖いですよね。

人感センサーなんかいらねぇよって向きには

山善のがもっと安くてGood。

山善 セラミックファンヒーター DF-J121