なこったー(改)

なこったーとは?

なこったーとは、U_D氏が製作した、日本語プログラミング言語「なでしこ」で、Twitter APIを使用する為のライブラリです。
実際に使用されているプログラムとしては、「Donatter」「AfBlock」「らぼったあ」等があります。 (らぼったあは公式ライブラリを使用)
なお、このライブラリは、DoNaMi Softが公開する「Twitter API認証を要するアプリケーション」に搭載している、「なこったー」と同じです。

なぜ改造版を?

なこったーの最新版は、Twitter API 1.1に対応させただけの、なでしこ同梱のVer 0.43となります。
時代は変わっていき、いつのまにMedia API命令にも対応できていない、古いライブラリになってしまったからです。

主な変更点は?(随時追加)

「Media/upload」で、3MBまでの画像のアップロードに対応

「statuses/update」で、media_idsをつけたツイートに対応

「statuses/retweeters/ids」で、対象ツイートをリツイートしたユーザーを、ユーザーIDの一覧で取得することに対応

新関数の使い方

画像アップ({文字列}STRを)~

ベースの命令 → Media/upload

{文字列}STR→ 画像ファイルのフルパスを打ち込む。pngやjpgに対応してる。3MB以上は扱えないので注意。圧縮・解像度縮小などは、なでしこ標準命令で対応しているはずなので、それでなんとかしてください

例.「MikuCute.png」をツイートする場合

「MikuCute.png」を画像アップ
画像つぶやく({文字列}SECを{文字列}STRと)

ベースの命令 → statuses/update

{文字列}SEC→ Media_idsを代入。画像アップ命令を使った人は、戻り値の中に入っています。わからない人は、ググってください。

{文字列}STR → 投稿する最大140文字までの文字列を代入。

例. Media_idsが「460938773744717825」で、「最近どうよ?」とツイートする場合

「460938773744717825」を「最近どうよ?」と画像つぶやく
ツイートRT者一覧取得({文字列}STRで)

ベースの命令 → statuses/retweeters/ids

{文字列}STR→ tweet_idを代入。わからない人は、ググってください。

例. tweet_id「876758738975195136」をリツイートしたユーザーを取得する場合

「876758738975195136」でツイートRT者一覧取得

規約・ダウンロードリンク

このライブラリにかかる規約は、原作者側の規約 (に私の名前乗っけただけ) のみです。ほぼMITライセンスです。

  • ファイルを自らが作ったかのように偽る行為を一切禁止します。
  • 上記事項さえ守られていれば、誰でもを自由にファイルをダウンロードすることができます。
  • 同様に、上記事項さえ守られていれば、ファイルは自由に書き換えて改造・転用などしても構いません。
  • ファイル利用に関して何らかの被害が生じても、 U D (原作者) や、DoNaMi Soft (改造者) は一切責任をとりません。

DLはこちらから!→nakotter_ver043

このライブラリを使用・改造するときの手引き

全体的な事
  • OpenSSLを入れないと、exeにした際にツイートできなかったりします。必ず同梱しましょう。
    • 何気にそれで初期Donatterは2バージョンぐらいまともに動作しなかったり。黒翼猫氏にそのこと聞いて恥ずかしかった模様
  • 元々の動作速度も考慮しましょう。結構遅いです。
  • 戻り値は必ず拾うこと。あれの中身見ないと、ツイートエラー起こしてたりしても、ユーザーには伝わらなかったりします。
    • なぜなら、なこったーは通信エラーしか判定できないからです。戻り値の自動解析まではしてくれません。
    • 何気に今度はこの機能実装するかあ…
画像アップ({文字列}STRを)~
  • 改造してファイル自体をHTTP POST命令で扱えるようにすれば、ちょっと改造するだけで5MBまで扱えるようになります。僕にはそんな技術はなかった
    • 本音を言うと、テスト運用で5MB以上の命令も書いてみましたが、安定動作しないので削除してます。
    • 5MB以上は分割と別のTwitter APIの命令を叩くことになります。Twitter APIのリファレンス書を参考にしてください。
    • ちなみに、動画アップ命令も5MB以上の命令と同じ要領で書けば、動作します。その場合、動画がTwitterの基準を満たすことを確認してください。
  • たまに失敗することがあります。表示内容が「タイムアウト」の場合は、その時の通信速度を疑ってみてください。
    • また、なでしこ自体の実行速度の遅さもあります。それも考慮に入れてみると、案外解決するかもしれません。