| Crates.io | russenger |
| lib.rs | russenger |
| version | 0.3.1 |
| created_at | 2024-04-30 08:21:28.340611+00 |
| updated_at | 2025-04-27 13:41:05.489224+00 |
| description | A Rust library designed to simplify the handling of Facebook Messenger webhook responses. |
| homepage | https://github.com/j03-dev/russenger |
| repository | https://github.com/j03-dev/russenger |
| max_upload_size | |
| id | 1224743 |
| size | 211,875 |
Russenger is a Rust library that makes it easy to create Facebook Messenger bots. You can check out the documentation here.
/webhook endpoint when you start the application.cargo-generatecargo install cargo-generate
cargo generate --git https://github.com/j03-dev/russenger_template
For more configuration, update the .env file in your project's root directory:
PORT=8000
HOST=0.0.0.0
VERIFY_TOKEN=your_verify_token
FACEBOOK_API_VERSION=v19.0
DATABASE_URL=postgres://<username>:<password>@<hostname>/<dbname>
PAGE_ACCESS_TOKEN=your_page_access_token_from_facebook_developer
[dependencies]
russenger = { version = "0.3.0", features = ["postgres"] } # supports 'sqlite, postgres, mysql'
tokio = { version = "1.43.0", features = ["macros", "rt-multi-thread"] }
sqlx = "0.8.0" # optional if you are not using custom models
use russenger::prelude::*;
async fn get_name(res: Res, req: Req) -> Result<()> {
let name: String = req.data.get_value()?;
res.send(TextModel::new(&req.user, format!("Hello {name}")))
.await?;
Ok(())
}
#[tokio::main]
async fn main() -> Result<()> {
App::init().await?.attach(
Router::new()
.add("/", |res, req| async move {
res.send(TextModel::new(&req.user, "Enter your name: "))
.await?;
res.redirect("/get_name").await?;
Ok(())
})
.add("/get_name", get_name),
);
Ok(())
}
Feel free to contribute by fixing typos, improving documentation, or adding new features. Any help is appreciated!