Ommina

Joined 21 September 2007
6,835 bytes added ,  16 October 2017
no edit summary
No edit summary
 
(94 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{TOCright}}
{{TOCright}}
=== ANIMEDESC: Retrieve Anime Description ===
 
'''Command String:'''<br>
--> Edit FILE docs to include MyList data block <--
by aid
 
* ANIMEDESC aid={int4 id}&part={int4 partno}
=== CATEGORY: Retrieve Category Data ===
 
=== SIMILAR: Approve or Disapprove of a Similar Pairing ===
 
'''Command String:'''
* SIMILAR entity=1&id1={int4 id}&id2={int4 id}[&approve={str [y|n|r]}]
 
'''Possible Replies:'''
* 275 SIMILAR APPROVAL
{int entity}|{int sid}|{int id1}|{int id2}|{int total}|{int approved}|{str [y|n]}
* 276 SIMILAR APPROVAL FOUND
{int entity}|{int sid}|{int id1}|{int id2}|{int total}|{int approved}|{str [y|n]}
* 277 SIMILAR APPROVAL UPDATED
{int entity}|{int sid}|{int id1}|{int id2}|{int total}|{int approved}|{str [y|n]}
* 278 SIMILAR APPROVAL REVOKED
{int entity}|{int sid}|{int id1}|{int id2}|{int total}|{int approved}|{str r}
 
* 375 NO SUCH SIMILAR PAIRING
{int entity}|{int id1}|{int id2}
* 376 NO SUCH SIMILAR PAIRING APPROVAL
 
'''Info:'''
* ''entity'' is always 1.
* ''id1'' and ''id2'' represent an ''existing'' pair of ids.  There are no provisions for ''adding'' new similar pairs
* Which id is assigned to ''id1'' and which id is assigned to ''id2'' is irrelevant
* Use ''approval=y'' to approve the pair, ''approve=n'' to disapprove, and ''approve=r'' to revoke (delete) an existing approval/disapproval.
* If an approval vote is already assigned, submitting a new ''y''/''n'' value will replace the old vote.
 
=== UPDATED: Get List of Updated Anime IDs ===
Returns a list of AniDB anime ids of anime that have been updated in in a given time frame, ordered by descending date.
 
'''Command String:'''
* UPDATED entity=1&[age={int4 id}|time={int4 date}]
 
'''Possible Replies:'''
* 243 UPDATED
{int entity}|{int total count}|{int last update date}|{list aid}
 
* 343 NO UPDATES
 
'''Info:'''
* ''entity'' is always 1
* Either ''age'' OR ''time'' can be specified, but not both
* ''age'' is specified in days.
** eg: age=30 requests a list of aid values of anime that have changed in the past 30 days
* ''time'' is specified in unix time.
** eg: time=1264982400 requests a list of aid values of anime that have changed since 2010-02-01
* A maximum of 200 values will be returned
* ''count'' specifies the total number of items found for the given time period.  In short, if this value is great than 200, you have not retrieved all applicable ids.
* ''last update date'' will contain the AniDB update time of the ''last'' aid to appear on the list
 
'''An anime will be considered updated if:'''
* A change is made to the anime record itself
* An ''main'' or ''official'' anime title is added, edited, or deleted (not ''short'' or ''synonym'')
* An episode for the anime is added, or delete (but NOT edited!) ( --> But perhaps airdate changes should <-- )
* An episode title is added, edited, or delete
* An anime category is added, or deleted (but NOT edited: eg, weight change)
* An anime relation is added, or deleted
 
=== REVIEW: Get Anime Review ===
Retrieves the review scores and text for an anime review.  Like ANIMEDESC, it will likely take multiple calls to this comment to retrieve a complete review - almost all reviews will overflow the size limits of a UDP packet.
 
'''Command String:'''
* REVIEW rid={int4 id}


'''Possible Replies:'''
'''Possible Replies:'''
* 233 ANIMEDESC
* 234 REVIEW
: {int4 current part}|{int4 max parts}|{str description}
: {int4 current part}|{int4 max parts}|{int4 review id}|{int4 author uid}|{int4 score_animation}|{int4 score_sound}|{int4 score_story}|{int4 score_character}|{int4 score_value}|{int4 score_enjoyment}|{str review_text}
* 330 NO SUCH ANIME
* 234 REVIEW
* 333 NO SUCH DESCRIPTION
: {int4 current part}|{int4 max parts}|{str review_text}
 
