5 个版本

0.2.0 2024 年 4 月 8 日
0.1.4 2024 年 4 月 8 日
0.1.3 2023 年 3 月 27 日
0.1.2 2023 年 1 月 9 日
0.1.1 2022 年 9 月 26 日

554网络编程 中排名 #554

Download history 95/week @ 2024-04-21 58/week @ 2024-04-28 101/week @ 2024-05-05 104/week @ 2024-05-12 52/week @ 2024-05-19 92/week @ 2024-05-26 89/week @ 2024-06-02 62/week @ 2024-06-09 36/week @ 2024-06-16 95/week @ 2024-06-23 47/week @ 2024-06-30 55/week @ 2024-07-07 58/week @ 2024-07-14 31/week @ 2024-07-28

每月下载量 91 次

Apache-2.0

24KB
401

Instant Akismet:用 Rust 编写的 Akismet 垃圾邮件检测客户端

Documentation Crates.io Build status License: Apache 2.0

Instant Akismet 是 Akismet 垃圾邮件检测服务的完整 Rust 绑定,并在 Instant Domains 中用于生产,帮助我们保护用户网站免受评论和消息垃圾邮件的侵害。

功能

  • 支持所有 Akismet API 功能
    • Akismet 密钥验证
    • 评论垃圾邮件检查
    • 报告垃圾邮件(假阴性)
    • 报告正常邮件(假阳性)
  • Akismet 高级技巧处理
  • 完整的 Akismet 错误传播
  • 所有 API 功能的单元测试

入门指南

首先,您需要前往 Akismet 并加入开发者计划以获取 API 密钥。

注意:为了运行包含的测试,此密钥应设置为环境中的 AKISMET_KEY。

使用方法

// Initialize client
let akismet_client = AkismetClient::new(
    String::from("https://exampleblog.com"), // The URL for your blog
    akismet_key, // Your Akismet API key
    reqwest::Client::new(), // Reqwest client to use for requests
    AkismetOptions::default(), // AkismetOptions config
);

// Verify key
akismet_client.verify_key().await?;

// Create a comment
let comment = Comment::new(akismet_client.blog.as_ref(), "8.8.8.8")
    .comment_author("exampleUser1")
    .comment_author_email("[email protected]")
    .comment_content("example comment content");

// Check comment for spam
let is_spam = akismet_client.check_comment(comment).await?;

测试

为了运行包含的测试,您需要确保您的环境中已设置 API 密钥为 AKISMET_KEY。

cargo test

依赖项

~7-20MB
~297K SLoC