推薦ではなく、思いもよらない料理を見る事で発想を豊かにしたかったのでhubot scriptを作った。
https://www.npmjs.org/package/hubot-gohan
npmでインストールして、「hubot ごはん」で実行する。
wikipediaのCategory:料理から2つ下までたどると、色々な料理が見つかる。その中からランダムに返すようになっている。
wikipediaなので作り方とか素材・調味料などのリンクも辿っていけて面白い。
普通に暮らしてると知らないようなアフリカの炊き込みご飯とか、ギリシャの焼き鳥みたいなのとか出てくる。
たまに調理器具とか調理学校を食えとか言われるけどそれはそれで面白いのでいいと思う
あとまあ、チャットで使えるので、食生活豊かな都内の会社の人とかは今日の晩飯どうするとかこれで決めればいいのではないか
8月15日に26歳になったので、新しい自分を探すためにtwitterのプロフィールを自動的に更新するようにした
ソースコードは全部githubに置いた
ランダムに適当な紹介文を取ってくる
wikipedia.rb
# -*- coding: utf-8 -*-
require 'rubygems'
require 'open-uri'
require 'uri'
require 'nokogiri'
require 'kconv'
require 'net/http'class Wikipedia
def initialize(agent_name)
@agent_name = agent_name
enddef random
get('特別:おまかせ表示')
end
def get(name)
doc = Nokogiri::HTML open(URI.encode("http://ja.wikipedia.org/wiki/#{name}"), 'User-Agent' => @agent_name).read.toutf8
title = doc.xpath('//title').first.text
name = doc.xpath('//h1').first.text
descriptions = doc.xpath('//div[@id="bodyContent"]//p').map{|i|i.text}
{
:title => title,
:name => name,
:descriptions => descriptions
}
endend
このスクリプトをcronで定期的に実行して更新してる
change-profile.rb
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
require 'rubygems'
require 'twitter'
require 'yaml'
require File.dirname(__FILE__)+'/lib/wikipedia'
$KCODE = 'u'begin
conf = YAML::load open(File.dirname(__FILE__) + '/config.yaml')
rescue
STDERR.puts 'config.yaml load error'
exit 1
endtw = Twitter::Base.new(Twitter::HTTPAuth.new(conf['name'], conf['pass']))
w = Wikipedia.new('shokai')
desc = nil
5.times do
data = w.random
desc = data[:descriptions].first
desc.gsub!(/\[\d+\]/, '')
tmp = desc.split(/(と?は)/)
left = tmp.shift
while left =~ /([^)]+$/ do
tmp.shift
left = tmp.shift
end
desc = "#{conf['your_name']}#{tmp.join('')}".toutf8
puts '-'*10
print data[:name] + ' => '
puts desc
break if desc != conf['your_name']
end
exit if desc == nil or desc == conf['your_name']tw.update_profile({'description' => desc})