

                           OMIKUJI PROTOCOL
                                v 1.0.2
                              OMIKUJI/1.0

                                                     copyright(c)1998 cookie

-
1. Ū
2. omikuji server
3. omikuji client
4. charactor define
5. commands
-

1. Ū

   protocol ϡIRC(RFC1459) bot ߤ local disk Ȥä
  Ƥ(빽 CPU Ȥ)Τ Network ͳǰƻ񸻤ζͭ︺
  褦ȤΤǤ

2. omikuji server

  ߤ server Ϥߤץȥ˽ä client ΥꥯȤ
  ޤ
  server  port 1ĤޤϤʾѤޤ
  port ο˴ؤ餺1Ĥ server Фư٤ʣ client 
  ʤƤϤޤ

           [server] -+---[client]
              |      +-------------------[client]
              +------------------[client]

  ͡ʤߤб뤿ᡢserver ʣμΤߤ򰷤Ȥ
  ǤʤƤϤޤ󡣳Ƥߤˤդ뤳Ȥ侩ޤ

  ޤserver ˤϴѥѥɤĤ뤳Ȥ侩ޤ
  ƤߤˤɬפǤХѥɤĤ뤳ȤǤޤ
  ɤΤߤ⤪ߤȤФ¤äƤϤޤ
  ѥդΤߤˤϡɬѥѥɤꤵƤɬ
  ޤ

3. omikuji client  

  ߤ client ϡߤ server Фƥޥ(ref: 5.1)뤳
  ˤä server Ф򤹤뤳ȤǤޤ

  client  server ³ login (Τ褦ʤ)Ԥʤɬפ
  USER ޥɤǤԤʤޤ
  ѥɤĤΤߤϿ PASS Ȥäǧڤɬפ
  ޤ

4. charactor define

  ߤ server/client ΰʸ/ʸɤ˴ؤƤϤʤˤ򰷤äƤ
  ޤ󡣿侩 JIS Ȥޤ
  ԥɤ server  CR-LF client  LF or CR-LF 褦ˤ
  
  ޤߤʳʬʸ/ʸζ̤Ϥޤ

5. messages

  ߤ server/client ǻѤå

5.1 commands

  client Ϥ command

5.1.1 AVE

  AVE s

    s: ߤμ()

    ߤʿ֤
    password ɬפʤߤϡPASS ǧڤƤɬפ롣

  REPLY:
    RPL_AVE_OMIKUJI
    ERR_KIND_OMIKUJI
    ERR_NO_PASSWD

5.1.2 DEL

  DEL s p omikuji

    s: ߤμ()
    p: (-9+10)
    omikuji: ߤ

    ߤ򤱤OPERǧڤƤɬפ롣

  REPLY:
    RPL_DEL_OMIKUJI
    ERR_KIND_OMIKUJI
    ERR_NO_OMIKUJI
    ERR_NOT_OMIKUJI
    ERR_NOT_OPER

5.1.3 GET

  GET s

    s: ߤμ()

    ߤҤREQ Ȥʤ

  REPLY:
    RPL_OMIKUJI
    ERR_KIND_OMIKUJI

5.1.4 HELP

  HELP [command]

    command: AVE GET HELP LIST NUM PASS PUT QUIT REG REQ USER

    ޤɤΤؤ

  REPLY:
    RPL_HELP_MESSAGE

5.1.5 LIST

  LIST [s]

    s: ߤμ()

    ߤμΥꥹ

  REPLY:
    RPL_LIST_OMIKUJI

5.1.6 NUM

  NUM s

    s: ߤμ()

    ϿƤ뤪ߤο
    password ɬפʤߤϡPASS ǧڤƤɬפ롣

  REPLY:
    RPL_NUM_OMIKUJI
    ERR_KIND_OMIKUJI
    ERR_NO_PASSWD

5.1.7 OPER

  OPER s password

    s: ߤμ()
    password: Ѥ

    ڤ졼ѤɡDELĤ褦ˤʤ롣

  REPLY:
    RPL_OPER
    ERR_KIND_OMIKUJI
    ERR_PASSWD

5.1.8 PASS

  PASS s password

    s: ߤμ()
    password: Ѥ

    passwordĤΤߤҤ/Ͽʤɡ

  REPLY:
    RPL_PASSWD
    ERR_KIND_OMIKUJI
    ERR_PASSWD

5.1.9 PUT

  PUT s [p] omikuji

    s: ߤμ()
    p: (-9+9, +, -), ʤȤ -9+10Υ
    omikuji: ߤ

    REG ȤʤߤϿ롣p ʤȥࡣ
    password ɬפʤߤϡPASS ǧڤƤɬפ롣

  REPLY:
    RPL_REG_OMIKUJI
    ERR_KIND_OMIKUJI
    ERR_POINT_OMIKUJI
    ERR_NO_OMIKUJI
    ERR_EXIST_OMIKUJI
    ERR_NO_PASSWD

