SlackのSlash Commandsをとりあえず実装してみる
すみさきです。
最近気が緩みすぎてるのかSAN値が減りすぎてやる気が起きないのか、いろんなことが進んでないです。
というわけで息抜き回。
SlackのSlash Commandsを簡単に使ってみます。
前提
今回はAWSを使用しています。
あと、Serverless Frameworkも使います。
もちろんSlackのアカウントも必要です。
処理部分
まずはSlackからのリクエストを受け付ける部分を作りましょう。
新しいサービスを作成します
sls create -t aws-python3 -p SlackAppService
中にserverless.ymlというファイルがあるので以下のように編集しましょう
service: SlackAppService provider: name: aws runtime: python3.6 stage: dev region: ap-northeast-1 functions: hello: handler: handler.hello events: - http: path: helloworld method: POST
(例では配置先を東京リージョンにしてますよ)
次はhandler.pyを以下のように書き換えます
import json from urllib.parse import parse_qsl def hello(event, context): # Slackからのリクエストをパースする params = dict(parse_qsl(event['body'])) # レスポンスを作成 res_body = {'text': 'hello <@{0}>'.format(params['user_id'])} response = {"statusCode": 200, "body": json.dumps(res_body)} return response
Slackから送られてくるPOSTリクエストの中身は、x-www-urlencodedなので、parse_qslでパースします。
parse_qsで直接dictにしても良いのですが、valueが配列になってしまうので・・・
今回は使っていませんが、使用したコマンドやパラメータを取りたい場合は、commandやtextの中に入っています。
詳しくはドキュメントを見るべし。
ソースが書けたらデプロイしましょう
sls deploy
Slash Commandsの作成
https://api.slack.com/appsにアクセスして、「Create New App」をクリック。
画面の指示に従ってアプリ名と開発ワークスペースを登録する。
アプリが作成できたら、FeaturesのSlash Commandsを選択し、「Create New Command」をクリック
コマンド名、リクエスト先、Slack上で表示されるツールヒントなどを入力して登録しましょう。
全部作成できたら、SettingsのInstall Appから、自分のワークスペースにインストールすればOK
結果
こんな感じになるはず (コマンドをechoするわけではないのでちょっとわかりづらいっすけどねー)
AWS Lambdaや他のバックエンドに命令を送ることが出来るようになりますよ。
やったね。
MacでもVSCodeでUnrealC++が書きたい
すみさきです。
ちょっと気になってMacでもVSCodeでUnrealC++とデバッグができるのか調べてみました。
※なお、片っ端からいろんなことを試してたので、確実な環境構築手順がわからないです…
とりあえず導入
まずVisualStudioCodeを入れましょうね
(Macで色々開発している人はもちろん入ってるっすよねぇ?)
Visual Studio Code - Visual Studio
VSCodeが入ったら、以下のExtensionsを入れましょう。
LLDB Debuggerはデバッグに使うので入れておきましょう
XCodeが入っていたら大抵LLDBも入っていますが、入ってない場合はXCode CommandLine Toolsを入れると入ります
which lldb
か
lldb --version
で導入されているかどうか確かめましょう
ついでに
mono --version
で、Monoが入ってるか確かめておきましょう (UE4が入ってたら入ってるんじゃないかな?)
.NET Core SDKも入れておくと良いかも?(ここ未確認。とりあえず入れた) www.microsoft.com
UE4Editorの設定
EditorPreferenceからSourceCodeEditorを「VisualStudioCode」にしておきましょうねー
デバッグしてみる
左のデバッグツール(虫のマーク)を選択し、「プロジェクト名」または「プロジェクト名+Editor」でデバッグ開始
DebugとかDevelopmentとかはDocumentを見てー
大抵Developmentで良いと思います
今のところの課題
- 「プロジェクト名」でのデバッグが上手く動かない
なんかエラー出て止まるんですよね…
なんか「でぷろいいんぐ なーう」って言って放っておくとエディタも起動しないしデバッグも開始されないんですよねぇ…
統合ターミナル上でEnterキーとか押して無理やり進めるとようやくエディタが起動するんですよ
ビルドタスク用のバッチファイルが悪さしてるんじゃないかなぁ、と思っていますが手を入れてみるべきかどうか…
参考文献
↓詳しい使い方はこちらへ unrealengine.hatenablog.com
LLDB Debugger (GitHub) github.com
Docker上にLaravel環境を構築したい(試行錯誤編)
墨崎です。
授業でPHPを教えているのですが、どうせなら流行りのフレームワークでも教えてみるかと思ってLaravelを検討中です。
いや自分だって触ったことないんですけども。
ついでにいうとPHPなんて専門外なんですけども。
とは言えそこで諦めてたら仕事にならないので、Docker環境上にLaravel開発環境を構築してみようかと。
なお授業でやるのはWindows(+XAMPP)なのでDocker関係ないよ…
試行錯誤の内容
見てたやつ。この辺
これ見ながらやってみたけど初っ端からエラー出たでやんす…
原因わかってるんですけどね。npm系でエラーが出たので。
多分これはGulpとかLaravel-Elixirあたりが関係してくるのかな?
今のところそこまで必要じゃないよね?ってことでこのエラー出た部分は削ってしまおうかと。
大丈夫だよね?
他はこの辺とかも見てます
単純にMac上(Docker上)にLaravelの検証環境が欲しいだけだからこっちのほうがいいかもなぁ…
このあとやること
Docker composeのきちんとした使い方を考えないといけないっぽい。
というのも、イメージ名…というか複数のdocker-compose.yml間で同じ名前を使うのはよろしくないっぽいんだよねぇ…
imageやcontainerを作りっぱなしで消してないっていうのが一番の問題のような気もするけど
うまいやり方を調べてみようかな?
ちょっとだけ技術記事を書きました
Mac買いました
ようやくMacを買った墨崎です。
実はMacを個人所有するの初めてなんですよね。
仕事(前職)ではバリバリ使ってたわけなんですが…
しかし最新のMacbookProってキーボードすごいカチカチなりますね。
あとストロークかなり薄い。
全体的に薄いので荷物重量への影響も少なそうで良かった…
Mac使って何するの?
とりあえずiOSのビルドを試そうと思ってました…が、実機ビルドするのにDeveloperProgramに登録しないといけないみたいっすね。
XCodeのプロジェクトは何もなくビルドできたわけですが。
プロビジョニングする際にAppleIDが必要になっていることから、ビルド時に新しいプロビジョニングファイルを取ってきてるのでしょうかね?
とにかくうまく行きませんでした。
とりあえず、DeveloperProgramに登録すればなんとかなるのでそのうちしようと思います。99ドル…必要経費かな?
色々進捗
フリーランスになって初めて、UE4のお仕事ができそうです。
VRもやれる可能性があります。
とにかく実績を作って次のお仕事につなげていきたいですね。
次のことに手を出すにはお金も必要なので、引き続き稼いでいきたいです。
このあと
- HPをちゃんとする
- Pythonで色々作ってみる
- ARKitを試したい