* 334 NO SUCH REVIEW


'''Info:'''
'''Info:'''
* The maximum length of the anime description is roughly 5000 characters, but the maximum length of a UDP packet is 1400 bytes
* IDs and scores are returned with part zero onlyParts one through max exclude the scores and return the text block only.
* Multiple calls to ANIMEDESC may be necessary to retrieve the complete text, retrieving separate 1400 byte parts with each call
 
* ''part'' is zero-based
* Note: No support, at present, for retrieving descriptions by title''aid'' only




'''Examples:''' (html escaped code intended)
  > ANIMEDESC aid=3169&part=0&s=xxxxx
  < 233 ANIMEDESC
    0|1|As summer break arrives for the students, Jun Sakurada is busily studying on his own in the library, making up for time lost <cut>


----


Note to anybody reading this -- this command is still mildly buggy, and may return a "6xx SERVER ERROR" under certain circumstancesOnce these errors are fixed, the text will be moved to the UDP specification page proper.
[Maybe exchange author uid for author nameOr a uid->name lookup via USER?]


=== FILE acode & fcode replacement ===
=== WISHLIST: Retrieve Wishlist Data  ===


'''fmask:'''
Retrieve wishlist data.


byte1 - IDs<br>
'''Command String:'''<br>
1<br>
full list:
2 int4 aid<br>
* WISHLIST
3 int4 eid<br>
by aid:
4 int4 gid<br>
* WISHLIST aid={int4 aid}
5 int4 lid<br>
by wishlist id:
6 int2 IsDeprecated<br>
* WISHLIST lid={int4 lid}
7<br>
by priority:
8 int2 state<br>
* WISHLIST priority={int4 priority}
<br>
'''Possible Replies:'''<br>
<br>
by aid, lid:
*223 WISHLIST
: {int4 lid}|{int4 aid}|{int2 type}|{int2 priority}|{int4 fromuid}|{str comment}|{int4 adddate}
<br>
<br>
full list, by priority:


byte2<br>
*229 MULTIPLE WISHLIST ITEMS
1 int8 size<br>
: {int4 aid}|{int4 type}|{int4 priority}/n
2 str ed2k<br>
: {int4 aid}|{int4 type}|{int4 priority}/n
3 str md5<br>
..repeated n times
4 str sha1<br>
<br><br>
5 str crc32<br>
*323 NO SUCH WISHLIST ITEM
6<br>
7<br>
8<br>
 
byte3<br>
1 str quality<br>
2 str source<br>
3 str audio codec<br>
4 int4 audio bitrate<br>
5 str video codec<br>
6 int4 video bitrate<br>
7 str video resolution<br>
8 str file type (extension)<br>
<br>
<br>
'''Info:'''
* ''Priority'' values are 0: low, 1: medium, 2: high
* ''Type'' values are 1: to watch, 2: to get
* Multiple items are returned in descending priority (high priority first)
* The ''fromuid'' field represents the uid of the user that created the wishlist entry.  Typically this is the actual user, but could be a buddy.


byte4<br>
=== WISHLISTADD: Add Anime to Wishlist ===
1 str dub language<br>
2 str sub language<br>
3 int4 length in seconds<br>
4 str description<br>
5<br>
6<br>
7<br>
8 str anidb file name<br>


'''Command String:'''<br>


'''amask:'''
* WISHLISTADD aid={int4 aid}&type={int2 type}&priority={int2 priority}[&comment={str comment}]


byte1<br>
1 int4 anime total episodes<br>
2 int4 last episode nr (highest, not special)<br>
3 str year<br>
4 str type<br>
5 str related aid list<br>
6<br>
7 str category list<br>
8<br>


byte2<br>
* 226 WISHLIST ITEM ADDED
1 str romaji name<br>
: {int4 wishlist id}
2 str kanji name<br>
* 228 WISHLIST ITEM UPDATED
3 str english name<br>
: {int4 wishlist id}
4 str other name<br>
5 str short name list<br>
6 str synonym list<br>
7 str producer name list<br>
8 str producer id list<br>


