まったりするmatayu

ツイートにゴミがついた感じのブログ

液タブ欲しい

この液タブ欲しい.

www.gaomon.net

値段は45,000円くらい.gaomonというメーカーのもの.

wacomの液タブも考えたが,7万円ぐらいからでちょっと高い.

今使っている板タブはgaomonのs56kというやつで,ふにゃふにゃした素材でできているのが特徴.

この板タブは3,000円くらいだったが,結構良い感じに使えているからおそらく4,5000円の液タブもしっかり使えるものであると推測した.

板タブの接続端子はUSB2.0であったが,この液タブはHDMI/VGA/DVI/Displayポートのいずれかでつなぐようだ.結構たくさん対応してる.

パソコンの方はHDMIが一つ空いているから多分繋げられる.

とりあえず液タブ買うんだったらこの液タブかな.他に良い液タブがあったら知りたいところ.

机の面積が足りなくなりそう.今でさえもう隙間がない.

最近ブログを更新していなかった

ここ何日か全然ブログを書かなくなってしまった.

なんか人の目を気にして,良い記事を書かなくてはという意識があったからだと思う.

しかし,このブログはそもそも

「ツイートにゴミかついた感じのブログ」

というサブタイトル的なものをつけているから別にゴミ記事を書いたって良いはずであった.

ということで,今日はこのブログのサブタイ通りにツイートにゴミをつけて連投している.

このくらいの軽さでやらなきゃ,良い記事も出てこないね.

最近バテ気味?

今日は久しぶりに運動というかスポーツをやった.バドミントンをやった.

筋肉痛確定.でもいい気晴らしになった.

最近朝起きるのが辛かったりぼーっとしてることが多い.

気温が30度を超える日が続いていて,それにやられている気がする.

結構,食をおざなりにしてしまうことが多いから,意識して食べたり水分補給したりしようと思う.

運動全然してないから,体力もかなり落ちているはず.

週一くらいでバドかテニスやろうかな.

筋トレは最近始めた.筋トレというか筋肉痛が起こるほどでもない軽いものではあるが,徐々に負荷を上げていきたいと思っている.

あんまりきついと続かないから.続けることが大事.

就活の雰囲気が少しずつ出てきた.

自己分析やらインターンのお話やらで気持ちが落ち込むことも多々ある.

自分のやることは決まっているからあんまり悩まず楽しくやっていきたい.

そのためにも体は大事にしなければ.健康大事(そんなのわかってるんじゃい!)

まあ最近はこんな感じ.

MM経由でnews-ieに投稿するplugin(投稿フォームの実装[見た目だけ])

(この記事は作業ログだから,間違いがある可能性が高い)

openInteractiveDialogで投稿フォームを開く.

基本的に次のplugin-demoを参考に実装した.

mattermost-plugin-demo/command_hooks.go at master · mattermost/mattermost-plugin-demo · GitHub

MMのAPIドキュメントに,openInteractiveDialogというmodal windowを開くためのAPIがあるのを発見した.

Server Reference

これを使って投稿フォームをslashコマンドで開けるようにする.

slashコマンド自体はExecuteCommand APIを使って実装した.

Server Reference

フォーム内容の設定は次を参考に, "github.com/mattermost/mattermost-server/v5/model" パッケージのモデルの形に従ったりplugin-demoの形を参考にしたりして書いた.

スラッシュコマンド打ったらこんな感じのフォームが出現した.

f:id:mattari_matayu:20200629145545p:plain
フォーム出たー!

gitlab

Sign in · GitLab

次以降やること

フォームからメッセージを受け取って加工できるようにする.

メッセージ(記事の題名,markdown形式の本文)

加工(hugoのmarkdown形式にする)

まずはしっかりフォームに入力してもらったものを受け取れるようにする.

作業中の殴り書き(参考にならないです. 多分.)

MMのmodal window

Interactive Dialogs — Mattermost 5.24 documentation

スラッシュコマンドでトリガーIDを含むHTTPリクエストを統合機能が受け取る必要がある.(プラグインがそれを受け取ることはできる?)

そうしたら,

