UDP API DEV

From AniDB
Jump to navigation Jump to search

UDP DEF V0.03 DEV

  • chii powr / minichii
  • feel free to edit / comment / whatever
  • do use discussion
  • Exp will approve / disapprove
  • Epoximator will implement

Data

ANIME : new ? high

Command String:

by aid
  • ANIME aid={int4 id}
by title
  • ANIME title={str title}

Possible Replies:

  • XXX NO SUCH ANIME
  • XXX ANIME
  • XXX ANIME BEST MATCH
{int4 aid}|{int2 type}|{int4 eps}|{int last ep}|{int4 rating}|{int4 votes}|{int4 atts}|{int4 attavg}|{str year}|{str title}|{str kanji}|{str romaji}|{str genre}

Info:

  • Relations?
  • Genre as ids? "Action, Drama" vs "1,4". or bitwise with two ints
  • Cat?
  • by title: pri: short>romaji>kanji>eng>syn, returns the most likely anime, i.e. only one
  • syn, short?

I'd like this command to cope with a couple of different encodings when passed a title, and be explicit over whether it finds only one result or does a best-match guess. --Rar 04:51, 30 Oct 2005 (CET)

EPISODE : new / extend ? high

Command String:

by eid
  • EPISODE eid={int4 eid}

Possible Replies:

  • XXX NO SUCH EPISODE
  • XXX EPISODE
{int4 eid}|{str epnr}|{str romaji}|{str kanji}|{str eng}

Info:

  • can be included in FILE [ALT]

GROUP : new ? high

Command String:

by gid
  • GROUP gid={int4 gid}
by name/shortname
  • GROUP name={str name}

Possible Replies:

  • XXX NO SUCH GROUP
  • XXX GROUP
{int4 gid}|{int4 rating}|{int4 votes}|{str name}|{str short}|{str url}|{str irc}|{int4 acount}|{int fcount}

Info:

FILE ALT / FILE: new / extend ? questionable

Command String:

by fid:
  • FILE ALT fid={int4 id}[&titletype={int 2}]
by size+ed2k hash:
  • FILE ALT size={int4 size}&ed2k={str ed2khash}[&type={int2 titletype}]
by crc
  • FILE ALT crc={str crc}[&titletype={int 2}]
by <anime title> <ep#> <groupname>
by <aid> <ep#> <groupname>
by <aid> <ep#> <gid>

Possible Replies:

  • XXX FILE
{int4 fid}|{int4 aid}|{int4 eid}|{int4 gid}|{int4 lid}|{int4 state}|{int4 size}|{str ed2k}|{int2 type}{str animetitle}|{str eptitle}{str groupname}
  • XXX NO SUCH FILE

Info:

  • See FILE
  • type: SERIES/MOVIE/OVA
  • titletype: romaji, kanji, eng off
  • by crc for @find command

A4G : new ? questionable

G4A : new ? questionable

STITLE : new ? questionable

  • included in ANIME?

Mylist Gen

MYLIST STATS : new ? low

Command String:

  • MYLIST STATS

Possible Replies:

  • XXX MYLIST STATS

{animes}|{eps}|{files}|{watched}|{size}|{added animes}|{added eps}|{added files}|{added groups}|{votes}|{reviews}|{leech}|{lame}

Info:

  • Only once pr update ?
  • percentages: use STATS first

MYLIST LATEST : new ? questionable

Command String:

  • MYLIST LATEST

Possible Replies:

  • XXX MYLIST LATEST
{int4 fid}
{int4 fid}
...

Info:

  • Only once pr update ?


VOTE : new ? high

Command String:

by id
  • VOTE type={int2 type}&id={int4 id}&value={int4 vote value}
by title/name
  • VOTE type={int2 type}&title={int4 id}&value={int4 vote value}

Possible Replies:

  • XXX NO SUCH ENTRY
  • XXX VOTED
{str aname/ename/gname}

Info:

  • type is 0=anime, 1=anime tmpvote, 2=episode, 3=group
  • 'what' is aid/eid/gid/anime title/episode title/group name


RANDOM : new ? low

Command String:

  • RANDOM type={int4 type}

Possible Replies:

  • XXX ANIME ... (see ANIME)

Info:

  • type: 0=from db, 1=watched, 2=unwatched, 3=all mylist

CREQ : new ? questionable

Command String:

  • CREQ

Possible Replies:

  • XXX CREQ
...

Mylist Edit

MYLIST ADD : extend ? low

by <anime> <epnumber> <group>
by <aid> <epnumber> <group>
by last

MYLIST DEL : extend ? low

by <anime> <epnumber> <group>
by <aid> <epnumber> <group>
by last

Misc : strictr time restriction?

STATS : new ? low

Command String:

  • STATS

Possible Replies:

  • XXX STATS
{int4 animes)|{int4 eps}|{int4 files}|{int4 groups}|{int4 users}|{int4 creqs}

UPTIME : new ? low

Command String:

  • UPTIME

Possible Replies:

  • XXX UPTIME
{int4 machine}|{int4 udpsrv}

LATEST : new ? questionable

TOP : new ? questionable

RETURN CODES

  • C : current, do not change
  • N : new
C 200 LOGIN_ACCEPTED
C 201 LOGIN_ACCEPTED_NEW_VER
C 202 LOGGED OUT
 
C 210 MYLIST_ENTRY_ADDED
C 211 ENTRY_DELETED
C 220 FILE
C 221 MYLIST
N 222 ANIME
N 223 GROUP

C 270 NOTIFICATION_ENABLED
C 280 PUSHACK_CONFIRMED
C 290 NOTIFICATION
C 291 NOTIFYLIST
C 294 SENDMSG_SUCCESSFUL

C 300 PONG
C 310 FILE_ALREADY_IN_MYLIST
C 311 MYLIST_ENTRY_EDITED
C 320 NO_SUCH_FILE
C 321 NO_SUCH_ENTRY
N 322 NO_SUCH_ANIME
N 323 NO_SUCH_GROUP

C 370 NOTIFICATION_DISABLED
C 380 NO_SUCH_PACKET_PENDING
C 394 NO_SUCH_USER

C 403 NOT_LOGGED_IN
C 410 NO_SUCH_MYLIST_FILE
C 411 NO_SUCH_MYLIST_ENTRY

C 500 LOGIN_FAILED
C 501 LOGIN_FIRST
C 502 ACCESS_DENIED
C 503 CLIENT_VERSION_OUTDATED
C 504 CLIENT_BANNED
C 505 ILLEGAL_INPUT_OR_ACCESS_DENIED
C 506 INVALID_SESSION
C 598 UNKNOWN_COMMAND

C 6XX INTERNAL_SERVER_ERROR
C 601 ANIDB_OUT_OF_SERVICE