privmsg.rs 678 B

1234567891011121314151617181920212223242526272829
  1. use async_std::sync::{Arc, Mutex};
  2. use ringbuffer::AllocRingBuffer;
  3. use darkfi::util::serial::{SerialDecodable, SerialEncodable};
  4. pub type PrivmsgId = u64;
  5. pub type SeenMsgIds = Arc<Mutex<Vec<u64>>>;
  6. pub type PrivmsgsBuffer = Arc<Mutex<AllocRingBuffer<Privmsg>>>;
  7. #[derive(Debug, Clone, SerialEncodable, SerialDecodable)]
  8. pub struct Privmsg {
  9. pub id: PrivmsgId,
  10. pub nickname: String,
  11. pub channel: String,
  12. pub message: String,
  13. }
  14. impl Privmsg {
  15. pub fn to_irc_msg(&self) -> String {
  16. let irc_msg = format!(
  17. ":{}!anon@dark.fi PRIVMSG {} :{}\r\n",
  18. self.nickname, self.channel, self.message
  19. );
  20. irc_msg
  21. }
  22. }