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