7 unstable releases (3 breaking)

Uses old Rust 2015

0.4.0 Mar 14, 2018
0.3.0 Jan 22, 2018
0.2.0 Jan 8, 2018
0.1.3 Jun 29, 2017
0.1.2 May 21, 2017

#114 in #chat

34 downloads per month

MIT/Apache

30KB
594 lines

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.

Dependencies

~16–25MB
~442K SLoC