vkteams-bot-0.1.0 has been yanked.
VK Teams Bot API client
VK Teams Bot API client written in Rust.
Table of Contents
Environment
- Begin with bot API following instructions
- Set environment variables or save in
.env file
$ export VKTEAMS_VKTEAMS_BOT_API_TOKEN=<Your token here> $ export VKTEAMS_BOT_API_URL=<Your base api url> $ export VKTEAMS_PROXY=<Proxy>
$ set VKTEAMS_VKTEAMS_BOT_API_TOKEN=<Your token here> $ set VKTEAMS_BOT_API_URL=<Your base api url> $ set VKTEAMS_PROXY=<Proxy>
- Put lines in you
Cargo.toml file
[dependencies]
vkteams_bot = "0.1"
log = "0.4"
Usage
#[macro_use]
extern crate log;
use vkteams_bot::{self, bot::types::*};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
dotenvy::dotenv().expect("Unable to load .env file");
pretty_env_logger::init();
info!("Starting...");
let bot = Bot::new(APIVersionUrl::V1);
let chat_events = bot.get_events().await.unwrap();
for event in chat_events.events {
match event.event_type {
EventType::NewMessage => {
let self_data = bot.self_get().await.unwrap();
let msg = bot
.messages_send_text(RequestMessagesSendTExt {
chat_id: event.payload.chat.clone().unwrap().chat_id,
text: self_data.user_id.0,
reply_msg_id: None,
forward_chat_id: None,
forward_msg_id: None,
inline_keyboard_markup: None,
format: None,
parse_mode: None,
})
.await
.unwrap();
bot.messages_delete_messages(RequestMessagesDeleteMessages {
chat_id: event.payload.chat.clone().unwrap().chat_id,
msg_id: msg.msg_id.unwrap(),
})
.await
.unwrap();
}
_ => {
warn!("Not implmented EventType: {:?}. Skip", &event.event_type);
}
}
}
Ok(())
}