5.1.10 QUIT

  QUIT message

    message: ʤˤҤȤ

    åĤ롣

5.1.11 REG

  REG s [p] omikuji

    s: ߤμ()
    p: (-9+9, +, -), ʤȤ -9+10Υ
    omikuji: ߤ

    PUTȤʤߤϿ롣p ʤȥࡣ
    password ɬפʤߤϡPASS ǧڤƤɬפ롣

  REPLY:
    RPL_REG_OMIKUJI
    ERR_KIND_OMIKUJI
    ERR_POINT_OMIKUJI
    ERR_NO_OMIKUJI
    ERR_EXIST_OMIKUJI
    ERR_NO_PASSWD

5.1.12 REQ

  REQ s

    s: ߤμ()

    GET ȤʤߤҤ

  REPLY:
    RPL_OMIKUJI
    ERR_KIND_OMIKUJI

5.1.13 USER

  USER username hostname

    user ǧڤ롣Ϥʤ OPER,PASS,QUIT ƥޥɤ
    Ϥ롣

  REPLY:
    RPL_USER
    ERR_PASSWD
    ERR_USERNAME
    ERR_HOSTNAME


5.2 replies

  command ˽줿֤äƤʸ
  ʲΤ褦ʽ񼰤֤äƤ롣

  RPL replynum replymes

    replynum: ؤֹ
    replymes: ؤ󤸤ä

5.2.1 [101] RPL_OMIKUJI

  101  ߤ

5.2.2 [102] RPL_NUM_OMIKUJI

  102  ߤο

5.2.3 [103] RPL_REG_OMIKUJI

  103  ߤ

5.2.4 [104] RPL_DEL_OMIKUJI

  104  ߤ

5.2.5 [105] RPL_AVE_OMIKUJI

  105  ߤʿ

5.2.6 [111] RPL_LIST_OMIKUJI

  111  ߤμ

5.2.7 [112] RPL_HELP_MESSAGE

  112 commands
  112 command args..

5.2.8 [201] RPL_PASSWD

  201 Password ok.

5.2.9 [202] RPL_USER

  202 User ok.

5.2.10 [203] RPL_OPER

  203 Operator ok.


5.3 errors

  command ˽ʤä֤äƤʸ
  ʲΤ褦ʽ񼰤֤äƤ롣

    ERR errnum errmes
      errnum: 顼ֹ
      errmes: 顼ä

5.3.1 [801] ERR_NOT_COMMAND

  ¸ߤʤޥɤϤȤˤǤ롣

  801 Not a command: $com

5.3.2 [802] ERR_PASSWD

  password ְäƤȤˤǤ롣

  802 Password is incorrect.

5.3.3 [803] ERR_NOT_OPER

  OPER ǧڤƤʤȤ operator ɬפ򤷤褦ȤȤ
  Ǥ롣

  803 You are not a operator.

5.3.4 [804] ERR_NOT_REGISTERD

  ǧ USER, PASS, OPER ʳΥޥɤϤȤˤǤ롣

  804 You are not registered.

5.3.5 [805] ERR_REGISTERED

  Ǥ USER ԤʤäƤΤ˺ USER ԤʤäȤˤǤ롣

  805 You are already registered.

5.3.6 [806] ERR_NO_PASSWD

  PASS ǧڤƤʤߤ褦ȤȤˤǤ롣
  (ߤҤȤ)

  806 You don't input password of the omikuji.

5.3.7 [811] ERR_KIND_OMIKUJI

  ¸ߤʤߤμꤷˤǤ롣

  811 Not exist this number: $num

5.3.8 [812] ERR_POINT_OMIKUJI

  ݡȤƤʤϤ줿ˤǤ롣

  812 Unsupported omikuji point: $num

5.3.9 [813] ERR_NO_OMIKUJI

  ߤΤȤˤǤ롣

  813 Omikuji is empty.

5.3.10 [821] ERR_USERNAME

  USER  username ʤäȤˤǤ롣

  821 Invalid username.

5.3.11 [822] ERR_HOSTNAME

  USER  hostname ʤäȤˤǤ롣

  822 Invalid hostname.

5.3.12 [831] ERR_EXIST_OMIKUJI

  ߤϿˤΤߤǤ¸ߤˤǤ롣

  823 The omikuji is already exist.

5.3.12 [832] ERR_NOT_EXIST_OMIKUJI

  ߤ¸ߤʤˤǤ롣

  824 The omikuji is not exist.

5.3.13 [851] ERR_OPEN_FAIL

  Υ顼̾Ǥʤ褦ˤ٤

  851 Open fail omikuji file.


5.4 messages

MES
  MES message
    message: Τä

---END OF OMIKUJI PROTOCOL
