2012-03-07 5 views
0

悪いタイトルですが、それを説明する方法はわかりません。ruby​​ - cinch irc bot - 単語の後ろのすべて

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チャンネルの誰かが、このたびん:この.addfact

<がrandom_irc_user >は事実です。しかし、それは...、とスマイリー=)のドットが含まれて:)

ここで少しボットつもり書式設定

これは別の事実ですが、その上で、テキストファイルに追加しています他のラインとそれ以前追加されました=)〜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、ファクト| open( 'facts.txt'、 'a'){| f | f.print "\ n〜#{m.user.nick}" } m.reply "Fact added!" end – qwerty1911

+0

私の正確な例を使用しましたか? 'fact'変数にはファイルに追加する文字列が入ります。だからあなたは先に進み、そのコードを追加することができます。どの部分を理解していないのですか? –

+0

#..ファクト文字列を追加します。実際の事実をどのようにしてtxtに入れるのかはわかりません – qwerty1911

関連する問題