node-hitomi

dragon tiger online casino

lentera slot

free online slots no deposit

slot yang mudah menang

API Hitomi untuk Node

Instalasi

Penting: Karena seringnya perubahan di Hitomi, sangat disarankan untuk menggunakan versi terbaru.

Node 10.20 atau lebih baru diperlukan.

npm install node-hitomiyarn add node-hitomipnpm add node-hitomibun add node-hitomi

Fitur

  • Pencarian Galeri: Filter berdasarkan tag dan judul, pilih urutan, dan hasil halaman.
  • Pengambilan Galeri: Muat metadata galeri lengkap, termasuk judul, tipe, bahasa, seniman, dan relasi.
  • Manajemen Tag: Buat, parse, cari, dan daftarkan tag. Juga daftarkan bahasa yang tersedia untuk suatu tag.
  • Unduhan Gambar: Selesaikan URL dan ambil gambar dalam AVIF/WebP/JXL (jika tersedia), dengan ukuran thumbnail opsional.
  • Unduhan Video: Ambil video galeri dan gambar poster.

Penggunaan

Paket mengekspor instance klien default, tetapi Anda juga dapat membuat klien sendiri untuk konfigurasi kustom.

import { Hitomi } from 'node-hitomi';import { Agent } from 'https';const agent = new Agent({ keepAlive: true, // Bypass server name indication field blocking servername: '', rejectUnauthorized: false});const hitomi = new Hitomi({ agent: agent, indexMaximumAge: 300000, imageContextMaximumAge: 1800000});

Jika Anda menggunakan modul CommonJS:

const { hitomi, SortType /* and more... */ } = require('node-hitomi');

Galeri

GalleryManager memungkinkan Anda mengambil galeri individu dan mendaftarkan referensi galeri yang cocok.

GalleryManagerve(id)

Mengambil galeri lengkap berdasarkan id dan mengembalikan instance Gallery.

import hitomi from 'node-hitomi';// Ambil galeri berdasarkan idconst gallery = await galleriesve(123456);console(`Judul: ${titley}`);console(`Tipe: ${gallery}`);console(`Bahasa: ${galleryge?.name}`);
GalleryManager(options?)

Mendaftarkan galeri yang cocok dengan kriteria yang diberikan. Anda dapat melewatkan tag, kueri judul, opsi urutan, dan opsi halaman. Metode mengembalikan GalleryReference[].

import hitomi, { SortType } from 'node-hitomi';// Parse ekspresi pencarian menjadi objek tag terstrukturconst tags = tags('male:sole_male -female:netorare series:blue_archive');// Daftarkan referensi galeri yang cocokconst references = await galleries({ tags: tags, title: 'serina', orderBy: SortTyperityMonth});// Selesaikan referensi pertama menjadi galeri lengkapif(references > 0) { const firstGallery = await references[0].retrieve(); console(titley);}

Peringatan: Tidak setiap penggunaan options valid. Ini harus memenuhi batasan di bawah.

  • Hanya satu tag non-bahasa yang diizinkan (opsional digabungkan dengan tag bahasa).
  • Tag negatif dan judul tidak didukung.
const simpleTags = tags('type:manga language:english');// Daftarkan referensi galeri yang cocok dengan halamanconst pagedReferences = await galleries({ tags: simpleTags, orderBy: SortTypeblished, page: { index: 0, size: 25 }});console(pagedReferences, `(${pagedReferences['length']} galeri)`);

Tag

TagManager membantu Anda membuat, memparse, mencari, dan mendaftarkan tag.

TagManager(type, name, isNegative?)

Membuat instance Tag dengan tipe, nama, dan flag negasi opsional.

import hitomi from 'node-hitomi';// Buat tag seri dan daftarkan bahasa yang tersedia untuk tag tersebutconst tag = tags('series', 'trickcal_revive', false);const languages = await tagnguages();console(languages);
TagManager(expression)

Memparse ekspresi yang dapat dibaca manusia menjadi instance Tag unik. Format yang diharapkan adalah [-]type:name, di mana spasi diwakili oleh garis bawah.

import hitomi from 'node-hitomi';// Parse ekspresi string menjadi instance Tagconst parsedTags = tags('female:yandere male:sole_male -tag:group');console(parsedTags);
TagManager(term)

Mencari tag berdasarkan istilah parsial dan mengembalikan tupel [Tag, count], di mana count adalah jumlah galeri yang terkait dengan setiap tag.

import hitomi from 'node-hitomi';// Cari tag dan cetak jumlah galericonst tagAndCounts = await tags('character:agnes');for(const [tag, count] of tagAndCounts) { console(`${String(tag)} (${count} galeri)`);}
TagManager(type, startsWith?)

Mendaftarkan tag dari tipe tertentu, secara opsional difilter oleh karakter awal.

import hitomi, { NameInitial } from 'node-hitomi';// Daftarkan tag female yang dimulai dengan 'a'const femaleATags = await tags('female', NameInitial.A);for(const tag of femaleATags) { console(String(tag));}

Media

ImageeUrl(extension, thumbnailSize?)

Menyelesaikan URL gambar dalam format yang diminta dan ukuran thumbnail opsional.

Peringatan: Tidak setiap kombinasi extension dan thumbnailSize valid. Ini harus memenuhi batasan di bawah.

Ukuran ThumbnailEkstensiPersyaratan (harus benar)
(tidak ada)(semua)has{Extension}
Small(semua)has{Extension}
MediumAvifhasThumbnail && has{Extension}
Big(semua)hasThumbnail && has{Extension}
import hitomi, { Extension, ThumbnailSize } from 'node-hitomi';// Ambil galeri berdasarkan id dan dapatkan gambar thumbnail yang tersediaconst gallery = await galleriesve(123456);const thumbnails = gallerymbnails();// URL WebP ukuran penuhconst imageUrl = await thumbnails[0].resolveUrl(Extension);console(`URL Gambar: ${imageUrl}`);// URL thumbnail medium AVIFconst thumbnailUrl = await thumbnails[1].resolveUrl(Extension, ThumbnailSize);console(`URL Thumbnail: ${thumbnailUrl}`);
Image(extension, thumbnailSize?)

Mengambil gambar sebagai Buffer. Batasan ekstensi dan thumbnail yang sama seperti ImageeUrl berlaku.

import hitomi, { Extension, ThumbnailSize } from 'node-hitomi';import { writeFileSync } from 'fs';// Ambil galeri berdasarkan id dan dapatkan gambar thumbnail yang tersediaconst gallery = await galleriesve(123456);const thumbnails = gallerymbnails();// Ambil dan simpan gambar ukuran penuhconst imageBuffer = await thumbnails[0].fetch(Extension);writeFileSync('image', imageBuffer);// Ambil dan simpan thumbnail mediumconst thumbnailBuffer = await thumbnails[1].fetch(Extension, ThumbnailSize);writeFileSync('thumbnail', thumbnailBuffer);
Video()

Mengambil video galeri sebagai Buffer MP4.

import hitomi from 'node-hitomi';import { writeFileSync } from 'fs';const gallery = await galleriesve(123456);if(gallery) { // Ambil dan simpan video MP4 const videoBuffer = await video(); writeFileSync('video4', videoBuffer);}
Videooster()

Mengambil poster video sebagai Buffer WebP.

import hitomi from 'node-hitomi';import { writeFileSync } from 'fs';const gallery = await galleriesve(123456);if(gallery) { // Ambil dan simpan gambar poster WebP const posterBuffer = await videooster(); writeFileSync('poster', posterBuffer);}

Kontribusi

Kontribusi sangat diterima. Jangan ragu untuk membuka isu untuk bug atau mengirimkan pull request dengan perbaikan.

HITAM123

▲ Kembali ke atas

Platform Lainnya

nomor bets adalah

casino life poker

website casino live

ex 88 slot

Berita Piala Dunia

SKY77

batam4d

cihuy88 slot login

casino mgm las vegas

Jika Anda memiliki pertanyaan, silakan kirim email ke [email protected]

▲ Kembali ke atas