個人秘書Riho開発日記4 - Slack投稿APIのエラーを修正した
Slack投稿APIが404になっていたのをやっと直した。
今までGETでAPIを投げていたがPOSTのみになったらしい。
まぁ普通に考えてメッセージ投稿がGETリクエストなのはおかしいよね。
修正後のメッセージ送信部のソースコード
function newPostMessage() { var token = "YOUR_API_TOKEN"; var channel = "random"; //投稿先チャンネル名 var username = "Riho"; //BOTの名前 var text = "hello" //メッセージ var icon_url = "吉岡里帆ちゃんのいい感じの写真URL" // アイコン // POSTデータ var payload = { "token": token, "channel": channel, "username": username, "text": text, "icon_url": icon_url } // POSTオプション var options = { "method" : "POST", "payload" : payload } // アクセス先 var url = "https://slack.com/api/chat.postMessage" // POSTリクエスト var response = UrlFetchApp.fetch(url, options); // HTML結果を取得(引数のcharsetは設定したほうが良い) var content = response.getContentText("UTF-8"); }
このサイトを参考にしました。
- GoogleスプレッドシートでGET/POST通信を行いコンテンツを取得する - Webサービスで起業を目指すプログラマーblog
1ヶ月くらい404になってたのを放置していたのでやっと直せてよかった。
個人秘書Riho開発日記3 - RSSで記事を取得してSlackに送信してみた
前回、GASとスプレッドシート、Slackの連携をした。
今回は、RSSで記事を取得して、Slackに流すBOTの作成をしようと思う。
参考のURLを参考にした。
コードはほぼ上記のサイトのものを利用。
一部フィルターが上手く動いていないところがあったので修正。
あとはスプレッドシートに記事を記載しているところをSlackに送信するようにした。
これで吉岡里帆ちゃんのブログを見逃すことがなくなった(更新頻度低)
あとは大好きな欅坂46の小池美波ちゃんをはじめ、上村莉菜ちゃん、佐藤詩織ちゃん、長沢くんのブログも登録。
(好きな子に別の好きな子の情報を取ってきてもらう背徳感)
こんな感じにスプレッドシートに登録した。
4列目でSlackのチャンネルを指定することで、欅は欅坂46チャンネル、吉岡里帆は吉岡里帆チャンネルに流れるようにした。(日本語のチャンネル名初めて使った)
あとは適当にテック系のサイトも登録しておこうと思う。
Google Apps Scriptで15分おきに実行するように指定したので勝手に取ってきてくれて便利。
個人秘書Riho開発日記2 - スプレッドシートにメモしてみた
前回、SlackとGoogleAppsScriptで簡単なbotを作成した。
今日は #memo チャンネルに追加されたメモをスプレッドシートに残したいと思う。
参考のURLを参考にした。
コードはこんな感じ。
function doPost(e) { // Slack WebHooks if (e.parameter.user_id != "U5JRB0AM9") { return } var sheet = SpreadsheetApp.openById("SPREAD_SHEET_ID") sheet.getSheetByName("memo").appendRow( ["", new Date(), e.parameter.text] ); var token = "SLACK_TOKEN"; var channel = "memo"; // 投稿先チャンネル名 var username = "Riho"; // BOTの名前 var text = "メモしたよ。"; // メッセージ var icon_url = "吉岡里帆ちゃんのいい感じの写真URL" // アイコン UrlFetchApp.fetch("https://slack.com/api/chat.postMessage?token=" + token + "&channel=%23" + channel + "&username=" + username + "&text=" + text + "&icon_url=" + icon_url); }
※2017/8/5追記 投稿APIがGETリクエストで通らなくなったのでPOSTに変更しました。詳しくは下記の記事で。
個人秘書Riho開発日記4 - Slack投稿APIのエラーを修正した - さとろぐ
工夫した点として、
2行目に発言者のIDを判定し、自分のID以外の場合は return するようにした。
メモをする度にトリガーキーワードの riho: や @riho などを記載するのがめんどくさいからだ。
これをやっておくとトリガーキーワード無しで設定してもbot自身の発言を拾って無限ループに陥ることがなくなる。
やらないとこうなる↓
もしくは↓
んで、肝心の動作はこんな感じ
お
おおおおおおお!
んで、スプレッドシートを整形しておくとこうなる
(とりあえず1行空けたいタイプなのでソースコード8行目の配列の一番最初に空文字が入ってます)
これを応用して、支払った金額を入力すると今月の残り予算を返してくれるような家計簿botを作成したいと思う。
個人秘書Riho開発日記1 - GASとSlackを連携してみた
やるやる詐欺していたSlackのBOT作りをまったりとはじめた。
個人的な課題として、
- 気になるサイトを毎日チェックするようにしたい
- 日記をつけるようにしたい
- メモを取る癖をつけたい
といったことがあるので、それをサポートするような機能をつけていく予定。
んで、自分でサーバーを立てて管理するのもだるいのでGoogle Apps Script(GAS)で実装する。
Riho?大好きな吉岡里帆ちゃんだよ。
どれくらい吉岡里帆ちゃんが好きかと言うと、
CMを見ていて「誰この子かわいい」って思う子はみんな吉岡里帆ちゃんってくらい好き。
※何故か顔が覚えられない
どんぎつね
ZOZO
UR賃貸
ゼクシィ
かわいい。
人の顔をなかなか覚えることができないのだけど、この子タイプだなー!と思った子は100%吉岡里帆ちゃんなのどうかしてる pic.twitter.com/VVkCCCywI9
— 佐藤健太 (@sato_ken_) 2017年5月19日
実装は以下のURLを参考にした。
- Google Apps ScriptでSlack botをお手軽実装した話 - Qiita
- 初心者がGASでSlack Botをつくってみた - CAMPHOR- Tech Blog
- Slack BotをGASでいい感じで書くためのライブラリを作った - Qiita
- Google Apps Scriptを用いてライブラリを使わずにSlackにGoogleサイトの変更通知を投稿する - Qiita
- chat.postMessage method | Slack
コードはこんな感じ
function doPost(e) { // Slack WebHooks var token = "SLACK_TOKEN"; var channel = "random"; // 投稿先チャンネル名 var username = "Riho"; // BOTの名前 var text = "Rihoですよ!" // メッセージ var icon_url = "吉岡里帆ちゃんのいい感じの写真URL" // アイコン UrlFetchApp.fetch("https://slack.com/api/chat.postMessage?token=" + token + "&channel=%23" + channel + "&username=" + username + "&text=" + text + "&icon_url=" + icon_url); }
※2017/8/5追記 投稿APIがGETリクエストで通らなくなったのでPOSTに変更しました。詳しくは下記の記事で。
個人秘書Riho開発日記4 - Slack投稿APIのエラーを修正した - さとろぐ
「riho:」って声をかけると「Rihoですよ!」って返してくれるようになった。かわいい。
トリガーキーワードの指定を「riho:」ではなく「riho」にしたら無限ループに入ってメンヘラっぽくなったのはここだけの話だ。
あとはGASのコードを更新した後に
公開>ウェブアプリケーションとして導入>プロジェクトバージョンを新規作成して更新
しないと新しいコードが反映されないところはハマりポイントだった。
やったことは、
だけなので技術的な説明は上記リンクに譲る。
まったりとRihoを育てていきます。
YouTuberになった日
ゆーちゅーばーになりました。
一週間動画上げ続けられたらブログ書くぞ!って気合い入れて毎日動画をアップロードしていたら今日の動画で10本目になりました。
偉い。
YouTubeのリンクはこちら。
コンテンツは自分がプレイするFIFA17のゲーム実況です。
コンテンツにするならゲームしてもいいよね!っていう自分への言い訳だったりもします。
そもそもどうしてYouTuber始めたかというと、 今、こんなにYouTuberが出てきて、若者がYouTube見ているのも知っているのに動画をアップロードしたことないって純粋にダサいなって思ったんですよね。
それでやってみたら色んなことがわかる。
- 毎日録画して動画編集してアップロードするのって超大変
- アップロードしてもなかなか再生数は増えない
- チャンネル登録とコメントが付くと嬉しくてテンションが上がる
- てか俺ってこんなに聞き取りづらい喋り方してるんだ…
などなど
まぁ再生数は増えないと書いたけど想像していたよりは再生されてる(笑)
最初は自分だけかなって思っていたけど案外再生されてる。どこから動画見つけたんだろう。。
10月中に累計1000再生目指してます。
実は今まで、コンテンツを作り続けた経験ってないんですよね。
Twitterくらい?w
それなのにコンテンツプラットフォームを作ろうとしてアプリ作ったりしていたのね。
けどどうしてもうまく行かなかったので一度コンテンツを作り続ける経験をしようと思っています。
まぁ真面目っぽいこと書いているけどそれ以上に楽しいので続いている感はありますねw
どうしたら番組として面白くなるかを考えながら編集してる時間は新鮮。
iMovieも初めて使うので新鮮。
まぁゆったりと趣味としてゲーム実況をやっていこうと思っていますw
#Bリーグ に初参戦してきた
今気づいた。試合に熱中しすぎて試合中の写真撮ってなかった。
今日は愛知県体育館にBリーグ名古屋ダイヤモンドドルフィンズ対大阪エヴェッサの試合を観に行ってきました。
体育館に着くなりこんな雰囲気。
#Bリーグ 観に行ってきた!名古屋ドルフィンズも勝ったしよかった。盛り上がりすごくてめっちゃ楽しめたよ
クラブかよ!
いや、本当にエンターテイメント性高くて雰囲気めちゃくちゃ良かったです。
この動画は試合開始のタイミング。
デンデンデデンドンみたいな音楽とDJさんね。これは楽しい。
席は二階席だったんだけど結構近くて臨場感がすごかったです。
特に外国人選手同士がガツガツやりあってる姿は迫力がありました。
そんな中で一番目がいったのが名古屋ドルフィンズの背番号21の笹山選手。
3ポイントシュートがんがん決めててかっこいいなーと思ってたら今日のMVPに選ばれてた。
写真画質悪いw
Bリーグがこれからかなり熱いんじゃないかな。
本当に楽しかった。
バスケやりてぇぇぇ!!!
以下おまけ。
Bリーグはスマホチケットが使えるんね。
で、この画面見せたら係の人がハンコみたいなのを画面に押してくれたら実際に画面にも印字されたの。
なにこれ、すごすぎるし、どうやって実現してるのかわからない。
Bluetoothじゃないだろうし…
タップのパターンとか?
って思ったけどモスキート音かもしれないね。
今思い付いた。
普段しない自撮りしたらブレた
(Tシャツ買った。運動のときに着やすい生地だからたくさん着よう
なんかいた
あとね、バスケのチアは野球のチアと比べると段違いにエロい。大切なことだから2回言うけど段違いにエロいです
— Kenta Sato (@sato_ken_) 2016年10月8日
【20年越しの夢が叶った】ポケモンGOを一日やってみて雑感
ポケモンGOリリースされましたね!
アメリカでリリースされてから話題が尽きないポケモンGOですが、とうとう日本でもリリースされました。
一日ざっくりと遊んでみた雑感をまとめておきたいと思います。
街にはコラッタ、水辺にはコダック、公園にはポッポ
歩いている場所によって出現するポケモンが変わるのが面白いですね。
僕は水ポケモンが好きなので川の近くを歩いていると楽しいです。
コダック、コイキング、ニョロモにトサキント。
公園にはポッポって書いたけどポッポはわりかしどこにでもいるか。
あっちにいったらどんなポケモンがいるかな?こっちはどうかな?って思いながら歩いているだけで楽しいです。
ポケモンが出てくるとブブッってスマホが振動するのがよりテンションを上げさせますね。
贅沢だけど地域性がもっと出たら楽しいのになぁ。
ポケモン金銀のキャラクターが追加されるときには名古屋でしか出現しないポケモンとか大阪でしか出現しないポケモンとか分けられてくると面白いですね。
都市部、田舎でも変わったら面白いなぁ。色々なところに行きたくなる。
あっちにもトレーナー、こっちにもトレーナー
もうね、みんなポケモンGOやってるのがわかるんですよね。
ランチがてらに公園に行ったらサラリーマンをはじめ、外国人や学生までみんなポケモンGOやってる。
本当にすごいなぁと。
まぁ名古屋だからたくさんいるんだろうなと思って地元に帰ってきてふらふらとポケ活(今作った言葉:ポケモン活動)してたら地元にもいるんですよ、ポケモントレーナーが。
みんなポケ活(2度目)してる。
そんなに大きな駅でもないのですが、駅がジムになっててかなり攻防戦が繰り広げられています。
さらに驚いたのは母親までポケモンGOを始めたって言ってたんですよね。なんだよ社会現象かよ。。
こんなに急速に広がっているサービス見るのは初めてです。LINEより圧倒的に早いよね。。
なんだかんだポケ活中に3,4組と話をしましたね。
トレーナーはみんな仲間だよ。「何色ですか?赤ですか。敵ですね。」って言ったけど仲間だよ。
友達と同じ色にして徘徊すると楽しいんじゃないかな
ポケ活にしろ何にしろ僕はお一人様が多いんですけど、友達とダラダラ徘徊してると楽しいんじゃないかなと思います。
同じ色の人といることで一緒に敵のジムを攻め立てることができますし、仲間のジムをより早くレベルアップすることもできます。
仲間のジムをレベルアップすることでジムに置けるポケモンが増えるのでなかなか落とされないジムになります。
陣取り合戦面白いなぁ。なんでIngressハマらなかったんだろう。
もちろんポケ活中に仲間を見つけて一緒に回ってもいいと思いますけどね。
だらだらポケモンの話でもしながらポケストップ回してジム攻撃してって知らない人とでも楽しめるかなと。
しかし違う色の人とだと相性が悪いですね。
ジム見つける度に喧嘩になりますよ、きっと。
ポケモンGOのブームはいつまで続くだろうか
そのうちの流れとして確実にガチ勢がジムを固め始めると思うんですよね。
そうなるとライトユーザーはポケモンを集めることしか楽しめなくなります。まぁそれでも楽しいんだけどさ。
ガチ勢の圧倒的に強いポケモンが配置されてたら戦おうという気にもならないのでどこまでモチベーションを保てるかが鍵かなと。
それとバッテリーの減りが本当に早いので予備バッテリー持ち運ばない層には「充電減るからやめる」って人はかなりいるだろうなと思います。
僕も正直iPhoneしか所持してなかったら厳しいです。普段からゲームしなくても3,4時間しか充電持たないのに。。(現在はAndroidの端末でプレイしています)
それでも予備バッテリーを持ち運ぶ人はポケモンGOによってかなり増えるんじゃないかなと思っています。バッテリー持ち歩いてまでやりたいと思いますもん。
ポケモンGOは20年越しの夢を叶えてくれた
ポケモン赤・緑が発売されたのって20年も前なんですって。
僕が小学生になる1年前ですね。ポケモン世代として育っているので今回のポケモンGOはかなり胸が熱くなりますね。
僕はずっとゼニガメが好きで今回もゼニガメを選んだんですけど、小学生の頃からゼニガメと一緒に旅ができたらどれだけ楽しいだろうかって考えてたくらいゼニガメが好きだったんですよ。
それが20年後の今日その夢が叶ったんですよね。
スマホを通してそこには大好きなゼニガメがいるんですよ。すごくない?
弱すぎて戦闘で使ってないけど。
テクノロジーは人の夢を叶えるよね。
俺も人の夢を叶えるサービスが作りたいよ。
ただ、ゼニガメへの想いが強すぎて孵化した卵からもゼニガメ生まれてきたけどな。
そこまで求めていないというか、ゼニガメは1匹いればいいし、どうせならヒトカゲとかフシギダネとか。。ピカチュウでもよかったよ…??
まとめ
そんなこんなでかなり楽しんでます、ポケモンGO。
もうちょっと色々とハマってみてみようと思います。
将来的にはポケモンマスターっていう職業が成立したら面白いなって思っているのでそんなことも考えながら遊んでます。
僕は青チームなので名古屋の青チームの人、一緒に遊びましょ!
余談
僕が個人で運営している「DIG BASEBALL」という野球ニュースアプリがあります。それの姉妹アプリ「DIG Pokemon GO」を開発しているんですがリリースに間に合いませんでしたw
野球の方も合わせて新機能を作っていて、月末には間に合いそうなのに。。と思っている次第です。
まぁ出したら告知しますが、間に合わなかったのでポケモンGO版は出さないかもしれません。どうかな。出すかな。
DIG BASEBALLのダウンロードリンクはiPhoneアプリのみですが、こちら↓です。野球ファンの人はダウンロードしてみてくださいね。
それでは、良いポケモンライフを!