mirror of
https://gitlab.com/xmpp-rs/xmpp-rs.git
synced 2024-07-12 22:21:53 +00:00
42 lines
1.3 KiB
Rust
42 lines
1.3 KiB
Rust
|
// Copyright (c) 2019 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
||
|
//
|
||
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
||
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
||
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||
|
|
||
|
use env_logger;
|
||
|
use std::env::args;
|
||
|
use std::str::FromStr;
|
||
|
use tokio_xmpp::parsers::{message::MessageType, BareJid, Jid};
|
||
|
use xmpp::{ClientBuilder, ClientFeature, ClientType, Event};
|
||
|
|
||
|
#[tokio::main]
|
||
|
async fn main() -> Result<(), Option<()>> {
|
||
|
env_logger::init();
|
||
|
|
||
|
let args: Vec<String> = args().collect();
|
||
|
if args.len() != 3 {
|
||
|
println!("Usage: {} <jid> <password>", args[0]);
|
||
|
return Err(None);
|
||
|
}
|
||
|
|
||
|
let jid = BareJid::from_str(&args[1]).expect(&format!("Invalid JID: {}", &args[1]));
|
||
|
let password = &args[2];
|
||
|
|
||
|
// Client instance
|
||
|
let mut client = ClientBuilder::new(jid, password)
|
||
|
.set_client(ClientType::Bot, "xmpp-rs")
|
||
|
.set_website("https://gitlab.com/xmpp-rs/xmpp-rs")
|
||
|
.set_default_nick("bot")
|
||
|
.enable_feature(ClientFeature::Avatars)
|
||
|
.enable_feature(ClientFeature::ContactList)
|
||
|
.enable_feature(ClientFeature::JoinRooms)
|
||
|
.build();
|
||
|
|
||
|
println!("FOO0: {:?}", client);
|
||
|
|
||
|
tokio::time::sleep(tokio::time::Duration::from_millis(10000)).await;
|
||
|
|
||
|
Ok(())
|
||
|
}
|