1#![allow(missing_docs)]
18#![warn(rust_2018_idioms)]
19
20pub mod api;
22pub mod bot;
23pub mod error;
24pub mod handler;
25pub mod keyboard;
26pub mod models;
27pub mod utils;
28
29pub mod prelude {
31 pub use crate::bot::{VkBot, VkBotBuilder};
33
34 pub use crate::api::{VkApi, VkApiBuilder};
36
37 pub use crate::models::*;
39
40 pub use crate::keyboard::*;
42
43 pub use crate::handler::*;
45
46 pub use crate::error::*;
48
49 pub use crate::utils::*;
51}
52
53pub use api::{
55 AudioMessageInfo, DocInfo, DownloadedFile, LongPollServer, PhotoSizeInfo, SavedDocument,
56 SavedPhoto, UploadResponse, UploadServer, VkApi, VkApiBuilder, VkApiConfig,
57};
58pub use bot::{VkBot, VkBotBuilder, VkBotConfig};
59pub use error::{VkError, VkResult};
60pub use handler::{DefaultMessageHandler, MessageHandler};
61
62#[macro_export]
64macro_rules! vk_log {
65 ($($arg:tt)*) => {
66 #[cfg(feature = "logging")]
67 log::info!($($arg)*);
68 };
69}
70
71#[macro_export]
73macro_rules! vk_error {
74 ($($arg:tt)*) => {
75 #[cfg(feature = "logging")]
76 log::error!($($arg)*);
77 };
78}
79
80#[macro_export]
82macro_rules! vk_warn {
83 ($($arg:tt)*) => {
84 #[cfg(feature = "logging")]
85 log::warn!($($arg)*);
86 };
87}