anidb-udp-client
    Preparing search index...

    Class AnidbUDPClient

    Hierarchy

    • EventEmitter
      • AnidbUDPClient
    Index
    • Parameters

      • OptionalclientId: string

        client id, add your own here: https://anidb.net/software/add

      • Optionaloptions: {
            cache?: false | AnidbCacheImplType;
            debug?: true;
            incomming_port?: number;
            logger?: false | AnidbLoggerType;
            ping_interval?: number;
        }
        • Optionalcache?: false | AnidbCacheImplType

          pass cache implementation: by default (undefined) it will use internal cache, that saves to {cwd}/.cache if set to false cache won't be used if instance of AnidbCacheImplType it will use that instead *

        • Optionaldebug?: true

          enable/disable debug logging

        • Optionalincomming_port?: number

          the port to listen to for response (leave undefined if you are not sure)

        • Optionallogger?: false | AnidbLoggerType

          Logger: default is using console.log, if false logging will be disabled, or pass a function

        • Optionalping_interval?: number

          define the interval in miliseconds at which anidb is pinged to keep the connection active, defaults to 5minutes

      Returns AnidbUDPClient

      import { AnidbUDPClient } from 'anidb-udp-client'
      const anidbClient = new AnidbUDPClient('someclientid', {debug: true})
    • Start the connection to anidb. It will automatically log in if user and password is provided. This client will try to keep the session alive indefenetly, so make sure to call AnidbUDPClient.disconnect when you stop using. For long running services try to be clever and disconnect when there is no activity for a while.

      Parameters

      • Optionaluser: string

        anidb user

      • Optionalpassword: string

        anidb password

      • Optionaludp_api_key: string

        UDP API Key (defined in the users profile), pass to enable encryption, must be set and match the one in the user account

      • Optionalencoding:
            | "ISO8859_1"
            | "ISO8859_2"
            | "ISO8859_4"
            | "ISO8859_5"
            | "ISO8859_7"
            | "ISO8859_9"
            | "ISO8859_13"
            | "ISO8859_15"
            | "KOI8_R"
            | "ASCII"
            | "UTF8"
            | "UnicodeBigUnmarked"
            | "UnicodeLittleUnmarked"
            | "Cp1250"
            | "Cp1251"
            | "Cp1252"
            | "Cp1253"
            | "Cp1254"
            | "Cp1257"
            | "UnicodeBig"
            | "UnicodeLittle"
            | "UTF16"

        set the encoding (only applies if user and password was passed)

      Returns Promise<
          | { ip?: string
          | null; port?: string | null; session: string }
          | undefined,
      >

      const anidb = new AnidbUDPClient('myclientid')
      await anidb.connect("my-user","my-password")
      await anidb.disconnect()
    • Disconnect and logout

      Parameters

      • Optionalsource: any
      • Optionalerror: Error

      Returns Promise<void>

    • Change the encoding for future responses (reset on disconnect). Prefrably use the enc param of AnidbUDPClient.login instead.

      Parameters

      • Optionalencoding:
            | "ISO8859_1"
            | "ISO8859_2"
            | "ISO8859_4"
            | "ISO8859_5"
            | "ISO8859_7"
            | "ISO8859_9"
            | "ISO8859_13"
            | "ISO8859_15"
            | "KOI8_R"
            | "ASCII"
            | "UTF8"
            | "UnicodeBigUnmarked"
            | "UnicodeLittleUnmarked"
            | "Cp1250"
            | "Cp1251"
            | "Cp1252"
            | "Cp1253"
            | "Cp1254"
            | "Cp1257"
            | "UnicodeBig"
            | "UnicodeLittle"
            | "UTF16"
      • Optionalpriority: number

      Returns Promise<void>

      Specify encoding with AnidbUDPClient.login or AnidbUDPClient.connect command

    • log into Anidb

      Parameters

      • user: string
      • pass: string
      • Optionalencoding:
            | "ISO8859_1"
            | "ISO8859_2"
            | "ISO8859_4"
            | "ISO8859_5"
            | "ISO8859_7"
            | "ISO8859_9"
            | "ISO8859_13"
            | "ISO8859_15"
            | "KOI8_R"
            | "ASCII"
            | "UTF8"
            | "UnicodeBigUnmarked"
            | "UnicodeLittleUnmarked"
            | "Cp1250"
            | "Cp1251"
            | "Cp1252"
            | "Cp1253"
            | "Cp1254"
            | "Cp1257"
            | "UnicodeBig"
            | "UnicodeLittle"
            | "UTF16"

      Returns Promise<{ ip?: string | null; port?: string | null; session: string }>

    • Logs the user out. Only very few commands can be used when logged out, and this library will stop tying to keep the session alive when logged out.

      Parameters

      • Optionalpriority: number

      Returns Promise<void>

    • To manually ping (the lib takes care of pinging every once in a while by it's own)

      Returns Promise<ParsedResponse>

    • Return anime by title or aid

      Type Parameters

      • T extends
            | "aid"
            | "year"
            | "type"
            | "romanji_name"
            | "kanji_name"
            | "english_name"
            | "other_name_list"
            | "short_name_list"
            | "synonym_list"
            | "dateflags"
            | "related_anime"
            | "related_types"
            | "episodes"
            | "highest_ep_number"
            | "special_ep_count"
            | "air_date"
            | "end_date"
            | "url"
            | "picname"
            | "rating"
            | "vote_count"
            | "temp_rating"
            | "temp_vote_count"
            | "average_review_rating"
            | "review_count"
            | "award_list"
            | "is_18_restricted"
            | "ann_id"
            | "allcinema_id"
            | "animenfo_id"
            | "tag_name_list"
            | "tag_id_list"
            | "tag_weight_list"
            | "date_record_updated"
            | "character_id_list"
            | "specials_count"
            | "credits_count"
            | "other_count"
            | "trailer_count"
            | "parody_count"

      Parameters

      • anime: string | number

        Anime title (any synonim) or anime id (aid)

      • Optionalfields: T[]

        List of fields to to return.

      Returns Promise<Pick<AnimeResult, "aid" | T>>

      const { romanji_name, episodes, aid } = await anidb.anime(3211,["romanji_name", "episodes"])
      
    • get anime description by aid

      Parameters

      • aid: number

      Returns NullablePromise<string>

    • get calendar list

      Returns Promise<{ aid: number; dateflags: string[]; startdate: number }[]>

    • get character by character id

      Parameters

      • charid: number

      Returns Promise<
          {
              anime_blocks: {
                  aid: number;
                  appearance: number;
                  creatorid: number;
                  is_main_seiyuu: boolean;
              }[];
              character_name_kanji: string;
              character_name_transc: string;
              charid: number;
              episode_list: number[];
              gender: string;
              last_update_date: string;
              pic: string;
              type: number;
          },
      >

    • get creator by creator id

      Parameters

      • creatorid: number

      Returns Promise<
          {
              creator_name_kanji: string;
              creator_name_transcription: string;
              creatorid: number;
              last_update_date: number;
              pic_name: string;
              type: "person"
              | "company"
              | "collaboration";
              url_english: string;
              url_japanese: string;
              wiki_url_english: string;
              wiki_url_japanese: string;
          },
      >

    • get episode by episode id

      Parameters

      • eid: number

      Returns Promise<
          {
              aid: number;
              aired: number;
              eid: number;
              eng: string;
              epno: string;
              kanji: string;
              length: number;
              rating: number;
              romaji: string;
              type: ""
              | "S"
              | "C"
              | "T"
              | "P"
              | "O";
              votes: number;
          },
      >

    • get episode by anime and episode number

      Parameters

      • anime: string | number

        anime title or anime id (aid)

      • epno: string

        episode number

      Returns Promise<
          {
              aid: number;
              aired: number;
              eid: number;
              eng: string;
              epno: string;
              kanji: string;
              length: number;
              rating: number;
              romaji: string;
              type: ""
              | "S"
              | "C"
              | "T"
              | "P"
              | "O";
              votes: number;
          },
      >

    • Retrieve File Data by file id

      Type Parameters

      • T extends
            | "aid"
            | "eid"
            | "gid"
            | "mylist_id"
            | "other_episodes"
            | "is_deprecated"
            | "state"
            | "size"
            | "ed2k"
            | "md5"
            | "sha1"
            | "crc32"
            | "video_color_depth"
            | "quality"
            | "source"
            | "audio_codecs"
            | "audio_bitrates"
            | "video_codec"
            | "video_bitrate"
            | "video_resolution"
            | "file_extension"
            | "dub_language"
            | "sub_language"
            | "length_seconds"
            | "description"
            | "aired_date"
            | "anidb_filename"
            | "mylist_state"
            | "mylist_filestate"
            | "mylist_viewed"
            | "mylist_viewdate"
            | "mylist_storage"
            | "mylist_source"
            | "mylist_other"
            | "anime_total_episodes"
            | "highest_episode"
            | "year"
            | "type"
            | "related_aid_list"
            | "related_aid_type"
            | "category_list"
            | "romanji_name"
            | "kanji_name"
            | "english_name"
            | "other_name_list"
            | "short_name_list"
            | "synonym_list"
            | "epno"
            | "ep_name"
            | "ep_romanji_name"
            | "ep_kanji_name"
            | "ep_rating"
            | "ep_vote_count"
            | "group_name"
            | "group_short_name"
            | "aid_record_updated"
            | "fid"

      Parameters

      • fid: number
      • fields: T[]

        list of fields to return

      Returns Promise<Pick<FileResult, "fid" | T>>

    • Retrieve File Data by anime, group and episode number

      Type Parameters

      • T extends
            | "aid"
            | "eid"
            | "gid"
            | "mylist_id"
            | "other_episodes"
            | "is_deprecated"
            | "state"
            | "size"
            | "ed2k"
            | "md5"
            | "sha1"
            | "crc32"
            | "video_color_depth"
            | "quality"
            | "source"
            | "audio_codecs"
            | "audio_bitrates"
            | "video_codec"
            | "video_bitrate"
            | "video_resolution"
            | "file_extension"
            | "dub_language"
            | "sub_language"
            | "length_seconds"
            | "description"
            | "aired_date"
            | "anidb_filename"
            | "mylist_state"
            | "mylist_filestate"
            | "mylist_viewed"
            | "mylist_viewdate"
            | "mylist_storage"
            | "mylist_source"
            | "mylist_other"
            | "anime_total_episodes"
            | "highest_episode"
            | "year"
            | "type"
            | "related_aid_list"
            | "related_aid_type"
            | "category_list"
            | "romanji_name"
            | "kanji_name"
            | "english_name"
            | "other_name_list"
            | "short_name_list"
            | "synonym_list"
            | "epno"
            | "ep_name"
            | "ep_romanji_name"
            | "ep_kanji_name"
            | "ep_rating"
            | "ep_vote_count"
            | "group_name"
            | "group_short_name"
            | "aid_record_updated"
            | "fid"

      Parameters

      • anime: string | number

        anime name or id

      • group: string | number

        group name or id

      • epno: string

        episode number

      • fields: T[]

        fields to return

      Returns Promise<Pick<FileResult, "fid" | T>>

      AnidbError with code RESPONSE_CODE.MULTIPLE_FILES_FOUND if more than one file is found. List of file ids will be in error.payload

    • Retrieve File Data by ed2k and size

      Type Parameters

      • T extends
            | "aid"
            | "eid"
            | "gid"
            | "mylist_id"
            | "other_episodes"
            | "is_deprecated"
            | "state"
            | "size"
            | "ed2k"
            | "md5"
            | "sha1"
            | "crc32"
            | "video_color_depth"
            | "quality"
            | "source"
            | "audio_codecs"
            | "audio_bitrates"
            | "video_codec"
            | "video_bitrate"
            | "video_resolution"
            | "file_extension"
            | "dub_language"
            | "sub_language"
            | "length_seconds"
            | "description"
            | "aired_date"
            | "anidb_filename"
            | "mylist_state"
            | "mylist_filestate"
            | "mylist_viewed"
            | "mylist_viewdate"
            | "mylist_storage"
            | "mylist_source"
            | "mylist_other"
            | "anime_total_episodes"
            | "highest_episode"
            | "year"
            | "type"
            | "related_aid_list"
            | "related_aid_type"
            | "category_list"
            | "romanji_name"
            | "kanji_name"
            | "english_name"
            | "other_name_list"
            | "short_name_list"
            | "synonym_list"
            | "epno"
            | "ep_name"
            | "ep_romanji_name"
            | "ep_kanji_name"
            | "ep_rating"
            | "ep_vote_count"
            | "group_name"
            | "group_short_name"
            | "aid_record_updated"
            | "fid"

      Parameters

      • ed2k: string

        file ed2k hash

      • size: number

        size of file in bytes

      • fields: T[]

        list of fields to return

      Returns Promise<Pick<FileResult, "fid" | T>>

    • Retrieve Group Data

      Parameters

      • group: string | number

        group id or name

      Returns Promise<
          {
              acount: number;
              dateflags: (
                  | "start_unknown_day"
                  | "start_unknown_month"
                  | "end_unknown_day"
                  | "end_unkown_month"
                  | "ended"
                  | "start_unknown_year"
                  | "end_unknown_year"
              )[];
              disbandeddate: number;
              fcount: number;
              foundeddate: number;
              gid: number;
              grouprelations: {
                  othergroupid: number;
                  relationtype: "participant_in"
                  | "parent_of"
                  | "merged_from"
                  | "formerly";
              }[];
              irc_channel: string;
              irc_server: string;
              lastactivitydate: number;
              lastreleasedate: number;
              name: string;
              picname: string;
              rating: number;
              short: string;
              url: string;
              votes: number;
          },
      >

    • Returns a list of group names and ranges of episodes released by the group for a given anime.

      Parameters

      • aid: number

        anime id

      • Optionalstate: "ongoing" | "stalled" | "complete" | "dropped" | "finished" | "specials_only"

      Returns Promise<
          {
              completition_state: | "ongoing"
              | "stalled"
              | "complete"
              | "dropped"
              | "finished"
              | "specials_only";
              episode_range: string;
              gid: number;
              group_name: string;
              last_episode_number: number;
              rating: number;
              votes: number;
          }[],
      >

    • Returns a list of AniDB anime ids of anime that have been updated in in a given time frame, ordered by descending age (oldest to newest change). Either age is specified or time not both.

      Parameters

      • opts: { age: number } | { time: number }
        • { age: number }
          • age: number

            age in

        • { time: number }
          • time: number

            unix time

      Returns Promise<
          {
              last_update_date: number;
              total_count: number;
              updated_aids: number[];
          },
      >

    EVENTS: { DISCONNECT: "disconnect" } = ...

    valid events to listen to

    Type Declaration

    • ReadonlyDISCONNECT: "disconnect"

      on disconnect from udp connection

    • Will cancel any pending export request, queued either through UDP or the web server.

      Returns Promise<"EXPORT_CANCELLED">

    • Get user id

      Parameters

      • username: string

      Returns Promise<{ uid: number; username: string }>

    • Get user id

      Parameters

      • uid: number

      Returns Promise<{ uid: number; username: string }>

    • Get a random anime

      Parameters

      • type: "db" | "watched" | "unwatched" | "mylist"

      Returns Promise<
          {
              aid: string;
              air_date: number;
              average_review_rating: number;
              categories: string[];
              dateflags: (
                  | "start_unknown_day"
                  | "start_unknown_month"
                  | "end_unknown_day"
                  | "end_unkown_month"
                  | "ended"
                  | "start_unknown_year"
                  | "end_unknown_year"
              )[];
              end_date: number;
              english_name: string;
              episodes: number;
              highest_ep_number: number;
              is_18_restricted: boolean;
              kanji_name: string;
              other_name_list: string[];
              picname: string;
              rating: number;
              review_count: number;
              romanji_name: string;
              short_name_list: string[];
              special_ep_count: number;
              synonym_list: string[];
              temp_rating: number;
              temp_vote_count: number;
              type: string;
              vote_count: number;
              year: string;
          },
      >

    • Queues a MyList Export by the AniDB Servers. As with a manual export request, exports are only done during periods when server load is low. As a result, exports may take up to 24 hours. The client submitting the request will receive an AniDB message when the export is ready to be collected. Only one export can be in the queue at a time.

      Parameters

      • template:
            | "csv-adborg"
            | "csv-files"
            | "csv-minimal"
            | "html-anidbstyle"
            | "html-cleancut"
            | "html-cloud"
            | "html-dump"
            | "html-fixme"
            | "html-fstyle"
            | "html-goldsilver"
            | "html-graywhite"
            | "html-green"
            | "html-knch"
            | "html-lightblue"
            | "html-operatic"
            | "html-orangewhite"
            | "html-silver"
            | "json-adborg"
            | "json-large"
            | "plot-time-wasted"
            | "sfv-simple"
            | "txt-ed2k"
            | "txt-udp-mylist"
            | "xml"
            | "xml-acm"
            | "xml-anivote"
            | "xml-cdb"
            | "xml-dark"
            | "xml-files"
            | "xml-large"
            | "xml-mini"
            | "xml-mystatus"
            | "xml-naive"
            | "xml-nx"
            | "xml-plain"
            | "xml-plain-anisubtwo"
            | "xml-plain-cs"
            | "xml-plain-full"
            | "xml-plain-new"
            | "xml-xslt"

      Returns Promise<"EXPORT_QUEUED">

    • Send Message

      Parameters

      • username: string
      • title: string
      • body: string

      Returns Promise<string>

    • Add MyList entry by anime. Can be used to update and exiting entry by passing options.edit=true

      Parameters

      • animeinfo: { anime: string | number; epno?: number; group?: string | number }
        • anime: string | number

          anime name or id

        • Optionalepno?: number

          Episode number, epno=0 means all episodes (default), negative numbers means upto. (-12 -> upto 12)

        • Optionalgroup?: string | number

          group name or id. Optional: if not defined generic file will be added to mylist

      • Optionaloptions: {
            edit?: boolean;
            other?: string;
            source?: string;
            state?:
                | "unknown"
                | "internal_storage"
                | "external_storage"
                | "deleted"
                | "remote_storage";
            storage?: string;
            viewdate?: number;
            viewed?: boolean;
        }

        My list entry options

        • Optionaledit?: boolean

          true to edit a MyList entry instead of creating a new one. When editing, optional values that are not supplied retain their original value. That is, they are not replaced with default or empty values. Only values supplied are updated.

        • Optionalother?: string

          other remarks/notes (<br/> can be used to split into multiple lines)

        • Optionalsource?: string

          (i.e. ed2k, dc, ftp, irc, ...)

        • Optionalstate?:
              | "unknown"
              | "internal_storage"
              | "external_storage"
              | "deleted"
              | "remote_storage"
        • Optionalstorage?: string

          label of the storage

        • Optionalviewdate?: number
        • Optionalviewed?: boolean

      Returns Promise<{ added: number }>

      AnidbError see codes at Add_file_to_MyList

    • Add MyList entry by file. Either by file id, ed2k+size, mylist id. Can be used to update and exiting entry by passing options.edit=true

      Parameters

      • fileinfo: { fid: number } | { ed2k: string; size: number } | { lid: number }

        file to add to mylist, pass { fid } (file id) or { ed2k, size } (ed2k hash and size in bytes) or { lid } (mylist id) to edit

      • Optionaloptions: {
            edit?: boolean;
            other?: string;
            source?: string;
            state?:
                | "unknown"
                | "internal_storage"
                | "external_storage"
                | "deleted"
                | "remote_storage";
            storage?: string;
            viewdate?: number;
            viewed?: boolean;
        }

        My list entry options

        • Optionaledit?: boolean

          true to edit a MyList entry instead of creating a new one. When editing, optional values that are not supplied retain their original value. That is, they are not replaced with default or empty values. Only values supplied are updated. When lid is passed is automattically set to true and option ignored

        • Optionalother?: string

          other remarks/notes (<br/> can be used to split into multiple lines)

        • Optionalsource?: string

          (i.e. ed2k, dc, ftp, irc, ...)

        • Optionalstate?:
              | "unknown"
              | "internal_storage"
              | "external_storage"
              | "deleted"
              | "remote_storage"
        • Optionalstorage?: string

          label of the storage

        • Optionalviewdate?: number
        • Optionalviewed?: boolean

      Returns Promise<
          | { code: "MYLIST_ENTRY_ADDED"; lid: number }
          | { code: "MYLIST_ENTRY_EDITED"; nr_edited: number }
          | undefined,
      >

      AnidbError with code RESPONSE_CODE.FILE_ALREADY_IN_MYLIST if not edit=true. Mylist entry (same result as mylist_by_file_id result) will be in error.payload

    • Retrieve MyList entry by anime. Can return either a single result { single: ... } or muliple result { multi: ... }. See type definition.

      Parameters

      • anime: string | number

        anime name or id

      • Optionalgroup: string | number

        group name or id

      • Optionalepno: number

        episode number

      Returns Promise<
          | {
              multi?: undefined;
              single: {
                  aid: number;
                  date: number;
                  eid: number;
                  fid: number;
                  filestate: | "other"
                  | "normal/original"
                  | "corrupted version/invalid crc"
                  | "self edited"
                  | "self ripped"
                  | "on dvd"
                  | "on vhs"
                  | "on tv"
                  | "in theaters"
                  | "streamed";
                  gid: number;
                  lid: number;
                  other: string;
                  source: string;
                  state: | "unknown"
                  | "internal_storage"
                  | "external_storage"
                  | "deleted"
                  | "remote_storage";
                  storage: string;
                  viewdate: number;
              };
          }
          | {
              multi: {
                  anime_title: string;
                  episodes: number;
                  eps_cd: string;
                  eps_deleted: string;
                  eps_hdd: string;
                  eps_unkown: string;
                  eps_watiched: string;
                  groups: { episodes: string; group: string }[];
              };
              single?: undefined;
          }
          | undefined,
      >

    • Retrieve MyList entry by file ed2khash and size

      Parameters

      • ed2k: string

        hash

      • size: number

        in bytes

      Returns Promise<
          {
              aid: number;
              date: number;
              eid: number;
              fid: number;
              filestate: | "other"
              | "normal/original"
              | "corrupted version/invalid crc"
              | "self edited"
              | "self ripped"
              | "on dvd"
              | "on vhs"
              | "on tv"
              | "in theaters"
              | "streamed";
              gid: number;
              lid: number;
              other: string;
              source: string;
              state: | "unknown"
              | "internal_storage"
              | "external_storage"
              | "deleted"
              | "remote_storage";
              storage: string;
              viewdate: number;
          },
      >

    • Retrieve MyList entry by file id

      Parameters

      • fid: number

        file id

      Returns Promise<
          {
              aid: number;
              date: number;
              eid: number;
              fid: number;
              filestate: | "other"
              | "normal/original"
              | "corrupted version/invalid crc"
              | "self edited"
              | "self ripped"
              | "on dvd"
              | "on vhs"
              | "on tv"
              | "in theaters"
              | "streamed";
              gid: number;
              lid: number;
              other: string;
              source: string;
              state: | "unknown"
              | "internal_storage"
              | "external_storage"
              | "deleted"
              | "remote_storage";
              storage: string;
              viewdate: number;
          },
      >

    • Parameters

      • lid: number

        Retrieve MyList Data

      Returns Promise<
          {
              aid: number;
              date: number;
              eid: number;
              fid: number;
              filestate: | "other"
              | "normal/original"
              | "corrupted version/invalid crc"
              | "self edited"
              | "self ripped"
              | "on dvd"
              | "on vhs"
              | "on tv"
              | "in theaters"
              | "streamed";
              gid: number;
              lid: number;
              other: string;
              source: string;
              state: | "unknown"
              | "internal_storage"
              | "external_storage"
              | "deleted"
              | "remote_storage";
              storage: string;
              viewdate: number;
          },
      >

    • Remove MyList entries by anime.

      Parameters

      • animeinfo: { anime: string | number; epno: number; group?: string | number }
        • anime: string | number

          anime name or id

        • epno: number

          Episode number (negative numbers and 0 do not work), and epno is required

        • Optionalgroup?: string | number

          group name or id. Optional

      Returns Promise<{ removed: number }>

      AnidbError see codes at Add_file_to_MyList

    • Removes MyList entry by file. Either by file id, ed2k+size, mylist id.

      Parameters

      • fileinfo: { fid: number } | { ed2k: string; size: number } | { lid: number }

        file to add to mylist, pass { fid } (file id) or { ed2k, size } (ed2k hash and size in bytes) or { lid } (mylist id) to edit

      Returns Promise<{ removed: number }>

      AnidbError with code RESPONSE_CODE.FILE_ALREADY_IN_MYLIST if not edit=true. Mylist entry (same result as mylist_by_file_id result) will be in error.payload

      AnidbError see codes at Add_file_to_MyList

    • Retrieve MyList stats

      Returns Promise<
          {
              added_animes: string;
              added_eps: string;
              added_files: string;
              added_groups: string;
              anime: string;
              eps: string;
              files: string;
              glory_perc: string;
              leech_perc: string;
              mylist_perc: string;
              reviews: string;
              size_of_files: string;
              viewed_mylist_perc: string;
              viewed_nr_eps: string;
              viewed_perc: string;
              views_in_min: string;
              votes: string;
          },
      >

    • Vote for specified anime/episode/group

      Parameters

      • type: "group" | "anime" | "anime_tmp" | "episode"

        type of vote: anime vote, anime temporary vote, vote for a group, vote for episode

      • name_or_id: string | number

        identifier to vote for, can be a name or the id (of the type provided)

      • vote: number | "get" | "revoke"

        Must be 'get' or 'revoke' or a number between 100 and 1000

      Returns Promise<
          {
              action: "VOTED"
              | "VOTE_FOUND"
              | "VOTE_UPDATED"
              | "VOTE_REVOKED";
              code: 260 | 261 | 262 | 263;
              id: number;
              name: string;
              type: "group" | "anime" | "anime_tmp" | "episode";
              vote_value: number;
          },
      >

      AnidbError with code RESPONSE_CODE.NO_SUCH_VOTE, PERMVOTE_NOT_ALLOWED, ALREADY_PERMVOTED with payload same as the normal response