Submit Search
Upload
Go言語でBot開発やってみた
•
5 likes
•
3,694 views
Akihiko Horiuchi
Follow
第2回 Hubot×ChatOps勉強会 http://hubot-chatops.connpass.com/event/17902/
Read less
Read more
Technology
Report
Share
Report
Share
1 of 16
Download now
Download to read offline
Recommended
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
Kotlin/Native 「使ってみた」の一歩先へ
Kotlin/Native 「使ってみた」の一歩先へ
Takaki Hoshikawa
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
Yoshimura Soichiro
Go入門
Go入門
Takuya Ueda
競プロでGo!
競プロでGo!
鈴木 セシル
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
Takuya Ueda
例外設計における大罪
例外設計における大罪
Takuto Wada
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術
dena_study
Recommended
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
Kotlin/Native 「使ってみた」の一歩先へ
Kotlin/Native 「使ってみた」の一歩先へ
Takaki Hoshikawa
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
Yoshimura Soichiro
Go入門
Go入門
Takuya Ueda
競プロでGo!
競プロでGo!
鈴木 セシル
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
Takuya Ueda
例外設計における大罪
例外設計における大罪
Takuto Wada
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術
dena_study
非同期処理の基礎
非同期処理の基礎
信之 岩永
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
C#でもメタプログラミングがしたい!!
C#でもメタプログラミングがしたい!!
TATSUYA HAYAMIZU
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
目grep入門 +解説
目grep入門 +解説
murachue
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
Tadahiro Ishisaka
モダンフロントエンド開発者に求められるスキルとは
モダンフロントエンド開発者に求められるスキルとは
Takuya Tejima
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Hironobu Isoda
UEFIによるELFバイナリの起動
UEFIによるELFバイナリの起動
uchan_nos
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
Go mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろう
Takuya Ueda
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
FastAPIのテンプレートプロジェクトがいい感じだった話
FastAPIのテンプレートプロジェクトがいい感じだった話
NipponAlgorithm
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
KLab Inc. / Tech
ChatGPT を使ってみた
ChatGPT を使ってみた
Hide Koba
初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法
kazkiti
ChatOps@研究室
ChatOps@研究室
Akihiko Horiuchi
Filter・Mutator・Aggregateの使いドコロ
Filter・Mutator・Aggregateの使いドコロ
Akihiko Horiuchi
More Related Content
What's hot
非同期処理の基礎
非同期処理の基礎
信之 岩永
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
C#でもメタプログラミングがしたい!!
C#でもメタプログラミングがしたい!!
TATSUYA HAYAMIZU
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
目grep入門 +解説
目grep入門 +解説
murachue
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
Tadahiro Ishisaka
モダンフロントエンド開発者に求められるスキルとは
モダンフロントエンド開発者に求められるスキルとは
Takuya Tejima
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Hironobu Isoda
UEFIによるELFバイナリの起動
UEFIによるELFバイナリの起動
uchan_nos
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
Go mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろう
Takuya Ueda
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
FastAPIのテンプレートプロジェクトがいい感じだった話
FastAPIのテンプレートプロジェクトがいい感じだった話
NipponAlgorithm
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
KLab Inc. / Tech
ChatGPT を使ってみた
ChatGPT を使ってみた
Hide Koba
初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法
kazkiti
What's hot
(20)
非同期処理の基礎
非同期処理の基礎
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
C#でもメタプログラミングがしたい!!
C#でもメタプログラミングがしたい!!
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
目grep入門 +解説
目grep入門 +解説
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
モダンフロントエンド開発者に求められるスキルとは
モダンフロントエンド開発者に求められるスキルとは
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
UEFIによるELFバイナリの起動
UEFIによるELFバイナリの起動
Pythonによる黒魔術入門
Pythonによる黒魔術入門
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Go mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろう
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
FastAPIのテンプレートプロジェクトがいい感じだった話
FastAPIのテンプレートプロジェクトがいい感じだった話
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ChatGPT を使ってみた
ChatGPT を使ってみた
初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法
Viewers also liked
ChatOps@研究室
ChatOps@研究室
Akihiko Horiuchi
Filter・Mutator・Aggregateの使いドコロ
Filter・Mutator・Aggregateの使いドコロ
Akihiko Horiuchi
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践
Kazuto Kusama
TranslimitのChatOps事情と愉快なbotたち
TranslimitのChatOps事情と愉快なbotたち
Masakazu Matsushita
クラウドでGolangのテスト&デプロイ!
クラウドでGolangのテスト&デプロイ!
Akihiko Horiuchi
Ginとbindataで作るシングルバイナリWebApp
Ginとbindataで作るシングルバイナリWebApp
Akihiko Horiuchi
BotKitで作るイベント駆動Bot
BotKitで作るイベント駆動Bot
Akihiko Horiuchi
Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発
Takuya Ueda
Jenkins 2.0 Pipeline & Blue Ocean
Jenkins 2.0 Pipeline & Blue Ocean
Akihiko Horiuchi
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
Leslie Samuel
My ambariexperience
My ambariexperience
wyukawa
OSS監視ツールSensuの紹介
OSS監視ツールSensuの紹介
Akihiko Horiuchi
Prometheus london
Prometheus london
wyukawa
Presto in my_use_case2
Presto in my_use_case2
wyukawa
今日から始める人工知能 × 機械学習 Meetup ライトニングトーク1
今日から始める人工知能 × 機械学習 Meetup ライトニングトーク1
Nguyen Tuan
Landset 8 的雲層去除技巧實作
Landset 8 的雲層去除技巧實作
鈵斯 倪
Upgrading from-hdp-21-to-hdp-24
Upgrading from-hdp-21-to-hdp-24
wyukawa
小魯蛇與他快樂的夥伴
小魯蛇與他快樂的夥伴
鈵斯 倪
合同勉強会20160821
合同勉強会20160821
Nguyen Tuan
20150419_pbtech_openstack_nyah #pbtech
20150419_pbtech_openstack_nyah #pbtech
ume3_
Viewers also liked
(20)
ChatOps@研究室
ChatOps@研究室
Filter・Mutator・Aggregateの使いドコロ
Filter・Mutator・Aggregateの使いドコロ
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践
TranslimitのChatOps事情と愉快なbotたち
TranslimitのChatOps事情と愉快なbotたち
クラウドでGolangのテスト&デプロイ!
クラウドでGolangのテスト&デプロイ!
Ginとbindataで作るシングルバイナリWebApp
Ginとbindataで作るシングルバイナリWebApp
BotKitで作るイベント駆動Bot
BotKitで作るイベント駆動Bot
Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発
Jenkins 2.0 Pipeline & Blue Ocean
Jenkins 2.0 Pipeline & Blue Ocean
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
My ambariexperience
My ambariexperience
OSS監視ツールSensuの紹介
OSS監視ツールSensuの紹介
Prometheus london
Prometheus london
Presto in my_use_case2
Presto in my_use_case2
今日から始める人工知能 × 機械学習 Meetup ライトニングトーク1
今日から始める人工知能 × 機械学習 Meetup ライトニングトーク1
Landset 8 的雲層去除技巧實作
Landset 8 的雲層去除技巧實作
Upgrading from-hdp-21-to-hdp-24
Upgrading from-hdp-21-to-hdp-24
小魯蛇與他快樂的夥伴
小魯蛇與他快樂的夥伴
合同勉強会20160821
合同勉強会20160821
20150419_pbtech_openstack_nyah #pbtech
20150419_pbtech_openstack_nyah #pbtech
Similar to Go言語でBot開発やってみた
Golang入門
Golang入門
Yukihiro Kitazawa
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会2
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会2
Takuya Ueda
Go言語ってどんな言語? 導入実績や気になるトレンド
Go言語ってどんな言語? 導入実績や気になるトレンド
Atsushi Yasuda
OSSで楽に作るGo言語クライアントツール
OSSで楽に作るGo言語クライアントツール
Tano Makoto
Goとtest coverage
Goとtest coverage
nakaji-s
社内勉強会1 go lang
社内勉強会1 go lang
Tsuyoshi Nakamura
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会
Takuya Ueda
Shizuoka go lang csp
Shizuoka go lang csp
Makoto Kishimoto
What is "Go" Gopher?
What is "Go" Gopher?
Ryuji Iwata
今日から始めるGopher - スタートGo #0 @GDG名古屋
今日から始めるGopher - スタートGo #0 @GDG名古屋
Takuya Ueda
粗探しをしてGoのコントリビューターになる方法
粗探しをしてGoのコントリビューターになる方法
Takuya Ueda
Goでかんたんソースコードの静的解析
Goでかんたんソースコードの静的解析
Takuya Ueda
2019-01_正月三が日でGolangを触ってみた
2019-01_正月三が日でGolangを触ってみた
Igarashi Toru
20130824 Lightweight Language "Go" @LL matsuri
20130824 Lightweight Language "Go" @LL matsuri
Yoshifumi Yamaguchi
GoでMinecraftっぽいの作る
GoでMinecraftっぽいの作る
京大 マイコンクラブ
オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選
Takuya Ueda
Language toolを使ってみる
Language toolを使ってみる
Takatsugu Nokubi
SIG-Glocalization #13「アプリの海外展開、どうしていますか?」講演スライド
SIG-Glocalization #13「アプリの海外展開、どうしていますか?」講演スライド
IGDA JAPAN
20130316 プログラミング言語Go
20130316 プログラミング言語Go
Yoshifumi Yamaguchi
Go一緒にいかが?
Go一緒にいかが?
Ryuji Iwata
Similar to Go言語でBot開発やってみた
(20)
Golang入門
Golang入門
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会2
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会2
Go言語ってどんな言語? 導入実績や気になるトレンド
Go言語ってどんな言語? 導入実績や気になるトレンド
OSSで楽に作るGo言語クライアントツール
OSSで楽に作るGo言語クライアントツール
Goとtest coverage
Goとtest coverage
社内勉強会1 go lang
社内勉強会1 go lang
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会
Shizuoka go lang csp
Shizuoka go lang csp
What is "Go" Gopher?
What is "Go" Gopher?
今日から始めるGopher - スタートGo #0 @GDG名古屋
今日から始めるGopher - スタートGo #0 @GDG名古屋
粗探しをしてGoのコントリビューターになる方法
粗探しをしてGoのコントリビューターになる方法
Goでかんたんソースコードの静的解析
Goでかんたんソースコードの静的解析
2019-01_正月三が日でGolangを触ってみた
2019-01_正月三が日でGolangを触ってみた
20130824 Lightweight Language "Go" @LL matsuri
20130824 Lightweight Language "Go" @LL matsuri
GoでMinecraftっぽいの作る
GoでMinecraftっぽいの作る
オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選
Language toolを使ってみる
Language toolを使ってみる
SIG-Glocalization #13「アプリの海外展開、どうしていますか?」講演スライド
SIG-Glocalization #13「アプリの海外展開、どうしていますか?」講演スライド
20130316 プログラミング言語Go
20130316 プログラミング言語Go
Go一緒にいかが?
Go一緒にいかが?
More from Akihiko Horiuchi
オープンソースBotフレームワークではじめるChatOps
オープンソースBotフレームワークではじめるChatOps
Akihiko Horiuchi
Sensuで始めるクラウド時代のシステム監視
Sensuで始めるクラウド時代のシステム監視
Akihiko Horiuchi
Ansibleで一発!! VPSにDokkuを構築してみた
Ansibleで一発!! VPSにDokkuを構築してみた
Akihiko Horiuchi
InfluxDataのTICK Stack on DockerでNW監視
InfluxDataのTICK Stack on DockerでNW監視
Akihiko Horiuchi
ポスト・フラットデザイン 〜フラットデザイン2.0とCSSフレームワーク〜
ポスト・フラットデザイン 〜フラットデザイン2.0とCSSフレームワーク〜
Akihiko Horiuchi
勉強会への一歩を踏み出すために
勉強会への一歩を踏み出すために
Akihiko Horiuchi
Sensuでネットワーク監視やってみた
Sensuでネットワーク監視やってみた
Akihiko Horiuchi
学生がJANOGに行くべき3つの理由
学生がJANOGに行くべき3つの理由
Akihiko Horiuchi
HubotとChatOpsについて語るBoF
HubotとChatOpsについて語るBoF
Akihiko Horiuchi
Sensu Introduction
Sensu Introduction
Akihiko Horiuchi
Sensu with golang
Sensu with golang
Akihiko Horiuchi
サーバ監視ことはじめ
サーバ監視ことはじめ
Akihiko Horiuchi
SKK
SKK
Akihiko Horiuchi
Self Introduction
Self Introduction
Akihiko Horiuchi
エディタじゃない"Emacsの使い方
エディタじゃない"Emacsの使い方
Akihiko Horiuchi
LET'S PRESENTATION!
LET'S PRESENTATION!
Akihiko Horiuchi
自己紹介などなど
自己紹介などなど
Akihiko Horiuchi
More from Akihiko Horiuchi
(17)
オープンソースBotフレームワークではじめるChatOps
オープンソースBotフレームワークではじめるChatOps
Sensuで始めるクラウド時代のシステム監視
Sensuで始めるクラウド時代のシステム監視
Ansibleで一発!! VPSにDokkuを構築してみた
Ansibleで一発!! VPSにDokkuを構築してみた
InfluxDataのTICK Stack on DockerでNW監視
InfluxDataのTICK Stack on DockerでNW監視
ポスト・フラットデザイン 〜フラットデザイン2.0とCSSフレームワーク〜
ポスト・フラットデザイン 〜フラットデザイン2.0とCSSフレームワーク〜
勉強会への一歩を踏み出すために
勉強会への一歩を踏み出すために
Sensuでネットワーク監視やってみた
Sensuでネットワーク監視やってみた
学生がJANOGに行くべき3つの理由
学生がJANOGに行くべき3つの理由
HubotとChatOpsについて語るBoF
HubotとChatOpsについて語るBoF
Sensu Introduction
Sensu Introduction
Sensu with golang
Sensu with golang
サーバ監視ことはじめ
サーバ監視ことはじめ
SKK
SKK
Self Introduction
Self Introduction
エディタじゃない"Emacsの使い方
エディタじゃない"Emacsの使い方
LET'S PRESENTATION!
LET'S PRESENTATION!
自己紹介などなど
自己紹介などなど
Recently uploaded
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Recently uploaded
(10)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Go言語でBot開発やってみた
1.
堀内 晨彦 @hico_horiuchi Go言語で Bot開発やってみた
2.
自己紹介 Akihiko Horiuchi 香川大学 修士2年 bit.ly/hiconyan 研究室のインフラと掃除担当 Emacs
/ Ruby / Rails / Golang Hubot / Sensu / Ansible 15/08/22 2
3.
15/08/22 3 Go言語とは? 1 /
3
4.
Go言語の概要 ● Go言語の概要 ○ 2009年にGoogleによって開発スタート ○
シンプルな言語仕様,低い学習コスト ○ HTTPやJSONのなどの豊富な標準パケージ ○ 高速な動作,クロスコンパイルのサポート ○ goroutine と channel による並列処理 ● 開発者 ○ Ken Thompson(C言語) ○ Rob Pike(UTF-8) ○ Brad Fitzpatrick(memcached) 15/08/22 4
5.
Go言語で嬉しいこと ● 常に綺麗なコード ○ 標準のコーディング規約が定義 ○
go fmt で自動的に整形,エディタの保存時に実行 ○ 未使用の変数があるとコンパイルエラー ● 高速な動作、楽なデプロイ ○ C言語並みの実行速度,バックエンドでの採用 ○ バイナリ1つでデプロイ,すぐに動作可能 15/08/22 5 $ go build hoge.go # command-line-arguments ./hoge.go:4: hoge declared and not used
6.
hello world 15/08/22 6 package
main // パッケージの宣言 import "fmt" // インポート func main() { var message string = "hello world" // 変数の宣言 fmt.Println(message) // 標準出力 } $ go run hello.go hello world $ go build hello.go $ ./hello hello world
7.
15/08/22 7 Botフレームワーク 2 /
3
8.
Go言語のBotフレームワーク ● Botフレームワーク ○ プラグインで機能を拡張できるもの ○
アダプタ,ストア(ブレイン)があればBetter ● GitHubで探してみた ○ danryan/hal :アダプタとストアあり,機能も充実 ○ brettbuddin/victor:アダプタとストアあり,活発に開発中 ○ groob/radigast :Slack限定,victorベース ○ kyokomi/slackbot :Slack限定,グノシーの方が開発 15/08/22 8
9.
halとvictorの比較 15/08/22 9 hal victor ★
150 113 アダプタ Shell,IRC HipChat,Slack(WebHook) Shell,Campfire HipChat,Slack(RealTime) ストア Memory,Redis Memory,BoltDB ヘルプ × ⃝(FogCreek) HTTP ⃝ × Hear ⃝ × Reply ⃝ ⃝(FogCreek)
10.
halとvictorの書き比べ ● Botの要件 ○ docomoの雑談対話APIを使ってお喋り github.com/kyokomi/go-docomo
を利用 ○ /say にPOSTしたBodyを通知 ○ アダプタはShell,ストアはなし 15/08/22 10
11.
dialogueHandler() 15/08/22 11 func dialogueHandler(res
*hal.Response) error { // インスタンス生成 d := docomo.NewClient(os.Getenv("DOCOMO_DIALOGUE_API_KEY")) // ユーザーの発話を設定 dialogue := docomo.DialogueRequest{ Utt: &res.Match[1], // hal Utt: &s.Params()[0], // victor } // docomo 雑談対話APIを呼出 get, _ := d.Dialogue.Get(dialogue, true) return res.Reply(get.Utt) // hal s.Chat().Send(s.Message().ChannelID(), get.Utt) // victor }
12.
sayHandler() 15/08/22 12 func sayHandler(w
http.ResponseWriter, r *http.Request) { defer r.Body.Close() body, _ := ioutil.ReadAll(r.Body) robot.Adapter.Send(nil, string(body)) // hal bot.Chat().Send("0", string(body)) // victor }
13.
danryan/hal 15/08/22 13 var robot
*hal.Robot func main() { robot, _ = hal.NewRobot() // インスタンス生成 // ハンドラー登録 robot.Handle(hal.Respond(`(.+)`, dialogueHandler)) hal.Router.HandleFunc("/say", sayHandler) robot.Run() // hal実行 }
14.
brettbuddin/victor 15/08/22 14 var bot
victor.Robot func main() { // インスタンス生成 bot = victor.New(victor.Config{ Name: "victor", ChatAdapter: "shell", }) dialogueHandler(bot) // ハンドラー登録 go bot.Run() // victor実行 http.HandleFunc("/say", sayHandler) // パス登録 http.ListenAndServe(":9000", nil) // HTTP待受 }
15.
15/08/22 15 デモ 3 /
3
16.
デモンスレーション github.com/hico-horiuchi/gobot Sample of chat
bot by golang 15/08/22 16
Download now