2012-03-07 63 views
0

坏冠军之后的一切,但我不知道如何来形容它。红宝石 - 不在话下IRC机器人 - 一个字

on :message, "\.addfact" do |m| 
    open('facts.txt', 'a') { |f| 
    f.print "\n *XXXXXX* ~ #{m.user.nick}" 
    } 
    m.reply "Fact added, #{m.user.nick}" 
end 

基本上,只要有人在IRC通道机器人是在执行此操作:

<random_irc_user> .addfact这是一个事实。但它包含的点...,和笑脸=):)

这里的小机器人是要去把它添加到一个文本文件中,格式

这又是一个事实,但其上的其他线路并刚才添加=)〜Cool_guy

这是一个事实,它包括了点......,和笑脸=):)〜random_irc_user

我已经得到了新的生产线,并且“ random_irc_user“部分工作, 但我不知道如何去做实际的事实。我猜想或类似的论点,但我不确定他们。

回答

3

使用正则表达式,你的命令后,捕捉一切:

on :message, /^\.addfact (.+)/ do |m, fact| 
    File.open('facts.txt', 'a') { |f| f.puts "#{fact} ~ #{m.user.nick}" } 
    m.reply "Fact added!" 
end 
+0

对不起,我真的不明白......这就是我试图做 :消息,/^\.addfact(+ )/ do | m,fact | open('facts.txt','a'){| f | f.print “\ n〜#{} m.user.nick” } m.reply “事实说!” 结束 – qwerty1911 2012-03-08 14:31:54

+0

你用我的确切例子? “事实”变量将包含要添加到文件中的字符串。所以你可以继续添加代码。你不明白哪部分? – 2012-03-08 14:32:52

+0

#..添加事实字符串。和林不知道我也会如何获得实际的事实为TXT – qwerty1911 2012-03-08 14:33:32