byte3<br>
=== WISHLISTDEL: Remove Anime from Wishlist ===
1 str epno<br>
2 str ep name<br>
3 str ep romaji name<br>
4 str ep kanji name<br>
5<br>
6<br>
7<br>
8<br>


byte4<br>
=== NOTIFICATION: Retrieve Notification Date ===
1 str group name<br>
2 str group short name<br>
3<br>
4<br>
5<br>
6<br>
7<br>
8<br>


=== ANIME acode replacement ===
=== NOTIFICATIONADD: Add Anime or Group to Notify List ===


'''amask:'''
'''Command String:'''<br>


amask:
by anime id:
* NOTIFICATIONADD aid={int4 aid}&type={int2 type}&priority={int2 priority}
by group id:
* NOTIFICATIONADD gid={int4 gid}&type={int2 type}&priority={int2 priority}
<br>
<br>
byte1<br>
'''Possible Replies:'''
1 int aid<br>
 
2 <br>
* 246 NOTIFICATION ITEM ADDED
3 str year<br>
: {int4 notification id}
4 str type<br>
* 248 NOTIFICATION ITEM UPDATED
5 str related aid list<br>
: {int4 notification id}
6<br>
* 399 NO CHANGES
7 str category list<br>
8 str award list<br>
<br>
<br>
byte2<br>
'''Info:'''
1 str romaji name<br>
* ''Priority'' values are 0: low, 1: medium, 2: high
2 str kanji name<br>
* ''Type'' values are 0: all, 1: new, 2: group, 3: complete
3 str english name<br>
 
4 str other name<br>
=== NOTIFICATIONDEL: Remove Anime or Group from Notify List ===
5 str short name list<br>
 
6 str synonym list<br>
'''Command String:'''<br>
7 str producer name list<br>
 
8 str producer id list<br>
by anime id:
* NOTIFICATIONDEL aid={int4 aid}
by group id:
* NOTIFICATIONDEL gid={int4 gid}
<br>
<br>
byte3<br>
'''Possible Replies:'''
1 int4 episodes<br>
 
2 int4 normal ep count<br>
* 247 NOTIFICATION ITEM DELETED
3 int4 special ep count<br>
: {int4 notification_table}|{int4 relid}
4 int4 air date<br>
* 324 NO SUCH NOTIFICATION ITEM
5 int4 end date <br>
 
6 str url<br>
7 str picname<br>
8<br>
<br>
<br>
byte4<br>
'''Info:'''
1 int4 rating<br>
* ''notification_table'' values are 1: anime, 2: group
2 int4 vote count<br>
* ''relid'' value matches the aid/gid supplied
3 int4 temp rating<br>
 
4 int4 temp vote count<br>
=== Empty Table ===
5 int4 average review rating <br>
 
6 int4 review count<br>
<table>
7<br>
<tr>
8<br>
  <td colspan="3" align="center">Byte 1</td>
</tr>
<tr>
  <td>Bit</td>
  <td>Decimal</td>
  <td>Data Field</td>
</tr>
<tr>
  <td>0</td>
  <td align="right">1</td>
  <td>String</td>
</tr>
<tr>
  <td>1</td>
  <td align="right">2</td>
  <td>String</td>
</tr>
<tr>
  <td>2</td>
  <td align="right">4</td>
  <td>String</td>
</tr>
<tr>
  <td>3</td>
  <td align="right">8</td>
  <td>String</td>
</tr>
<tr>
  <td>4</td>
  <td align="right">16</td>
  <td>String</td>
</tr>
<tr>
  <td>5</td>
  <td align="right">32</td>
  <td>String</td>
</tr>
<tr>
  <td>6</td>
  <td align="right">64</td>
  <td>String</td>
</tr>
<tr>
  <td>7</td>
  <td align="right">128</td>
  <td>String</td>
</tr>
</table>
 
=== Permissions (badges) ===
 
