krynen / BridgeBBCC

MIT License
19 stars 23 forks source link

닉네임을 표시하지 않는 기능이 있나요 #14

Closed PSangEon closed 4 years ago

PSangEon commented 4 years ago

자바 스크립트이외의 다른 언어만 할 수 있어서 코드를 해석해 수정하는데 한계를 느꼈습니다. 개발자분의 이메일도 찾을 수 없어서 부득이하게 이슈창에 글을 남깁니다. 채팅창에서 메시지만 표시할 수 있는 기능이 있는지, 있다면 적용법을 알려주셨으면 합니다.

krynen commented 4 years ago

자바스크립트라고 명시하셨으나 혹시몰라 HTML/css, JavaScript, nodeJS를 모두 사용하지 않으실 경우를 가정하고 작성했습니다.

확실한 처리를 원하실 경우 모든 테마에서 표시되지 않기를 원하시는 경우소스코드를 수정하실 때를, 빠른 처리를 원하실 경우 특정 테마에서만 표시되지 않기를 원하시는 경우를 참고하시면 됩니다.


특정 테마에서만 표시되지 않기를 원하시는 경우

닉네임은 div.chat_nickname_box에 표시되므로 해당 엘리먼트를 표시하지 않음으로 해결할 수 있습니다.

변경하실 파일

테마 경로(lib/config.js파일의 themeURI)를 변경하지 않으셨을 경우 theme/THEME_NAME/theme.css, 공백 외 경로로 설정하셨을 경우 THEME_URI/THEME_NAME/theme.css.

변경하실 내용

/* 닉네임이 표시되길 원치 않으시는 경우 */
.chat_nickname_box { display:none; }
/* 닉네임과 뱃지 모두 표시되길 원치 않으시는 경우 */
.chat_nickname_box, .chat_badge_box { display:none; }

기본적으로 이상의 내용을 변경하실 파일에 추가하시면 되고, 이미 설정되어있을 경우 설정된 부분을 변경하시면 됩니다.

기본 테마 파일theme/default/theme.css의 경우, 90~91번째 줄에 .chat_nickname_box, .chat_badge_box { display: inline-block; }가 있으므로 inline-blocknone으로 변경하시어 해결하실 수 있습니다.


모든 테마에서 표시되지 않기를 원하시는 경우

소스 코드를 수정하실 때

node, npmbrowserify의 설치가 필요합니다. Release 대신 코드 파일을 직접 내려받으거나 Clone하셔서 source/main.js파일을 수정합니다. 수정하신 후 readme.md를 따라 번들하셔야 정상작동합니다.

번들된 스크립트를 수정하실 때

Release를 그대로 이용하실 수 있습니다. lib/browserified.js를 수정합니다.

변경할 내용

닉네임은 chatNicknameBox변수를 통해 관리되므로 해당 부분을 추적, 수정하여 해결하실 수 있습니다.

생성되지 않도록 설정하실 경우 banChatMessage, concatChatMessage 등의 메서드가 제대로 작동하지 않을 수 있으므로, 테마를 변경하실 때와 같이 닉네임 엘리먼트의 스타일에 display:none을 강제로 추가하는 방식이 무난해보입니다.

수정하실 파일의 DOM Element 생성부분(lib/browserified.js의 174번째 줄, 'source/main.js'의 143번째 줄) 아래에서 chatNicknameBox에 생성한 엘리먼트를 할당(document.createElement메서드 이용)하는 것을 확인하신 후, 이하 내용을 삽입하시면 됩니다.

chatNicknameBox.style.setProperty("display", "none", "important");

뱃지까지 표시되지 않기를 원하시면 마찬가지로 chatBadgeBox에 할당된 이후 비슷하게 삽입하시면 됩니다.

chatBadgeBox.style.setProperty("display", "none", "important");
PSangEon commented 4 years ago

상황에 따라 닉네임을 표시할 예정이라 테마별 적용법으로 해결했습니다. 답변 감사드립니다.