[][src]Trait twitchchat::Parse

pub trait Parse<T>: Sized + ParseSealed<T> {
    fn parse(input: T) -> Result<Self, InvalidMessage>;
}

A trait for parsing messages

Example

let input = ":test!test@test JOIN #museun\r\n";
// decode and decode_one will parse a `Message` from a string
let message: decode::Message<'_> = decode::decode(&input).next().unwrap().unwrap();

// which can be used to parse into a specific message
let join: Join<'_> = Join::parse(&message).unwrap();
assert_eq!(join, Join {
    channel: Cow::Borrowed("#museun"),
    name: Cow::Borrowed("test")
});

Required methods

fn parse(input: T) -> Result<Self, InvalidMessage>

Tries to parse the input as this message

Loading content...

Implementors

impl<'a: 't, 't> Parse<&'a Message<'t>> for AllCommands<'t>[src]

impl<'a: 't, 't> Parse<&'a Message<'t>> for Cap<'t>[src]

impl<'a: 't, 't> Parse<&'a Message<'t>> for ClearChat<'t>[src]

impl<'a: 't, 't> Parse<&'a Message<'t>> for ClearMsg<'t>[src]

impl<'a: 't, 't> Parse<&'a Message<'t>> for GlobalUserState<'t>[src]

impl<'a: 't, 't> Parse<&'a Message<'t>> for HostTarget<'t>[src]

impl<'a: 't, 't> Parse<&'a Message<'t>> for IrcReady<'t>[src]

impl<'a: 't, 't> Parse<&'a Message<'t>> for Join<'t>[src]

impl<'a: 't, 't> Parse<&'a Message<'t>> for Mode<'t>[src]

impl<'a: 't, 't> Parse<&'a Message<'t>> for Names<'t>[src]

impl<'a: 't, 't> Parse<&'a Message<'t>> for Notice<'t>[src]

impl<'a: 't, 't> Parse<&'a Message<'t>> for Part<'t>[src]

impl<'a: 't, 't> Parse<&'a Message<'t>> for Ping<'t>[src]

impl<'a: 't, 't> Parse<&'a Message<'t>> for Pong<'t>[src]

impl<'a: 't, 't> Parse<&'a Message<'t>> for Privmsg<'t>[src]

impl<'a: 't, 't> Parse<&'a Message<'t>> for Ready<'t>[src]

impl<'a: 't, 't> Parse<&'a Message<'t>> for Reconnect[src]

impl<'a: 't, 't> Parse<&'a Message<'t>> for RoomState<'t>[src]

impl<'a: 't, 't> Parse<&'a Message<'t>> for UserNotice<'t>[src]

impl<'a: 't, 't> Parse<&'a Message<'t>> for UserState<'t>[src]

impl<'a: 't, 't> Parse<&'a Message<'t>> for Raw<'t>[src]

Loading content...