<pre>[22 Jan 12 16:57] * Ommina: baka gives good advice.  Let's get the permission thing fully figured out.  If I'm going to stop playing minecraft, I don't want to have to redo stuff.  (and now gone for food.)
[22 Jan 12 17:04] * worf: well ... what do we have
[22 Jan 12 17:04] * worf: we have a set of personal settings that only affect you
[22 Jan 12 17:05] * worf: hiding thumbnails, hiding all images, hiding porn images, hiding all porn
[22 Jan 12 17:06] * worf: but those dont need to be considered in the xml
[22 Jan 12 17:07] * worf: and then we have the permissions
[22 Jan 12 17:07] * worf: see me in user list, see my anime list, see storage info, see source info, see viewed info, see ep info, see file info, see state info, see my votes, see my wishlist, see my userpage, see my porn
[22 Jan 12 17:08] * worf: see my porn - obviously would apply to the hentai badge
[22 Jan 12 17:09] * worf: see my anime list - should apply to all anime and creator badges
[22 Jan 12 17:09] * DerIdiot: see my anime list/see viewed info/see ep info/see my votes are the ones that matter
[22 Jan 12 17:11] * worf: see my votes shouldnt matter
[22 Jan 12 17:11] * DerIdiot: wasn't sure if you have some badge with them
[22 Jan 12 17:11] * DerIdiot: if not then yes it doesn't
[22 Jan 12 17:11] * worf: there is a counter badge
[22 Jan 12 17:11] * worf: but we are already displaying the number of votes on the userpage anyway
[22 Jan 12 17:12] * worf: i dont think that permission hides the counter either
[22 Jan 12 17:12] * DerIdiot: i'm not 100% sure, but if not then yes you cna ignore it
[22 Jan 12 17:14] * worf: the only usage of PERM_SEEVOTES on the userpage appears to be for hiding the latest votes
[22 Jan 12 17:17] * worf: so ...
[22 Jan 12 17:17] * worf: PERM_SEEMYPORN for the hentai badge
[22 Jan 12 17:18] * worf: PERM_SHOWMYLIST for all anime and creator based badges including the hentai badge
[22 Jan 12 17:18] * worf: PERM_VIEWEDINFO same as the above i guess
[22 Jan 12 17:20] * worf: PERM_EPINFO shouldnt apply since we arent displaying which episodes have been watched. just how many
[22 Jan 12 17:22] * DerIdiot: PERM_EPINFO says that somethign is in mylist; PERM_VIEWEDINFO does the same + says that it's watched
[22 Jan 12 17:25] * worf: if you have PERM_SHOWMYLIST on "everyone" and PERM_EPINFO on "no one" then you can only see which anime a person has but not which episodes
[22 Jan 12 17:25] * DerIdiot: yes
[22 Jan 12 17:25] * worf: hm, ok
[22 Jan 12 17:25] * worf: it hides the counts too
[22 Jan 12 17:26] * worf: k
[22 Jan 12 17:26] * DerIdiot: but you only got watched badges not collecting ones right?
[22 Jan 12 17:26] * worf: yes
[22 Jan 12 17:26] * DerIdiot: then PERM_VIEWEDINFO is enough
[22 Jan 12 17:26] * DerIdiot: should prolly have PERM_SHOWMYLIST and PERM_VIEWEDINFO
[22 Jan 12 17:27] * worf: hmm
</pre>
 
 
=== EPISODEDESC: Retrieve Episode Description ===
'''Command String:'''<br>
by eid
* EPISODEDESC eid={int eid}
 
'''Possible Replies:'''
* 241 EPISODE DESCRIPTION
: {int4} eid|{str description}
* 341 NO DESCRIPTION


byte5<br>
'''Info:'''
1 int4 anime planet id<br>
* Be aware of the UDP packet size limits.  As of this writing, fewer than one percent of all episode descriptions will not fit into one packet.  That value falls further if compression is enabled.  Nonetheless, some especially enthusiastic descriptions will be truncated as necessary.
2 int4 anime news network id <br>
3 int4 allcinema id<br>
4 str animenfo id <br>
5<br>
6<br>
7<br>
8<br>
MediaWiki spam blocked by CleanTalk.
MediaWiki spam blocked by CleanTalk.