コード例 #1
0
 void Client_ChannelListReceived(object sender, ChannelListEventArgs e)
 {
     if (__channelListReceived != null)
     {
         __channelListReceived.Call(_host.ClientHost, ConvObj(e));
     }
 }
コード例 #2
0
        void IChatConnectionEventSource.OnChannelListReceived(ChannelListEventArgs args)
        {
            var tmp = ChannelListReceived;

            if (tmp != null)
            {
                tmp(this, args);
            }
        }
コード例 #3
0
        private void HandleGetChannelList(ParseData data)
        {
            DataReader dr = new DataReader(data.Data);

            List <string> channelList = new List <string>();
            string        channel;

            do
            {
                channel = dr.ReadCString();
                if (!string.IsNullOrEmpty(channel))
                {
                    channelList.Add(channel);
                }
            } while (!string.IsNullOrEmpty(channel));

            ChannelListEventArgs e = new ChannelListEventArgs(channelList.ToArray());

            e.EventData = data;
            OnChannelListReceived(e);

            if (!m_firstChannelList)
            {
                m_firstChannelList = true;

                BncsPacket pckJoinChan = new BncsPacket((byte)BncsPacketId.JoinChannel);
                if (m_settings.Client.Equals("D2DV", StringComparison.Ordinal) ||
                    m_settings.Client.Equals("D2XP", StringComparison.Ordinal))
                {
                    pckJoinChan.InsertInt32((int)ChannelJoinFlags.Diablo2FirstJoin);
                }
                else
                {
                    pckJoinChan.InsertInt32((int)ChannelJoinFlags.FirstJoin);
                }

                switch (m_settings.Client)
                {
                case "STAR":
                case "SEXP":
                case "W2BN":
                case "D2DV":
                case "D2XP":
                case "JSTR":
                    pckJoinChan.InsertCString(m_settings.Client);
                    break;

                case "WAR3":
                case "W3XP":
                    pckJoinChan.InsertCString("W3");
                    break;
                }

                Send(pckJoinChan);
            }
        }
