teleborg

A loose Telegram bot API for Rust based on the traiting system. This project is inspired by python-telegram-bot.

How to use the project

Add this to your Cargo.toml toml [dependencies] teleborg = "0.1.31" It's on crates.io now, check it out https://crates.io/crates/teleborg. Note that this project only works on Rust 1.16 or above.

An example

Here we'll show you the bare minimum needed to register a command which sends a hardcoded reply when issued.

```Rust extern crate teleborg; use teleborg::{Dispatcher, Bot, Updater}; use teleborg::objects::Update;

fn main() { // Make sure you have your token let bottoken = "bottoken".tostring(); // Creating a dispatcher which registers all the command and message handlers let mut dispatcher = Dispatcher::new(); // Registering our command which we create below in the form as a function dispatcher.addcommandhandler("test", test, false); // Start the updater, the Updater will start the threads, one of which will poll for updates // and send those to the Dispatcher's thread which will act upon it with the registered handlers Updater::start(Some(bottoken), None, None, None, dispatcher); }

// Our first command handler fn test(bot: &Bot, update: Update, args: Option>) { bot.replytomessage(&update, "It works!").unwrap(); } ```

Currently I only support sendmessage, replytomessage and forwardmessage. More is to come. I recommend not putting your token in the code, if you pass None as teleborg::updater::Updater::Start()'s first argument it'll automatically search for a environment variable called "TELEGRAMBOTTOKEN". Just make sure you set the environment variable equal to your bot token and all is good.