这层楼都是湖南人么??
必须要顶一下,有机会去长沙和大家学习。
#8 楼 @loveky .DS_Store 是 mac 自动产生的。网址是没有任何东西的,需要 post 请求,具体你看微信的开发文档就明白了,http://mp.weixin.qq.com/wiki/index.php?title=%E6%B6%88%E6%81%AF%E6%8E%A5%E5%8F%A3%E6%8C%87%E5%8D%97。实际这个机器人我也没有写什么。之前写个一些判断,比如你和它说你好,它回复你一些相关的话题。
这类话题我非常有兴趣。
我今年从公司从业务部门在次被调回技术部门。
现在的问题是
其他的小问题,暂时一下整理不出来,反正问题棘手。要改革操起刀来会很大。
我写完以后挺不负责的。也没搞什么文档。
#5 楼 @loveky 现在是个 gem https://rubygems.org/gems/sinatra-weixin-robot
https://github.com/kennx/weixin_robot/blob/master/lib/sinatra/weixin-robot.rb
简单的演示: https://github.com/kennx/yaoyaohuahuapangpang
纯新手作业,有问题多提,有砖就砸,不用客气。自己一个人学挺苦逼的,也没人告诉我那里做的不对。哪里又做的对。
require 'sinatra/base'
require 'sinatra/weixin-robot'
class App < Sinatra::Base
register Sinatra::WeiXinRobot
configure do
enable :logging
set :weixin_token, "yourtoken" # 微信的token
set :weixin_uri, "http://yaoyaohuahuapangpang.cloudfoundry.com/" # 你机器人的地址 https://github.com/kennx/weixin_robot/blob/master/lib/sinatra/weixin-robot.rb#L182
end
get "#{settings.weixin_path}" do # 用URI这个东西获取到weixin_uri的path
"#{params[:echostr}" # 用来通过微信第一次的验证
end
post "#{settings.weixin_path}" do
if generate_signature == params[:signature]
receiver = message_receiver(request.body) # 得到用户向机器人发送的信息. receiver.content 可以得到具体内容。
xml = receiver.sender do |r|
r.msg_type = "text" #指定发送的信息类型.
r.content = "你好。我是机器人。"
r.complete! # 最后返回Reply这个对象,用来转换xml
end
xml.to_xml # 创建返回xml,结束。
end
end
end
还有一些其他的方法,假设给用户发送新闻
post "#{settings.weixin_path}" do
if generate_signature == params[:signature]
receiver = message_receiver(request.body)
receiver.sender(:msg_type => "news") do |r|
@model.each do |model|
r.articles = {
:title => model.title,
:description => model.description
: pic_url => model.pic_url,
:url => "http://www.xxx.com/news/#{model.id}"
}
r.complete!
r.to_xml
end
end
end
end
还有音乐这些。。具体看微信的开发文档和我的源代码 https://github.com/kennx/weixin_robot/blob/master/lib/sinatra/weixin-robot.rb#L136
yun.baidu.ccom www.box.net
简单,问题少的话,应该可以买给父母用。
自己玩的话,肯定是去折腾 Raspberry PI。
巴萨无疑。
ps -ef | grep thin
kill -9 7692 # 进程号
希望下次 rubyconf 他也能来。哈哈哈。
这东西用什么品牌的靠谱呀
从自己感兴趣的 gem 开始。。ruby-toolbox.com 找 gem 很不错。
不如直接来点干货吧。楼主。嘿嘿。
我刚刚用 gets = <<'EOF' EOF
把 sinatra 的 main.rb 全部打印了。 https://github.com/sinatra/sinatra/blob/master/lib/sinatra/base.rb
gets.size
=> 62519
还有一个和 rvm 差不多的东西rbenv
我自己也觉得 ubuntu 要好配一点,mac 下有个 xcode,这玩意无力吐槽了。折腾新手的。
我不一定有空。我有空的话还是会看看 Ruby 相关的东西。
项目建好了发出来呀。直接加 Github 呀。
谁有兴趣搞 railscasts 么。没性用卡真难过。