1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
//! 基于 [ricq](https://docs.rs/ricq/latest/ricq/) 的 QQ 机器人框架,提供一致、易用、简洁的 API。
//!
//! 更多信息,请参考 [`login`] 和 [`Client`]。
//!
//! # Examples
//!
//! ## Rust
//!
//! ```rust,no_run
//! use libawr::{login, msg, Protocol};
//! use anyhow::Result;
//!
//! #[tokio::main]
//! async fn main() -> Result<()> {
//! let (client, alive) = login!(12345678, password="******", protocol=Protocol::IPad).await?;
//! client.friend(23456789).send(msg!("Hello, world!")).await?;
//! alive.auto_reconnect().await?;
//! unreachable!()
//! }
//! ```
//!
//! ## Python
//! ```python
//! import asyncio
//! import awr
//!
//! async def main():
//! client, alive = await awr.login(12345678, password="******", protocol=awr.Protocol.IPad)
//! await client.friend(23456789).send("Hello, world!")
//! await alive.auto_reconnect()
//!
//! asyncio.run(main())
//! ```
//!
//! [`login`]: mod@crate::login
//! [`Client`]: crate::client::Client
#![feature(error_generic_member_access)]
#![feature(provide_any)]
#![deny(missing_docs)]
#[macro_use]
pub(crate) mod utils;
pub mod client;
pub mod consts;
pub mod device;
pub mod login;
pub mod message;
pub mod meta;
pub use client::Client;
pub use login::{login_with_password, login_with_password_md5, login_with_qrcode};
pub use ricq::Protocol;