No'jReplyKotz’i’jの返信機能も修正したことだし、このツイッターボットの紹介動画を作成した。フォロワー数が増えてくれば、それだけ問題点等も見つかりボットの改善がしやすくなるし。そんなに時間もかけられないので素人感満載の動画だけど、まぁボットがどんなものかは分かるかな。No'jReplyTwitterbotをHerokuからXserver上に移してCronで定期的に実行する様にしてから不具合のあったreplies.rb。問題点は直ぐに見つかったけど、その後Cronから実行するとこんなエラーが。(ArgumentError)で該当のコードがこちら。b]endend要はこのボキャブラリー・リストがアクセントやñを含む文字を含んでいるから文字化けが起こったのだと思う。|f|とすると正しい文字コードが使われて実行出来るようになった。No'jReply番外編も6まで来てしまった。Botなので定期的且つ自動的に実行される必要がある。Herokuにデプロイしたのはそのためだったのに、思った通りに行かなかったのでXserverを活用することとした訳だし。こちらはSSH上でも出来るけどウェブページから。サーバーパネルからCron設定を選択。入力して実行を試みる。kotzij/TwitterBot/tweets.rb:2というエラーが出てしまった。SSH上では実行出来ているのでgemが無いということはない。検索したけど解決策が見当たらない。そもそもレンタルサーバー上でgemをrequireするRubyプログラム実行例が全く無い様な気がする。試行錯誤の上思いついたのが.bashrcに記載したパスをCronでプログラムを実行する際に読み込めないかということ。kotzij/TwitterBot/tweets.rbこういう風に入力してみた。するとgemは見つかるけど今度はdicitionariesフォルダ下にあるワード・リストが見当たらないということに。試行錯誤した結果カレント・ディレクトリがrootになっていることが問題かなと思いこちらも設定することとした。tweets.rbこうした。これでしっかりと実行出来る様になった。これで好きな様にボットを管理出来る様になった。No'jReplyRubyもGemもインストール出来たところで実際にプログラムを実行してみる。in"一行目で利用するRubyを明示する。以前書いた通り、Xserverには異なるバージョンのRubyがインストールされているため。2行目はブラウザからプログラムを実行する時に必要。今回は特に必要はない。因みにブラウザからプログラムを実行する時はパーミッションを705に変更する必要がある。それから.htaccessをプログラムと同じディレクトリに置く必要あり。.rbこれは最低限でプログラムによっては記述すべき内容が増える。ディレクトリを移動してプログラムを実行してみる。inちゃんと実行出来た。(私の名前はKotz’i’jです)。”Al”でKotz’i’jが女性と判る。次にgemを含むtweetsプログラムが実行出来るか試してみる。tweets.rb問題なく実行出来た。後はXserverのCronを使って定期的にツイートさせることが出来れば目標達成。No'jReply次はRubyGemsのインストール。~/kotzij/srcそれからRubyGemsをダウンロード。Botを作成した当時のバージョンをインストールする。rubygems-2.6.13インストール。setup.rbの予定だったけどエラーが出た。2.3.3ではなくデフォルトの1.8.5を使っているからこうなってしまう。setup.rbインストール出来たかの確認。-v2.6.13Heroku用に作ったGemfileを作成しているのでbundlerだけインストールして他のgemはbundler経由でインストールする。各gemのバージョン管理もその方が楽。いうことでまずはbundlerのインストール。foundとなってしまう。DIRECTORYにパスを通すとbundleが使える様になった。initと叩くとGemfileが作成される。これに使用したいgemを記述する。'2.1.5'だったので今回も同じ様に。Gemfileに記述したgemをbundle経由でインストール。installインストール出来たか確認してみる。list記述したgemがリストに載っていればOK。