現在のユーザーリストをアトムに保持するCampfireのチャットボットに取り組んでいます(defonce users (atom {}))
。
私はもともとその単純さのためにこの参照型を選びました、そしてそれは今までうまく機能しました、しかしそれは変更される必要があるかもしれません。
CampfireはイベントをストリーミングAPIに送信
EnterMessage
します。LeaveMessage
私のボットは、Campfire APIから現在のユーザーリストを取得し、新しいリストでアトムを呼び出すことreset!
で、これらに反応します。users
users
これらの同じEnter/Leaveイベントは、アトムからランダムなユーザーを選択して質問するなど、ランダムな相互作用をトリガーします。
問題
上記の2番目の例では、users
アトムがまだ存在していないために、離れたばかりのユーザーに尋ねるか、入ったばかりのユーザーに尋ねることはありません!reset
。を使用する必要があると思いますref
が、これらのドキュメントには、「ライターは通勤者やリーダーをブロックすることはありません」と書かれています。