Category Archives: BOTのこと

時報は大丈夫。だけど・・・

とりあえず、自宅鯖で時報BOTを動かして様子を見ているわけですが・・・。
いつぞやかに、DBを使ってランダムな文面をポストさせるコードを時報BOTのスクリプトに組み込んだことがあります。
私のスクリプトは、午前2時でプログラムを終了し、午前5時にcronでプログラムを起動させる・・というサイクルで動いています。

時報だけだとこのサイクルが上手くいくんです。
ところが、これにDBを用いたランダムポストのコードを組み込むとなぜかサイクルが上手くいかないんです。
20分ごとにポスト + 時報なので、350回もあるAPIを使い切るなんてことは考えづらいです。
なんどか、試したものの、結果は同じでした。
現在は、どうしたらこれを解決できるのか考えているところです。

cronで定期実行させるのが確実なんでしょうけど、どうせなら一つのスクリプトにまとめてしまいたい。
解決方法がほかにない場合の最終手段として考えています。
これが実装できれば、ひとまずBOTとして最低限の機能が揃います。
先は長そうです・・・。

また凍結

ここ最近、私事で忙しかったため、しばらくBOTをいじれていませんでした。

そんなわけで、暇な時間を使ってBOTのテストをしていたら、なぜかポストが上手くいきませんでした。
コードは間違っていなかったのでこれはおかしいと思い、何度かデバッグを行うとサスペンドされているとエラーが出てきました。
そんな馬鹿なとbotアカウントの連携ページを見てみると、”凍結”の文字が・・・。
凍結されることをした覚えはありませんが、運営側から見て凍結せざるを得ないことをしていたのでしょう。
というわけで、見事にアプリが凍結されていてテストが出来なかったというわけです。
やれやれ・・これはいつぞやの時も遭遇した覚えがあります。原因は未だ不明のままです。
アプリを削除しようにも、消えてくれないので、名前を変えて新たに作るしかなさそうです。

BOTに着手

最近、クライアント作成とBOT作成とゲームプレイとその他色々を行き来してるサツキです。
さつきったープロジェクトに限って言えば、BOT作成とクライアント作成を平行してやっている状態でです。
いつぞやかの記事で、BOTはしばらく着手しない的なことを言いましたが、最近また自鯖を立てたのでテストを兼ねて時報BOTを作ろうと思い、それを実行しました。
んで、それで火が付いたのか、再びBOT作成に着手し始めたというわけです。

今まで散々やってきたrubyでのBOT作成・・・1年前は数々の苦難に立ち向かいながら作成した来たわけですが、ここ最近はあっさりと作れてしまいます。
それ故、時報BOT程度ならものの数分で完成します。
開発が楽になったのも、BOT作成に着手した理由でもあります。
read more »

問題解決・・だけど・・

Incorrect(ryとの戦いは一先ず終了。
原因は、UTF-8コードでポストしようとしていたからでした。
一瞬見ると「?」となるような問題ですが、説明すると・・。

まず私は、スクリプトをSHIFT-JISで保存し、Twitterへ投稿する際はUTF-8にして投稿するようにコーディングしました。
ところが、@つきポストや一部のポスト内容だとIncorrect(ryを吐いてしまう問題が発生しました。
んで、試しにUTF-8でスクリプトを保存し、文字コード無変換でポストをしてみたら、あっさりとポストできました。
ということで、文字コード変換のところで躓いていたのであった・・・と。

なぜUTF-8でポストするのかというと、Twitterで使われている文字コードがUTF-8だからです。
TwitterAPI仕様書にもポストするときはUTF-8にコードを変換してポストするよう書いてありました。
なので、それに乗っ取ってコーディングをしたというわけです。
とりあえず、問題が解決したので、このまままたテストを継続してみようと思います。
その間に、リプライやタイムラインの発言に反応させる方法を見つけなければ・・。

解決しない問題との奮闘

前回の記事でも言ってるとおり、RubytterがRuby1.9で動かない問題と奮闘しているわけですが・・。
どうやら、gemでインストールできるjsonライブラリに問題があるらしい。
Rubytterで使っているjsonライブラリがRuby1.9で動かないらしい。
Rubytter自体は1.9でも、問題なく動きます。
その証拠に、jsonがエラーを吐いたのにもかかわらず、Twitterにポストが出来ていることが確認できました。

うむぅ・・このままだと精神が持たないかもしれませんね。
よく考えれば、Pythonとかやったことないくせに、いきなりRubyやるなんてハードル高かったかなぁとか思えてきました。
独学するにも、BOTが作れる程度の知識だけ身につけばいいので、深く学習することなんて考えていません。
かといって、詳しく学ばないと、Rubyの仕組みがわからず、コーディングで詰まってしまいます。
しばらく奮闘して、だめなら、開発言語をPHPに変えることも検討しています。
あっちの方が情報豊富だし、すぐに作れそうですしね。
奮闘はまだまだ続く・・・。