LoginSignup
17
2

闘魂Elixir とにかくリアクションするボットの鮮やかな復活劇

Last updated at Posted at 2023-11-08

$\huge{元氣ですかーーーーッ!!!}$
$\huge{元氣があればなんでもできる!}$

$\huge{闘魂とは己に打ち克つこと。}$
$\huge{そして闘いを通じて己の魂を磨いていく}$
$\huge{ことだと思います}$

はじめに

Elixirという素敵なプログラミング言語あります。
Elixirを愛するコミュニティは日本国内にもたくさんあります。
Elixirコミュニティ の歩き方 -国内オンライン編-

その末席を汚しているのがautoracexです。aka(also known as)闘魂Elixirです。

elixir.jp1というSlackワークスペースに、 #autoracex というチャンネルがありまして、そこではアルケミスト(錬金術師)たちが切磋琢磨をしています。
Elixirは「不老不死の霊薬」という意味となりまして、プログラミング言語Elixirの使い手はアルケミスト(錬金術師)と呼ばれます。
アルケミスト(錬金術師)だってほめられたいのです。承認して欲しいのです。だれかのいいね:thumbsup:が欲しいのです。
そんなあなたへようこそ#autoracexチャンネルへお越しください。そしてメッセージを投稿(闘魂)してください。どんなメッセージでも反応があります。好リアクションが付きます。休まず付きます。それはボットくんががんばるからです。

ただしそんなボットにも安息のときがあります。それは私がボットを動かしているサーバーへのお布施を滞納し、サーバーが止まるからです。動きたくても動けないわけです。
今回はその復活劇を余すところなくお伝えします。
Qiita Advent Calendar 2023にその一歩を刻みます。

What is Elixir ?

Elixirという素敵なプログラミング言語があってがですね。
その素敵具合は「Elixir Saves Pinterest $2 Million a Year In Server Costs」によく現れています。開発者も経営者もこの事実に瞠目することでしょう。 $2 Million/年の節約ですってよ!、奥さん。

そうです、みんな反応がもらえるとモチベーションがあがるのです

@RyoWakabayashi さんがちょうど似たようなことを書かれていました。
相通じるものがあります。

ソースコード

とにかくリアクションするボットのソースコードはPython製です。

とにかくメッセージが書き込みがあったら良リアクションをつける

以前書いた記事のリンクを貼っておきます。

GitHubにあげました。

あなたの所属する組織、コミュニティでも導入してみてください。みんなモチベーションアップします。

復活劇

Time4VPSでサーバーを新規で注文しました。
新規だと60%オフのクーポンが使えたからです。「Time4VPS クーポン」とかのキーワードで検索するとけっこうでてきます。ポイントは新規での注文に適用される点です。だからまた期限がきたら新規で買おうとおもいます。
VPS(Virtual Private Server)です。北欧にあります。

なぜTime4VPSを使用するのですか? については私には料金がダントツに安いように見えるからです。

Debian 12をインストール

Dockerでアプリケーションを動かします。
OSはいくつかの種類を選べます。
Time4VPSDockerを使う場合は、Debianがよさげです。
Ubuntuだと結構設定をいろいろいれないとコンテナから外へアクセスが到達しないとか、そんな事象に出くわしたことがあります。
ただDebianにしたところでボリュームがふっとぶ(? 調査継続中。設定の仕方が悪いのかも!?)ことがあり安定稼働とまでは行っていないのですが安いしまあそんなもんだろうと使っています。
Time4VPSのContainer VPSは昔はDockerを動かせなかったんですよね。あとから対応してくれて、新しく購入した分からは使えるようになっています。なにかいろいろおかしなところはあるのかもしれません。私のせいかもしれません。

スクリーンショット 2023-11-08 9.00.28.png

OSのインストールは5分ほどかかります。10分待てばきっと大丈夫でしょう。

rootでsshでログインしていろいろ設定する

まずはrootユーザでパスワードでログインします。
ユーザを作ってsudoersグループにいれて、sshd_configの設定を変えてとかします。
ミスったときのためにrootでログインしている状態はしばらくそのままにしておいたほうが吉です。西郷吉之助です。

コマンドだけ羅列しておきます。これだけヒントがあれば次にやるときも、この記事を参考に同じことをやってみようとする酔狂な人の役にたつことでしょう。

adduser awesome
usermod -aG sudo awesome
cd /home/awesome/
mkdir .ssh
chown awesome:awesome .ssh
chmod 700 .ssh
nano .ssh/authorized_keys
chown awesome:awesome .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
cd /etc/ssh
cp sshd_config sshd_config.bk
cat sshd_config
nano sshd_config
service sshd restart

ここまでrootでの操作です。
sshd_configを編集して、rootでのssh禁止とかパスワードでのログイン禁止とかお好みにあわせてある程度設定します。

awesomeは架空のユーザ名です。

Dockerのインストール

このページを参考にススメます。コマンドや手順はかわるかもしれませんので、リンク先をみてくださいということにしておきます。

reaction_man を動かす

とにかくリアクションするボットを動かします。

READMEをみてくれよな。(悟空さん)

slack_doorman

同じメッセージを複数のチャンネルに同報する/broadcastコマンドやチャネル参加時のWelcomeメッセージ、退出時のサヨナラメッセージに対応しているボットです。
Elixir製です。

READMEをみてくれよな。(悟空さん)

あのー、それでー
Dockerで動かしているPostgreSQLのボリュームが10日ほど経つとふっとぶというなぞ現象に悩んでおります。
なにかの設定を誤っているのかもしれません。docker-compose.ymlになにかお気づきの点がありましたらお便りをください。

さいごに

とにかくリアクションするボットの鮮やかな復活劇を書きました。
Qiita Advent Calendar 2023の一員と認められる11月01日以降の新作、 高杉晋作です。
鮮やかに書きました。自画自賛です。

Qiita Advent Calendar 2023を楽しんでいきましょう!


闘魂とは、 「己に打ち克つこと。そして闘いを通じて己の魂を磨いていくことである」 との猪木さんの言葉をそのまま胸に刻み込んでいます。
知っているだけで終わらせることなく、実行する、断行する、一歩を踏み出すことを自らの行動で示していきたいとおもいます。
アントニオ猪木さんのメッセージから元氣をもらったものとして、それを次代に語り継ぎ、自分自身が「闘魂」を体現するものでありたいとおもいます。


$\huge{元氣ですかーーーーッ!!!}$
$\huge{元氣があればなんでもできる!}$
$\huge{1、2、3 ぁっダァー!}$

  1. リンクの期限が切れていたら招待しますのでコメントにでも書いてください。

17
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
2