Twitter

「Winキー+R→tweet 内容」でツイートできるPerlスクリプト群

Posted on Updated on

qfolrovr

今回は、TweetするPerlスクリプトをちょっと改良して、ツイートしてくれるだけのしょっぱい機能をつくってみた。

 

かなりこちらのページのものを参考にしました。

Perl製Twitter BotにOAuth認証で投稿させる/楽:技林ブログ

導入

こちらのページのようにNet:Twitter:Liteを導入する。Windows環境の場合は

ppm install Net::Twitter::Lite

こちらのほうが簡単みたい。

次に、先ほどのページのポイント2と同様にhttp://dev.twitter.com/こちらのページにアクセスし、Consumer_key, Consumer_secret, ACCESS_TOKEN, ACCESS_TOKEN_SECRETを取得。このとき、ACCESS TOKENの設定においてRead and writeの権限をきちんと選択しておくこと。

以下Perlファイル(.pl)(参考:Perl製Twitter BotにOAuth認証で投稿させる

#!/usr/bin/perl

use strict;
use warnings;
use utf8;
use Encode;

use Net::Twitter::Lite;

my $defa;

 

if(!defined($ARGV[0])) {
    print "No Status Message\n";
    exit 1;
}

foreach(@ARGV) {
    if(!defined($defa)) {$defa=$_;}
    else {$defa.=" $_";}
}

# http://dev.twitter.com/apps/XXXXXX で取得できるやつ

my %CONSUMER_TOKENS = (
    consumer_key    => ‘—consumer_key—‘,
    consumer_secret => ‘—consumer_secret—‘,
);

# http://dev.twitter.com/apps/XXXXXX/my_token で取得できるやつ
my $ACCESS_TOKEN        = ‘—access_token—‘;
my $ACCESS_TOKEN_SECRET = ‘—access_token_secret—‘;

# constructs a "Net::Twitter::Lite" object
my $t = Net::Twitter::Lite->new(%CONSUMER_TOKENS);

# トークンをセットする
$t->access_token($ACCESS_TOKEN);
$t->access_token_secret($ACCESS_TOKEN_SECRET);

#$encoder->decode($defa);
#$encoder->encode($defa);

# 投稿
$t->update({ status => decode ‘sjis’, $defa });

また、実際にこれを実行する場合にはActive PerlCygwinのパッケージなどに同梱されてあるPerl.exeと、このスクリプト自体のパスが通っていなければなりません。

パスの設定を汚くするのは個人的に好きではなかったので、別途バッチファイルを作ってパスを手動で通した後に上記スクリプトを実行するようにしました。以下はその一例です。

以下Batchファイル(.cmd)

ただし、
Perl.exeのあるフォルダがC:\Perl64\bin,
上記PerlファイルがC:\Software\upd_tweet.pl

@echo off

set path=%path%;C:\Perl64\bin

perl C:\Software\upd_tweet.pl %*

これをWindowsフォルダ等にtweet.cmdなどのファイル名で置くとこの機能が利用できるようになります。

 

使用例:

tweet ハラショーテスト

結果→ハラショーテスト

注意:tweetの次には半角スペースにしてください。

泣いている顔文字の涙に関する謎

Posted on Updated on

 

0mumtsf2

悲しすぎる(°̥̥̥ω°̥̥̥)

 

これが、最近つぶやいた記事。下に涙がだらだら流れている様子が見える。これをはじめてみたとき、はぁ・・?って思った。この長さ、謎だろw

っていうことで、調べてみた。

結果としては、次のとおりだった。

とりあえず、テキストエディタで保存し、バイナリエディタで開くと、このコードは16進数で「CCA5」というものだった。そして、Twitterのサイト自体や、対応しているページは文字コードにutf-8というものを使っている。そしてコード表を調べていたとき、次のページが出てきた。

UTF-8コード表(1)

CCA0系の部分にいろいろ下にちょこっと載っているものがあったりしているが、これはとりあえず適当にコピーして書いてみる。

A̡ A̠̠

image

ぉ、これは数学でよく見るハットだったりなにやらでないかw

要は、この手の文字は、文字に何か付加させるような意味合いを持つものらしい。そうすることで、いろいろ付加した文字が更に作ることができるようになる、という寸法だったようだ。そして、今回の場合はそれが何回も同じ所についていたため、その付加が何重にもわたって行われ、先のようになったのだろう。

 

調べて分かったが、将棋やら、麻雀のコードもあるようだ。