gitter

Crates.iogitter
lib.rsgitter
version0.4.0
sourcesrc
created_at2017-05-15 18:47:50.070252
updated_at2018-03-14 12:43:32.294657
descriptionA library that provides Gitter API
homepagehttps://github.com/shmutalov/gitter-rs
repositoryhttps://github.com/shmutalov/gitter-rs
max_upload_size
id14732
size47,014
Sherzod Mutalov (shmutalov)

documentation

README

gitter-rs

license gitter-rs on crates.io Join the chat at https://gitter.im/gitter-rs/general

Gitter API in Rust

WIP

https://developer.gitter.im

Building

cargo build

Install

Current version

[dependencies]
gitter = "0.4.0"

Development version

[dependencies]
gitter = { git = "https://github.com/shmutalov/gitter-rs" }

Initialize

extern crate gitter;
use gitter::Gitter;

...

let api = Gitter::new("YOUR_ACCESS_TOKEN").unwrap();

Following code snippets did not updated yet

Users

  • Get current user
let user = api.get_user().unwrap();

Rooms

// Get all rooms
let rooms = api.get_rooms().unwrap();

// Get room by id
let room = api.get_room("roomID").unwrap();

// Get rooms of some user
let rooms = api.get_rooms("userID").unwrap();

// Join room
let room = api.join_room("roomID", "userID").unwrap();

// Leave room
let room = api.leave_room("roomID", "userID").unwrap();

// Get room id
let room_id = api.get_room_id("room/uri").unwrap();

// Search gitter rooms
let rooms = api.search_rooms("search/string").unwrap();

Messages

// Get messages of room
let messages = api.get_messages("roomID", None).unwrap();

// Get one message
let message = api.get_message("roomID", "messageID").unwrap();

// Send message
api.send_message("roomID", "free chat text").unwrap();

Roadmap

This project is a work in progress.

  • Implement base Rest API's and add some tests
  • Test send_message method
  • Implement all Rest API methods
  • Add support for Streaming API
  • Add support for Faye [Optional]
  • Add support for automated access token retreive via Github authentification
  • Cover with tests
  • Add examples

License

gitter-rs is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.

Commit count: 77

cargo fmt