블로그 방명록 사전 갤러리 게시판 인클봇 인클챗 웹 IRC

인클봇 랜드 - 게시판

위치: 인클봇 랜드 > 게시판


Hello, guest! :) 로그인 | 회원가입

IEP-003: 사용자 정의 명령 개선

2008-07-24 15:23:45

사용자 정의 명령에 HTTP의 쿠키와 같은 기능을 넣었으면 좋겠습니다.

대략적인 구상은 다음과 같습니다. 구현의 편의를 위해서 실제 HTTP 쿠키를 그대로 구현하지는 않고 단 하나, 즉 inklbot-session 정도의 이름으로만 사용할 수 있도록 합니다. (이러면 문자열을 하나만 저장하면 되죠. 굳이 CookieJar 쓸 이유도 없음.) 아니면 X-Inklbot-Session과 같은 헤더를 사용할 수도 있지만 사용하기 많이 귀찮을 것 같습니다.

사용자가 처음 접속했을 때 인클봇은 빈 사전을 만듭니다. 이 사전은 도메인(쿠키의 그 도메인 맞음. 필요하다면 URL 도메인 단위로만 제한해도 됨.)을 키로 하고 세션 쿠키를 값으로 하며, 만약 명령을 수행하여 나온 HTTP response가 쿠키를 포함하고 있다면 (i.e. Set-Cookie 헤더) 사전에 값을 바꿉니다. 명령을 수행할 때는 먼저 도메인을 분리하여 이 사전에서 필요한 세션 쿠키를 불러 와 넘겨 줍니다.

이렇게 하면 가장 좋은 것이 미투데이 자동 포스팅과 같이 로그인/로그아웃이 절대적으로 필요한 기능들을 이용할 수 있게 됩니다. 굳이 다른 봇을 쓸 필요가 없이 인클봇만을 사용하여 이런 것을 할 수 있다는 얘깁니다. 또한 개인적으로만 사용하고 싶은 명령을 만들 때도 유용히 사용할 수 있을 것입니다.

좀 더 생각해 보면 세션 쿠키를 두 개로 나눠서 사용자와 채널 별로 (이 경우 X-Inklbot-User-Session과 X-Inklbot-Channel-Session 따위가 나올 듯) 분리해서 적용할 수 있는데 이렇게 되면 끝말잇기도 외부에 맡길 수 있게 됩니다. 끝말잇기가 인클봇의 외부 I/O에 영향을 주는 것인지 CPU에 영향을 주는 것인지는 모르겠으나 후자의 경우 큰 효과가 있을 것입니다.

근데 왜 최대 업로드 크기가 1기가바이트인가여? 내 서버 아니니 상관 없지만.

  1. 랜덤여신 2008-07-24 17:39:58

    처리했습니다. 구체적인 아이디어 대단히 고맙습니다.

  2. 랜덤여신 2008-07-24 17:40:59

    이제 인클봇 사용자 명령은 쿠키를 지원합니다. PHP라면 setcookie()와 $_COOKIE로 접근하할 수 있습니다.

← 끝말잇기 기능좀 없애주세요 | 타자연습 기능 없센?(냉무) →