From e40d2262527df91fe0161d18f2304f7095481874 Mon Sep 17 00:00:00 2001 From: friendica Date: Sat, 26 Apr 2014 16:27:03 -0700 Subject: basic chatterbot support - though these would still require additional functionality in the API to maintain presence as they'll get kicked out of the room if they don't ping it regularly. --- include/chat.php | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'include/chat.php') diff --git a/include/chat.php b/include/chat.php index 5a17230e0..8e84d9be0 100644 --- a/include/chat.php +++ b/include/chat.php @@ -182,3 +182,44 @@ function chatroom_list($uid) { return $r; } + +/** + * create a chat message via API. + * It is the caller's responsibility to enter the room. + */ + +function chat_message($uid,$room_id,$xchan,$text) { + + $ret = array('success' => false); + + if(! $text) + return; + + $sql_extra = permissions_sql($uid); + + $r = q("select * from chatroom where cr_uid = %d and cr_id = %d $sql_extra", + intval($uid), + intval($room_id) + ); + if(! $r) + return $ret; + + $arr = array( + 'chat_room' => $room_id, + 'chat_xchan' => $xchan, + 'chat_text' => $text + ); + + call_hooks('chat_message',$arr); + + $x = q("insert into chat ( chat_room, chat_xchan, created, chat_text ) + values( %d, '%s', '%s', '%s' )", + intval($room_id), + dbesc($xchan), + dbesc(datetime_convert()), + dbesc($arr['chat_text']) + ); + + $ret['success'] = true; + return $ret; +} -- cgit v1.2.3