node.js에 bot가 있으며 .tell
함수에 사용해야하는 로직이 무엇인지 궁금합니다. 이 기능의 목적은 오프라인 상태의 사용자에게 메시지를 보내는 것입니다. 따라서 john
이 freenode.net/#foo에서 오프라인 상태 였고 .tell john your mother was great last night
을 입력 한 경우 봇이이 메시지를 저장하고 john
이 채널에 참여할 때마다 표시하도록합니다.내 IRC 로봇의 .tell (알림) 기능에 대한 내 논리가 맞습니까?
john
이 이미 채널에있는 경우 봇에게 즉시 메시지를 표시하고 싶습니다.
정보를 저장하기 위해 데이터베이스로 이미 mongodb
을 사용하고 있습니다. 따라서 모든 메시지를 저장할 수 있습니다. 여기에 지금까지 생각했던 논리는 다음과 같습니다 사용자 A 유형 .tell john your mother was great
후
1, 픽업 패턴 /\.tell ([\w-]+) (.*)/
및 메시지에 대한 변수 (var msg
메시지를 게시 한 사용자를 저장할 리스너 (var from
) ., 사용자의 이름 나는 또한 서버의 채널 이름과 네트워크를 의미하는 글로벌 변수가됩니다 (var to
를) 메세지 수
2 내가 MongoDB를 등의 행을 저장할 수 있습니다. :
to from message network channel delivered time
--------------------------------------------------------------------------------
john meder your mother was great freenode.net #foobar 0 (TS)
last night
3. 설정 봇이 한 네트워크에서 여러 채널에서 살고 감지 할 수 있기 때문에 채널에 가입 사람의 청취자 경우 전달되지 않고있을 경우, 시도가 일치하도록이 모든 메시지 to
및 network
및 channel
을 저장된 메시지에 추가하고 행이있는 경우 표시합니다.
괜찮은 것 같지만 누구나 검토하고 조언을 제공 할 수 있습니까? 청취자가 어떤 채널로 들어오는 사람이라도 들어 줄 것을 강요 당할 것입니다. 그것에 대한 대안은 없습니까?
, 대신 나는 채널을 의미 offline''의. 그들은 채널에 있어야합니다. –