Extra Form
자료 소개 유챗, 카카오톡 등과 같은 실시간 채팅 서비스를 제공할 수 있도록 해주는 모듈입니다.
설치 경로 ./modules/elkhatalk3
테스트 환경 Rhymix 2.1
라이선스 GPL v2
이름 버전 날짜 다운수
elkhatalk3_1.0.6.zip 1.0.6 2023-11-18 33
elkhatalk3_1.0.5.zip 1.0.5 2023-07-19 40
elkhatalk3_1.0.4.zip 1.0.4 2023-03-19 1,210
elkhatalk3_1.0.3.zip 1.0.3 2023-03-11 1,167
elkhatalk3_1.0.2.zip 1.0.2 2023-01-09 1,179
elkhatalk3_1.0.1.zip 1.0.1 2023-01-08 1,165
elkhatalk3.zip - 2023-01-01 1,190

private_m.png
비공개 채팅 - 모바일

private_p.png
비공개 채팅 - PC

public_m.png
공개 채팅 - 모바일

public_p.png
공개 채팅 - PC

 

 

 

https://xetown.com/topics/1131126 기반이며 과거보다 훨씬 진보되었습니다.

 

간단히 말해서 유챗과 카카오 채팅을 님의 사이트에서 서비스하는 것과 유사합니다.

 

시작, 개발, 배포에 이르기까지 많은 난관이 있었는데 유용히 쓰이기를 바랍니다.

 

설치부터 PC화면 띄우기 (위 영상 참조)

 

모바일 예 (위 영상 참조)

 

설명: https://tradia.me/diablo2/rhymix/11510119

문의: https://tradia.me/diablo2/rhymix

 

내용 중 미숙한 부분은 너른 양해를 구하며 지적해 주시면 보완 하겠습니다.

 

 

 

다음의 경로는 MIT 라이센스 하에 본 프로그램에 포함되어 있습니다.

  • source/socket.io.min.js
  • popup/jquery-3.6.0.min.js
    popup/jquery-migrate-3.4.0.min.js
  • skins/default/OverlayScrollbars

감사합니다.

-

1.0.6 패치

유의: 파일을 덮어 씌우면 손님 읽기(또는 채팅)이 금지된 채팅 권한을 다시 설정하셔야 합니다.

  • 신규 기능: 지정 그룹만 채팅 가능
    사이트 내 길드와 같은 소규모 커뮤니티 채팅에 적절합니다.
    1.png
  • 신규 쪽지를 브라우저 notification (기존: mp3 알림만 울림)
    알림 모양 아이콘을 눌러서 브라우저 알림 권한을 허용했고, 사이트가 열려 있으면 1분 이상 지난 읽지 않은 쪽지를 notification 받습니다.
    2.png  
  • 공개 채팅의 이미지가 팝업으로 나올 때 이미지 사이즈를 잘못 파악하는 오류 해결.
  • 플러그인 설명을 쉽게 파악할 수 있게
    • socket.io 업데이트
    • php 8.2 오류를 추적/편집.

1.0.5 패치

  • 기본 1:1 채팅 스킨에 push 알림  추가:
    사이트에 접속해 있으면서 10초 이내에 쪽지 확인하지 않으면 push 알림이 발생합니다.
    설명 참조
  • 기본 설정에서 레벨 아이콘 제거
    레벨 아이콘을 보이려면 level_icon (level_icon) 플러그인을 활성화 하세요.
  • 팝업 플러그인: popup_widget (notice@)
    채팅창을 팝업으로 띄었을 때 상단에 글쓰기, 다른 채팅방 등의 링크를 제공하는 기능입니다.
    plugins/popup_widget/example.widget.html 파일을 참고하셔서 같은 경로에 widget.html 파일을 작성해야 합니다.
  • 모바일 레이아웃의 css 와 궁합(?)이 잘 맞지 않으면 채팅이 보이지 않는 오류를 대응함.
  • 사용되는 이미지들이 압축 됨.

1.0.4 패치

  • 로그인 사용자의 접속 여부를 실시간으로 보여주는 플러그인: is_connected
    설정 참조, 아래 캡쳐 참조 (닉네임에 파란 동그라미 표시)

    is_connected.png

  • 공개 채팅방의 css 파일 변경 가능하게 지원: 설정 참조
    쉽게 말해서 public_chat/0/style.css 파일을 작성하면 공개 채팅에 일괄 적용됩니다.

1.0.3 패치

  • iphone 호환
  • server time auth 설정을 추가 [서버 시간이 올바르지 않아 접속이 실패할 경우 disabled 선택]

-

1.0.2 패치