コード例 #4
0
ファイル: ChannelSelect.cs プロジェクト: wjlafrance/jinxbot
        private void ChannelListReceived(object sender, ChannelListEventArgs e)
        {
            availableChannels.Invoke((ThreadStart) delegate
            {
                m_channels = e;

                foreach (string channel in e.Channels)
                {
                    availableChannels.Items.Add(channel);
                }
            });
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: wjlafrance/jinxbot
 static void client_ChannelListReceived(object sender, ChannelListEventArgs e)
 {
     _channel = e;
     PrintTidTs(DateTime.Now);
     console.OutputForegroundColor = ConsoleColor.Yellow;
     console.WriteLine("Available channels:");
     console.OutputForegroundColor = ConsoleColor.Cyan;
     foreach (string name in e.Channels)
     {
         console.WriteLine(" - {0}", name);
     }
 }
コード例 #6
0
        private async void HandleGetChannelList(BncsReader dr)
        {
            List <string> channelList = new List <string>();
            string        channel;

            do
            {
                channel = dr.ReadCString();
                if (!string.IsNullOrEmpty(channel))
                {
                    channelList.Add(channel);
                }
            } while (!string.IsNullOrEmpty(channel));

            ChannelListEventArgs e = new ChannelListEventArgs(channelList.ToArray());

            ((IChatConnectionEventSource)this).OnChannelListReceived(e);

            if (!_firstChannelList)
            {
                _firstChannelList = true;

                BncsPacket pckJoinChan = CreatePacket(BncsPacketId.JoinChannel);
                if (_settings.Client == ClassicProduct.Diablo2Retail || _settings.Client == ClassicProduct.Diablo2Expansion)
                {
                    pckJoinChan.InsertInt32((int)ChannelJoinFlags.Diablo2FirstJoin);
                }
                else
                {
                    pckJoinChan.InsertInt32((int)ChannelJoinFlags.FirstJoin);
                }

                switch (_settings.Client.ProductCode)
                {
                case "STAR":
                case "SEXP":
                case "W2BN":
                case "D2DV":
                case "D2XP":
                case "JSTR":
                    pckJoinChan.InsertCString(_settings.Client.ProductCode);
                    break;

                case "WAR3":
                case "W3XP":
                    pckJoinChan.InsertCString("W3");
                    break;
                }

                await pckJoinChan.SendAsync(_connection);
            }
        }
コード例 #7
0
ファイル: ChatDocument.cs プロジェクト: wjlafrance/jinxbot
        void ChannelListReceived(object sender, ChannelListEventArgs e)
        {
            List <ChatNode> nodesToAdd = new List <ChatNode>();

            nodesToAdd.Add(new ChatNode("Available Channels:", CssClasses.ChannelListHeader));
            foreach (string s in e.Channels)
            {
                nodesToAdd.Add(ChatNode.NewLine);
                nodesToAdd.Add(new ChatNode(" - ", CssClasses.ChannelBullet));
                nodesToAdd.Add(new ChatNode(s, CssClasses.ChannelListItem));
            }
            chat.AddChat(nodesToAdd);
        }
コード例 #8
0
        void PS2StatBot_ChannelListRecieved(object sender, ChannelListEventArgs e)
        {
            foreach (string user in e.Channel.Users)
            {
                User u = userdb.GetUserByName(user);
                if (u == null)
                {
                    continue;
                }
                u.Online = true;

                UserMessage[] messages = userdb.GetMessagesSinceTime(u, DateTime.Now);
                if (messages.Length > 0)
                {
                    foreach (UserMessage m in messages)
                    {
                        this.SendMessage(user, m.Message);
                    }
                    SaveDB();
                }
            }
        }
コード例 #9
0
 public void OnChannelListReceived(ChannelListEventArgs e)
 {
     m_host.OnChannelListReceived(e);
 }
コード例 #10
0
 void ChannelListReceived(object sender, ChannelListEventArgs e)
 {
     PostEvent(new ClientEvent {
         EventData = e, EventType = ClientEventType.ChannelListReceived
     });
 }
コード例 #11
0
 public void OnChannelListReceived(ChannelListEventArgs e)
 {
     m_host.OnChannelListReceived(e);
 }
コード例 #12
0
        private void HandleGetChannelList(ParseData data)
        {
            DataReader dr = new DataReader(data.Data);

            List<string> channelList = new List<string>();
            string channel;
            do
            {
                channel = dr.ReadCString();
                if (!string.IsNullOrEmpty(channel))
                    channelList.Add(channel);
            } while (!string.IsNullOrEmpty(channel));

            ChannelListEventArgs e = new ChannelListEventArgs(channelList.ToArray());
            e.EventData = data;
            OnChannelListReceived(e);

            if (!m_firstChannelList)
            {
                m_firstChannelList = true;

                BncsPacket pckJoinChan = new BncsPacket((byte)BncsPacketId.JoinChannel);
                if (m_settings.Client.Equals("D2DV", StringComparison.Ordinal) 
                    || m_settings.Client.Equals("D2XP", StringComparison.Ordinal))
                    pckJoinChan.InsertInt32((int)ChannelJoinFlags.Diablo2FirstJoin);
                else
                    pckJoinChan.InsertInt32((int)ChannelJoinFlags.FirstJoin);

                switch (m_settings.Client)
                {
                    case "STAR":
                    case "SEXP":
                    case "W2BN":
                    case "D2DV":
                    case "D2XP":
                    case "JSTR":
                        pckJoinChan.InsertCString(m_settings.Client);
                        break;
                    case "WAR3":
                    case "W3XP":
                        pckJoinChan.InsertCString("W3");
                        break;
                }

                Send(pckJoinChan);
            }
        }