https://<your-mattermost-url>/api/v4/actions/dialogs/open

にトリガーIDを含むHTTP POSTリクエストを送信することでインタラクティブダイアログを開くことができる.

スラッシュコマンドはこんな感じに書くといいのかも.

GitHub - cmeadows/mattermost-plugin-tableflip: Like the `/shrug` but better. Adds (╯°□°)╯︵ ┻━┻ to your message

modal windowを開くにはどうすれば良いのか.

トリガーIDなしでInteractive dialogを開くことができるようにするみたいな話を見つけたけどどうだろう.

MM-15340 Interactive dialogs without TriggerId by scottleedavis · Pull Request #10914 · mattermost/mattermost-server · GitHub

pull request辿ってたら,普通にopenInteractiveDialogというのが実装されていることに気づいた.

Server Reference

ここに使い方の例が載ってる.

mattermost-plugin-demo/command_hooks.go at master · mattermost/mattermost-plugin-demo · GitHub

やっとコード書けそう.

Modal windowをReact使って実装するつもりだったけど,openInteractiveDialog を使えばそこまでしなくても良さそう.

すごい巡り巡ってドキュメントまで戻ってきた感(ドキュメントしっかり読めばよかったのかも.でもその過程で色々なものの理解が深まった).

MM経由でnews-ieに投稿するplugin(実現可能か調べる)

(この記事は作業ログで,間違いがある可能性が高い)

図や文章に起こした方が良いと言うアドバイスをもらったからとりあえず大まかな設計図を書いてみた.markdownに変換するところまで.

f:id:mattari_matayu:20200623161412p:plain
設計図

入力フォームから受け取った記事の情報をgolangでhugoのmarkdownに変換するながれ.

まずHooksのMessageHasBeenPostedで特定の文字列をユーザーが送信したら入力フォームを開く形にする.

もしくはslashコマンドで入力フォームを開けるようにする. (スラッシュコマンドはhttpリクエストを送るみたいだが,送らなくても使えるだろうか)

入力フォームは,MMでチャンネルヘッダを編集する時に出てくる次の写真のようなものを作れば良いと思うから,この部分のMMのソースコードを読んで真似すれば作れそう?

f:id:mattari_matayu:20200623140150p:plain
チャンネルヘッダを編集する入力フォーム

この部分のソースコード

mattermost-webapp/edit_channel_header_modal.jsx at master · mattermost/mattermost-webapp · GitHub

既存のpluginで入力フォーム的なのを開いたりしてるやつないかなーと思って調べたら.次のようなpluginがあった.

https://mattermost.gitbook.io/plugin-confluence/config-notifications/subscribe-command

よって,入力フォームを作って開くことはできそう.

受け取った記事の情報をhugo markdownに変換するのはgolangで次のような感じで書けばできる気がする.

package main

import "os"

// Article include article infos.
type Article struct {
    Title   string
    Content string
}

func main() {
    a := Article{
        Title:   "hello",
        Content: "hello. This is a test.",
    }

    output := "+++\n" + a.Title + "\n+++\n\n" + a.Content
        // outputを出力
}

これから

入力フォームを開くことができれば作れそうだから,入力フォームを作ってみる. (Plugin君,君は一体どこまでできるのかね.)

Mattermost経由でnews-ieの投稿をするMM bot plugin(hello, world編)

MMからnews-ieの記事を投稿できるようにupcoming bot pluginを作成していく.

作業ログだから間違った情報もそのまま載せている。後でしっかり知見としてまとめる。

MMのバージョン: 5.23.0

大まかな流れはこんな感じ.

  • MMから記事内容を受け取る.

  • 受け取った記事内容をhugoのmarkdownに落とし込む.

  • hugoによってhtml化された記事をpushする.

testする際はngrokで作ったグローバルip(mac bookのlocalhostを結びつけたもの)のところにhtmlを送りつける感じで.

hello, world

plugin 作るの初めてだからまずhello, worldからやってみる.

このquick startというやつを参考に進める.

developers.mattermost.com

サイトの通りにやったら簡単にできた.

f:id:mattari_matayu:20200615104144p:plain
hello, world!