업데이트 주의사항: 업데이트 하시면 아래와 같이 [설정 완료하기]를 꼭 눌러주세요.

누르지 않으면 개인 메세지가 올바로 작동되지 않습니다.
최신 버전을 최초 설치하실 경우 관계 없습니다.

a.PNG

개선

  • 이미지 업로드 플러그인 - iframe 띄우기가 적절하면 팝업 대신 iframe 레이어 사용
    (PC웹에 위젯처럼 아주 좁은 너비이면 이미지 업로드가 팝업으로 나옵니다)
  • firefox 브라우저 호환 향상
    iphone safari 브라우저 호환 향상
  • 대화 상대 숨기기 (=채팅 나가기)
    채팅 삭제는 실시간 연동이 필요하고 까다로워서 대화 상대를 숨기는 정도로 일단 개발을 했습니다.

오류 수정:

  • 대화가 없을 때 신규 채팅이 발생하면 경고창만 나오고 대화를 가져오지 못함

-

1.0.1 패치

신규 플러그인:

  • 이미지 업로드 플러그인 https://tradia.me/diablo2/rhymix/11547128

오류 수정:

  • 관리자가 타인의 채팅 삭제 작동 안함
  • 채팅방 부관리자 작동 안함
  • 채팅방 청소 작동 안함
  • ?

    필요한거였느데 엄청 잘 만드셨네요.
    해외 외국어 사이트에 넣으려고 하는데 혹시 다국어 설정이 가능할까요?

  • ? ?

    좋게 봐주셔서 감사합니다.
    -
    다국어 설정도 가능합니다.
    lang/ko.lang.php 파일을 보시고 같은 폴더에 en.lang.php 작성하시면 됩니다.
    다만 일부 오류 메세지는 한글로 띄어주고 있는 점 참고 부탁드리며 다음 버전 올릴 때 이 메세지들까지 모두 다국어 지원토록 하겠습니다.
    (예: "접속 실패: 읽기 권한이 없습니다.", "채팅을 이용할 수 없습니다.\n만료: {날짜}"

  • ?
    카톡처럼 실시간은 안되네요.
    새로고침해야 보이네요
  • ? ?

    실시간이 아니라면 소켓 서버가 잘 연결되지 않았을 것입니다.
    소켓 설정을 확인해 보시겠어요?

    또는 F12 키를 눌러서 Network 탭이나 Console 탭의 내용을 확인하시면 됩니다.

  • profile
    오, 지금 설치했는데, 잘 1;1은 잘 됩니다. 깔끔하네요. 1;n은 아직 제가 사용법을 잘 몰라서 테스트 못했지만, 훌륭하시네요.
  • profile
    css 적용 감사합니다!!
  • profile
    카페24에서 호스팅 이용중인데 Socket host에는 멀 적어야하나요?
  • profile ?
    기본 값으로 두시면 됩니다.
    만약 기본 값을 복구하시려면 그 입력 내용 지우시면 됩니다.
  • ? profile
    오~ 대빵 잘됩니다^^ 감사합니다.
  • profile
    채팅창이 간헐적으로 떳다 안떳다 반복합니다.
    뜰확률 30% 안뜰확률 70%
    혹시 어떤문제인지 알 수 있을까요?
    테스트 해보니 레이아웃을 없에니 100% 뜨네요

    어떤부분이 충돌하는 문제인지 더 찾아보니

    제 레이아웃에 아래 스크립트가 들어가면
    $(document).ready(function(){

    간헐적으로 안뜨는 증상이 있습니다. 원인이 뭘까요?
    $(function(){ 로 변경하여도 마찬가지 입니다. 해결하고 싶습니다!!!
  • profile ?
    채팅 창이 아예 안 뜨는 것인지 혹은 접속이 안되는 것인지 이해를 잘 못했습니다.
    서버 시간이 올바르지 않을 경우 접속에 오류가 있는 것을 확인했고 관련 기능을 업데이트하여 올렸습니다.
    이용해 주셔서 감사합니다.
  • ? profile
    패치 감사합니다.
    증상은 동일하네요.

    채팅창이 뜨면 모든 기능은 정상 작동하고 있습니다.
    아이프레임 자체가 안떠 채팅창이 아예 뜨지 않습니다.
    새로고침 20번하면 2 번 3번은 정상적으로 뜹니다.

    스크립트가 충돌하는것 같습니다.

    레이아웃에 아래 js를 넣고 테스트 해봐 주실 수 있으실까요?

    $(function(){
    $(".abcdasdsadfef").qwerasdfzxcvasdf();
    });
    감사합니다.
  • profile ?
    말씀하신 js 코드는 jquery document raedy event 이고 js 오류가 없다면 잘 실행될 것입니다.
    채팅이 뜨지 않을 때 브라우저에서 F12 키를 누르고 Console 탭 내용을 보시면 아마 에러 내용이 있을 것입니다.
    - 그 에러 내용이 채팅 모듈에 포함되어 있다면 채팅 프로그램 문제입니다.
    - 그렇지 않다면 다른 부분에서 충돌이 난 것입니다. 그렇다면 화면에서 채팅을 제거해도 Console 내용에 같은 내용이 뜨는지 보시길 바랍니다.

    오류가 발생하는 증상을 제가 못 보기 때문에 추측만으로 답변드리는 점 양해 부탁드립니다.
  • ? profile
    추가 답변까지 감사드립니다. ㅠㅠ
    아무것도 없는 빈레이아웃에

    $(function(){
    $(".abcd").aaaaaa();
    });

    딱 이코드만 넣고 테스트 해도 동일 증상입니다.
    www.nug.kr 사이트에서 확인 가능합니다!
    빈레이아웃에서는 콘솔에 저 부분의 에러가 발생하긴 한데

    실제 적용해둔 사이트에서는 제이쿼리 파일에서의 콘솔에러를 제외하면 에러가 발생하지 않습니다.
  • profile ?
    1줄 요약: 해당 사이트의 jquery 오류로 인해 jquery 에 기반한 기능이 작동하지 않으므로 jquery 오류를 해결해보시길 바랍니다.
    -
    여기서부터는 부가 설명입니다.
    님의 사이트에서 jquery 오류로 인해 jquery document ready event 가 작동되지 않습니다.
    이 채팅 프로그램은 비동기 방식으로(채팅이 느리거나 작동 안해도 사이트 속도가 느려지지 않게 설계되어), 새로고침 하실 때 document ready 이전에 준비 될 수도 있고 그 이후에도 준비될 수 있는데 html dom elements 준비 상태와 채팅 서버 접속 준비 상태에 따라 jquey 의 document ready event 에 대응할 때도 있습니다. 즉 이 말은 새로고침 하면서 로딩 속도가 랜덤하게 다르므로 document ready event 에 대응되는 로딩일 때는 채팅이 뜨지 않았을 것입니다.
    이곳 xetown.com 에서 F12 키를 눌러 콘솔 탭을 여시고 님의 사이트에서도 F12 키를 눌러 콘솔 탭을 열어서 아래 스크립트를 실행해 보시기 바랍니다.
    $(function(){ console.log('document ready is wokring!'); });
    xetown.com 에서 실행할 때는 'document ready is wokring!' 가 뜨지만 님의 사이트에는 뜨지 않습니다.
    이것은 rhymix core 에 해당하는 jquery 가 오류 발생한 것으로 판단됩니다.
    따라서 이 채팅 프로그램을 포함하여 다른 jquery 관련 기능들도 잘 작동되지 않을 가능성이 높습니다.
  • ? profile
    답변감사합니다.

    $(function(){
    $(".abcd").aaaaaa();
    });

    이 부분만 넣으면 충돌이 발생하는것 같으니
    제이쿼리가 작동하게 어떻게 설정해봐야겠네요.

    덕분에 잘 수정하여 채팅창이 아주 잘뜨고 있습니다.
    감사합니다.
  • profile
    대단하네요!!
  • profile
    감사합니다.
  • ?
    이거 위잿은 따로 없는건가요?
  • ? ?
    네 없습니다, 이 프로그램의 목적은 카톡/유챗 같은 서비스를 직접 운영하는 것으로, 간단히 위젯만으로 채팅을 원하시면 유챗/미니톡 등의 서비스로도 충분할 것 같습니다.
  • profile
    생성된 1:1 채팅방은 나가기가 안 되나요?
    이전 버전처럼 1:1 채팅 기능만 활성화되면 좋겠네요
  • profile ?
    생성된 1:1 채팅방은 나가기가 안 되나요?
    -> 그 부분 생각하지 못했는데 추후 업데이트에 1:1 채팅 나가기, 채팅 기록 삭제를 지원토록 하겠습니다. (다만 시일이 걸릴 수 있음)

    이전 버전처럼 1:1 채팅 기능만 활성화되면 좋겠네요
    -> 공개채팅을 노출하지 않으면 될 것입니다.
  • profile ?
    완벽하진 않지만 불편하진 않은 선에서 적절히 패치 했습니다.
    의견 감사합니다.
  • profile
    트레디아! 추억의 사이트인데 다시 오픈하였네요.
    잘사용하겠습니다. 감사합니다.
  • profile ?
    감사합니다.