public IrcViewModel(Dispatcher dispatcher, IIrcConnection conn) : base(dispatcher) { _conn = conn; _buffers = new ObservableCollection <BufferViewModel>(); foreach (var chann in _conn.Channels) { _buffers.Add(new ChannelViewModel(_dispatcher, chann)); } _conn.NickChanged += _conn_NickChanged; _conn.Join += _conn_Join; _conn.Part += _conn_Part; _conn.Message += _conn_Message; _conn.Channels.UserJoined += _conn_Channels_UserJoined; _conn.Channels.UserParted += _conn_Channels_UserParted; }
public IrcViewModel(Dispatcher dispatcher, IIrcConnection conn) : base(dispatcher) { _conn = conn; _buffers = new ObservableCollection<BufferViewModel>(); foreach (var chann in _conn.Channels) { _buffers.Add(new ChannelViewModel(_dispatcher, chann)); } _conn.NickChanged += _conn_NickChanged; _conn.Join += _conn_Join; _conn.Part += _conn_Part; _conn.Message += _conn_Message; _conn.Channels.UserJoined += _conn_Channels_UserJoined; _conn.Channels.UserParted += _conn_Channels_UserParted; }
private async void Window_Loaded(object sender, RoutedEventArgs e) { _fact = new dotRant.Net45.IrcConnectionFactory(); var conn = _conn = _fact.Create("irc.irchighway.net"); ObservableCollection<string> log = new ObservableCollection<string>(); OutView.ItemsSource = log; conn.RawMessageIn += (s, ev) => Dispatcher.BeginInvoke(new Action(() => log.Insert(0, ">> " + ev.Command))); conn.RawMessageOut += (s, ev) => Dispatcher.BeginInvoke(new Action(() => log.Insert(0, "<< " + ev.Command))); conn.Join += (s, ev) => Dispatcher.BeginInvoke(new Action(() => log.Insert(0, "!! Joined channel: " + ev.Channel.Name))); conn.Part += (s, ev) => Dispatcher.BeginInvoke(new Action(() => log.Insert(0, "!! Parted channel: " + ev.ChannelName))); conn.Channels.TopicChanged += (s, ev) => Dispatcher.BeginInvoke(new Action(() => log.Insert(0, String.Format("!! Topic set for {0} by {1} to \"{2}\"", ev.Channel.Name, ev.Channel.TopicCreator, ev.Channel.Topic)))); await conn.Connect(); //MessageBox.Show("Connected"); var channel = await conn.Channels.Join("#watashiwaten"); new IrcWindow(conn).Show(); //MessageBox.Show("Joined"); //await channel.Send("Found users: " + String.Join(", ", channel.Users)); //MessageBox.Show("Sent"); }
private async void Window_Loaded(object sender, RoutedEventArgs e) { _fact = new dotRant.Net45.IrcConnectionFactory(); var conn = _conn = _fact.Create("irc.gnome.org"); ObservableCollection <string> log = new ObservableCollection <string> (); OutView.ItemsSource = log; conn.RawMessageIn += (s, ev) => Dispatcher.BeginInvoke(new Action(() => log.Insert(0, ">> " + ev.Command))); conn.RawMessageOut += (s, ev) => Dispatcher.BeginInvoke(new Action(() => log.Insert(0, "<< " + ev.Command))); conn.Join += (s, ev) => Dispatcher.BeginInvoke(new Action(() => log.Insert(0, "!! Joined channel: " + ev.Channel.Name))); conn.Part += (s, ev) => Dispatcher.BeginInvoke(new Action(() => log.Insert(0, "!! Parted channel: " + ev.ChannelName))); conn.Channels.TopicChanged += (s, ev) => Dispatcher.BeginInvoke(new Action(() => log.Insert(0, String.Format("!! Topic set for {0} by {1} to \"{2}\"", ev.Channel.Name, ev.Channel.TopicCreator, ev.Channel.Topic)))); await conn.Connect(); //MessageBox.Show("Connected"); var channel = await conn.Channels.Join("#monogame"); new IrcWindow(conn).Show(); //MessageBox.Show("Joined"); //await channel.Send("Found users: " + String.Join(", ", channel.Users)); //MessageBox.Show("Sent"); }
public IrcWindow(IIrcConnection conn) { _conn = conn; DataContext = _vm = new IrcViewModel(Dispatcher, conn); InitializeComponent(); }