`lXg

SO̍sobt@ǂݎ肽B
Ƃ %bƏΑΏۂ̃obt@ڂ悤ɂł邩H
݂ %s %c Ƃ̐́H
\ɂ炸ŋL^ׂH




̑bZ[WOɎ̂͂悢̂̂H
PASS,PRIVMSG,NOTICE,ACTIONȊO͕\/L^C
joiñpX[hƂ|

DCCM
		MJnAhX
			ĊJ̔͂ǁ[́H

com.apple.eio.FileManager.openURL(url);
MRĴȂŃRpCɂMRJToolkitStubs.zip܂߂΂ł܂

HTTPI
	ċNł݌vł邱
	t@CJ͕svBZLeBz[Ƃʓ|B
	path̉ ../ ./ // 菜
	G[hLg
Status-Code    =
            "100"  ; Section 10.1.1: Continue
          | "101"  ; Section 10.1.2: Switching Protocols
          | "200"  ; Section 10.2.1: OK
          | "201"  ; Section 10.2.2: Created
          | "202"  ; Section 10.2.3: Accepted
          | "203"  ; Section 10.2.4: Non-Authoritative Information
          | "204"  ; Section 10.2.5: No Content
          | "205"  ; Section 10.2.6: Reset Content
          | "206"  ; Section 10.2.7: Partial Content
          | "300"  ; Section 10.3.1: Multiple Choices
          | "301"  ; Section 10.3.2: Moved Permanently
          | "302"  ; Section 10.3.3: Found
          | "303"  ; Section 10.3.4: See Other
          | "304"  ; Section 10.3.5: Not Modified
          | "305"  ; Section 10.3.6: Use Proxy
          | "307"  ; Section 10.3.8: Temporary Redirect
          | "400"  ; Section 10.4.1: Bad Request
          | "401"  ; Section 10.4.2: Unauthorized
          | "402"  ; Section 10.4.3: Payment Required
          | "403"  ; Section 10.4.4: Forbidden
          | "404"  ; Section 10.4.5: Not Found
          | "405"  ; Section 10.4.6: Method Not Allowed
          | "406"  ; Section 10.4.7: Not Acceptable
          | "407"  ; Section 10.4.8: Proxy Authentication Required
          | "408"  ; Section 10.4.9: Request Time-out
          | "409"  ; Section 10.4.10: Conflict
          | "410"  ; Section 10.4.11: Gone
          | "411"  ; Section 10.4.12: Length Required
          | "412"  ; Section 10.4.13: Precondition Failed
          | "413"  ; Section 10.4.14: Request Entity Too Large
          | "414"  ; Section 10.4.15: Request-URI Too Large
          | "415"  ; Section 10.4.16: Unsupported Media Type
          | "416"  ; Section 10.4.17: Requested range not satisfiable
          | "417"  ; Section 10.4.18: Expectation Failed
          | "500"  ; Section 10.5.1: Internal Server Error
          | "501"  ; Section 10.5.2: Not Implemented
          | "502"  ; Section 10.5.3: Bad Gateway
          | "503"  ; Section 10.5.4: Service Unavailable
          | "504"  ; Section 10.5.5: Gateway Time-out
          | "505"  ; Section 10.5.6: HTTP Version not supported
http://www.mars.dti.ne.jp/~torao/rfc/rfc2616-ja.txt

	E郊NGXg͐ڑ؂
	t@CMp
		http://host:port/send/time-serial/file.ext
		ĊBfname̕̕R[hIׂƂȁB
		EoCgW
			IۂɁAWŌ1oCg܂ł犮`FbNs
		EăNGXgɉ
				ANZXԂ /֎~
				Ȃ폜ꂽĂƂ "410"  ; Section 10.4.11: Gone
				ǂ̃^C~Oŋ֎~ɂ邩
				w肵񐔂̊֎~ɂIvV



	CTCP PUSHURL BROWSE   http://ق
	CTCP PUSHURL DOWNLOAD http://ق
	R}h 'PUSHURL'
	1 鈵
		BROWSE      uEUŊJ
		DOWNLOAD    _E[_[ŊJ
		MEDIAPLAYER winamp,MediaPlayer,readPlayerŊJ
	2 URL
		http://id:pass@host:port/requestID#markey ̎wɑΉł邱ƁB
		@ # ̈ɒӁB

zo[̓gB
Ƃ΋ԓ̂Pꂾzo[邱Ƃ͂ł邾낤H
obt@NbNA_v^[̕ύXł邾낤H
Ԃ}EXړɁuOƓzo[ǂv肷͖̂łȂ낤H

vpeBύXm邽߂̃tbNAłΌÂlm肽
PrintFormat.findPrintFormat bZ[WĕύXłtbN
LogSpan_InputbZ[WƏo͐ĕύXłtbN
	L[[hp
	TEhp

\XŃuEUURLJB
23:50 tateisu ցH
23:50 yasuo_sol BluntIRC璼ڋOƃANZXs\ɂȂ
23:50 tateisu RsyŁB
23:51 tateisu ̂͂܂悭킩ĂȂ񂾂
23:51 tateisu VF̃GXP[vƂ̂Ȃ񂾂낤ǁB


܂傫B
N30MBƂ̂ȂB
ConvertChar51KB炢HĂȂcB
HPROFĂ݂AȂ񂾂悭킩ȂB



<!--
<ul>
<li>[ȖɂIRCbZ[W 
<li>obt@Xgڂ̏ԕύX 
<li>ݒt@C̕ύX 
<li>ɂăO\tH[}bg(ǂƂ\Ƃ)ύX 
<li>̓GA֘ÃtbN  
</ul>
-->

e_CAO

T[õ`l̈ꗗ
	XV join whois t@Cɏo 


///////////////////////////////////////////////////////////////
op,,kick,̑ iΏ }XN who fBC ANVj
	who  key=mask;key=mask
		who肪ꍇAwhoȂȂwhoNGXg𑗂ănh͏I
		whoՂ炢ۂɃ`FbN
		 ~ ͐̂H MS932̎􂢂͑vȂ̂H
		>=0x80At@xbgƓɂ
	fBC
		R}hs܂ł̃fBCB
		R}hfBCL[ɂȂ疳B
	ANV
		R}h܂̓ANVsB
		"op" "kick" "" ̓R}h̗LƂċ@\B
		%nick %prefix %channel R}hœWJB
		ANV̑O/ŋ؂ďB
		"@"  opĂƂ̂݋@\An@" opĂȂƂ̂݋@\
<dt>opݒ肵
<dd> hook.IRCMessageRewrite2 g target̃`lfromǂ
+o,+v,-o,-v
Kick
Ban
<Dt>ignore͂ǂ́H
<dd>hook.IRCMessageRewrite2 g return value nullݒ肵B
CTCPƖ邯ǂȁB
hook.IRCMessageRewrite1 PɎg
`lQ҂Ȃǂ̏܂łȂB
ՂԑȂǂ𖳎ɂPRIVMSG,NOTICÊĂ悤ɏ΂B
	am^̐^
		}[N
		op
		kick
		ban
		
whoswho.conf am^
///////////////////////////////////////////////////////////////

L[[h
URL
+b,+e,+I ̉{ƕҏW

/whois usermask
/who usermask
/who hostmask
/who loginname (not mask)
/who realname (not mask)
/who channel (not mask)
/names
	conndumpɏo̕K

`l[hύX_CAO
jbNl[ύXA

\̕ύX
	ڃ[U
	
	L[[h
TEh
	
EBhE^Cg̃JX^}CY
	PrintFormat ň͈͂Ǝv

oXg̃\[gɃ}XND悷ݒ

Oł̃_uAENbN̓
	PIƃ_uNbNƂǂD悵H
	
	


<dt>Oobt@̏o͐ς
<dd> hook.IRCMessageRewrite2 g IRCMEssage#target ύX
<dt>ɂăO̕\`▢/\tOς
<dd>PrintFormatύX񂾂ȁHƑ҂ĂB
<dt>ɂăO̕\`ςBL[[h̋ȂǁB
<dd>LogSpan[] ύX񂾂ȁHƑ҂ĂB
<li>݂̎Q҈ꗗ̎擾
<li>obt@ւ̏o
<li>IRCbZ[W̓܂̓T[oւ̏o
<li>bZ[W̕ύX
<li>݂̎Q҈ꗗȂǂ̃AvP[Vf[^̎擾
<li>Oobt@̓e̎擾

hash.ini ĖOǂȂ񂾂B΂炭͂łB

---------------------------------------------------------------------
ANVNGXg
ƂbanXgҏWꍇA
Eth炠`lbanXgo
ET[oɂ̃`lbanXg߂
EҏW_CAOo
E_CAOƕҏWOƂ̍lăR}ho
ƂɂȂB

̂܂܏AT[o҂_CAO҂肷
ȂB

T[oɑ債ăf[^vꍇA
ENG[oƂoĂB
@̍ہANG[ɑ΂ĂǂANV邩oĂB
@(banҏWAƂ)
EX|X󂯎NG[̈ꗗāA
@̂ƃZbgŉ߂B

---------------------------------------------------------------------
TopicύX

jbNȂǂ͌Œ蕝ɂHc\߂ǂ

j[ځA_CAOô낢c

FςCTCP̓

+bXgҏW
+e,+I



todo

+beIǉ_CAO
+beIXgҏW

	App
		sort all
	ڑ
		sort channel&nick
	Ƃ̓hbOňړłƂ


}XN ANV

Av
	o^[Üꗗ

ڑ
	`lꗗ
	o^[U̒ǉ
	[Uݒ
	[Uꗗ

`l
	`lpX[h
	[U`l֎~
	
	Q[U̍XV
	IvV
		ڑɎŎQ
	Iy[^ݒ
	쐬ɐݒ肷vpeB
	`lւCTCPNG

Q
	t@C̑M
	ȈՖ

	o[Iŏ҂遨`lI
	kick
	ban..

	t@C̑M
	ȈՖ
	o[W
	Ǒ

/////////////////////////////////////////////////////////////////////
// CTCPNG̔s

ՂԂւCTCPNG
`lւCTCPNG

/////////////////////////////////////////////////////////////////////
// CTCP̕ҏW

	CTCP TIME ̕ԓtH[}bg̕ҏW
	CTCP USERINFO ̕ҏW

/////////////////////////////////////////////////////////////////////
// XNvg

obt@Xg̃\[g
	XNvg
	App.buf_list.getCount()
	App.buf_list.getItem()
	App.buf_list.changeOrder()
	gpB
	ANVUIɓo^B

/////////////////////////////////////////////////////////////////////
Z[t`lΉ
	܂Oœ̂b:po邽߂ɂ߂łȂB
	T[oԂG[403ŁA`l݂ȂꍇƋʂȂB
	Ȃ̂ł܂ZOjoinR}hoƂɂȂB
	
	joinɐꍇAOςĂ܂ĂꍇB
	NCAg͎̎ĂXVKvB
	
	407G[AĂĂꂪ`lɑ΂̂Ac: ւ̑Ή
	s@BOjoinȂIvVpӂ̂ƎvB

	403AĂꍇAd:  (c: ̃G[Joɑ΂) b: 肤B
	X͎Ń`l쐬A[hƃgsbNĐݒ肷ׂ낤H
	gsbNɂĂ̓Xvbg/}[WɃT[o͂܂sĂȂ̂ŁA
	ȍĐݒsĂ܂\B
	[hɂāAƂ+rs@̓`l쐬ゾȂ̂ŁA
	`l[h̐ݒ͐TdɍsKvB
	Oݒ肳Ă[hݒ肷Ƃ͍̗pÂ炢B
	
	Z[t`l̏ꍇu`l̍쐬vƂANV~ȁB
	̎ނ̃`lł͑SsvǁB

	쐬ē̃gsbNݒ肨у[hݒ̎
	Z[t`lɌł͂ȂƎvB


T[o̓
	`l̍쐬́u/join !!قvƂR}hŁA
	ق͏ɒZOłƉ߂B
	`lւ̓́u/join !074PQAAAAAvƂR}hŁA
	OD悵ă}b`B
	܂ !074PQAAAAA ΂ɓB
	!074PQAAAAA Ȃꍇ͒ZOƉ߂āA
	!xxxxx074PQAAAAA΁AɓB

G[
	a:	no error
	b:	Ow肵A`lɎcĂNCAǵA
		ȂƂȂȂĈlɂȂƍē悤ɂȂĂB
		Ȃ̂ŒO͕ςĂ܂ĂāAT[o͒OƂ͉߂ȂB
		T[oԂG[ 403 <nick>  <channel> :No such channel 
		ŁA`l݂ȂꍇƋʂȂB
	c: ZOƉ߂ꂽAOQB
	d: `lȂBOZOȂB
