Библиотека Rust для взаимодействия с imgchest.com. Он реализует весь API, а также предоставляет некоторые функции очистки данных без входа в систему.
# [ tokio :: main ]
async fn main ( ) -> anyhow :: Result < ( ) > {
let client = imgchest :: Client :: new ( ) ;
client . set_token ( "TOKEN" ) ;
let mut builder = imgchest :: CreatePostBuilder :: new ( ) ;
builder
. title ( "test title" )
. nsfw ( false )
. image ( imgchest :: UploadPostFile :: from_path ( "img.png" ) . await ? ) ;
let post = client . create_post ( builder ) . await ? ;
dbg ! ( &post ) ;
Ok ( ( ) )
}
# [ tokio :: main ]
async fn main ( ) -> anyhow :: Result < ( ) > {
let client = imgchest :: Client :: new ( ) ;
let post = client
. get_post ( "3qe4gdvj4j2" )
. await ? ;
dbg ! ( &post ) ;
Ok ( ( ) )
}
# [ tokio :: main ]
async fn main ( ) -> anyhow :: Result < ( ) > {
let client = imgchest :: Client :: new ( ) ;
let post = client
. get_scraped_post ( "3qe4gdvj4j2" )
. await ? ;
dbg ! ( &post ) ;
Ok ( ( ) )
}
Раньше эта библиотека пыталась полностью избежать использования официального API. Это произошло по следующим 2 причинам:
Хотя ограничения скорости, похоже, были обновлены и стали терпимыми (60 запросов в минуту), для получения сообщений по-прежнему требуется вход в систему. В результате в эту библиотеку была добавлена поддержка API, а также была предпринята попытка предоставить альтернативы на основе парсинга, где это возможно. Рекомендуется по возможности использовать функцию очистки данных, чтобы избежать необходимости использования токена API и ограничения скорости.
Объекты очищенного API в этой библиотеке максимально соответствуют официальным API, хотя некоторые поля отсутствуют.
API ограничен в нескольких отношениях. Эта библиотека может получить больше функций, основанных на очистке данных, чтобы обойти эти ограничения. Эти ограничения упорядочены по степени серьезности.