Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extern crate regex;
- extern crate uuid;
- use regex::Regex;
- use uuid::Uuid;
- pub struct Player {
- match_id: Uuid,
- player_id: i64,
- mmr_change: i32,
- is_winner: bool
- }
- pub fn generate_players(match_id: Uuid, command: &str) -> Vec<Player> {
- let (winners, losers) = split_players(command);
- let winners = get_ids(winners);
- let losers = get_ids(losers);
- let mut players: Vec<Player> = vec![];
- winners.into_iter().chain(losers.into_iter())
- .map(|id| {
- Player {
- match_id: match_id,
- player_id: id,
- mmr_change: 25,
- is_winner: true
- }
- }).collect()
- }
- fn split_players(command: &str) -> (&str, &str) {
- let mut split = command.split("defeated");
- (split.next().unwrap(), split.next().unwrap())
- }
- fn get_ids(command: &str) -> Vec<i64> {
- let re = Regex::new(r"<@(\d+)>").unwrap();
- re.captures_iter(command)
- .map(|capture| capture[1].parse().unwrap())
- .collect()
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement