【GO】ディスコードBOTを作る


GO言語(golang)を使って適当な用途のプログラムを作ってみます。

今回は最近複数言語で書いた覚えのあるディスコードのBOT。

サーバーで動作させるまでやってみます。

ライブラリの追加

ディスコードライブラリはこれを使いました。

go getコマンドでライブラリ追加。

特に何も表示されませんが、GOPATH/pkgに追加されてます。

GOPATHの確認はgo envコマンドで見れます)

実装

サンプルを見つつ適当に書いてみる。

ライブラリのクラス構造が他とちょっと違って少し使いにくい。

発言内容とニックネームを出力しつつ、特定ワードで反応するボットです。

サーバーで動かす

go runでテストしたらgo buildで実行ファイルを作ります。

クロスコンパイル可能なので実行先の環境に合わせた実行ファイルを作成できます。

今回はAWSのUbuntuを対象にリリースしてみます。

ついでにオプション-oで実行ファイル名を指定。

 

サーバーにファイルを送ってsshログイン。

実行権限を付けて動かすと問題なく動作します。

GOをインストールしてなくてもちゃんと動くのはいいですね。

所感

コードはnode.jsなら1/3の行で書けそう。

書き方もPHPの方が大分わかりやすい。

でもバイナリ化が楽(あたりまえだけど)で配布しやすい部分はいい。

CやJavaのバイナリ化で色々問題が起きた記憶もあるので、肥大化した時にどうなるかが気になるところ。

 

そういえばGOはビルドツールに何を使うんだろう。

久々にmakefileを作ることになるのか。


コメントを残す

メールアドレスが公開されることはありません。