コード例 #1
0
        public void RemoveSpecialGuest(Int64 p_UserID)
        {
            if (ActiveBroadcastID == null || CurrentBroadcastStatus != BroadcastStatus.Broadcasting)
            {
                return;
            }

            Library.Remora.Send(new Dictionary <String, Object>
            {
                { "action", "removeSpecialGuest" },
                { "userID", p_UserID }
            });

            lock (SpecialGuests)
                SpecialGuests.Remove(p_UserID);
        }
コード例 #2
0
        public void AddSpecialGuest(Int64 p_UserID, VIPPermissions p_Permissions)
        {
            if (ActiveBroadcastID == null || CurrentBroadcastStatus != BroadcastStatus.Broadcasting)
            {
                return;
            }

            Library.Remora.Send(new Dictionary <String, Object>
            {
                { "action", "addSpecialGuest" },
                { "userID", p_UserID },
                { "permission", p_Permissions }
            });

            lock (SpecialGuests)
            {
                if (!SpecialGuests.Contains(p_UserID))
                {
                    SpecialGuests.Add(p_UserID);
                }
            }
        }
コード例 #3
0
 public void DestroyBroadcast()
 {
     SpecialGuests.Clear();
     Library.Remora.DestroyQueue();
 }
コード例 #4
0
        public void CreateBroadcast(String p_Name, String p_Description, CategoryTag p_Tag)
        {
            if (Library.User.Data == null)
            {
                return;
            }

            SpecialGuests.Clear();
            CurrentBroadcastName        = p_Name;
            CurrentBroadcastDescription = p_Description;
            CurrentBroadcastCategoryTag = p_Tag;
            ActiveBroadcastID           = null;
            Data = null;

            if (Library.Chat.LoggedInMaster != null && Library.Chat.LoggedInMaster.CurrentBroadcast != null)
            {
                ActiveBroadcastID       = Library.Chat.LoggedInMaster.CurrentBroadcast;
                CurrentBroadcastPicture = null;
                Data = new BroadcastData()
                {
                };

                // Check if broadcast still exists.
                Library.Chat.GetSubscriptionData(Library.Chat.GetChatChannel(ActiveBroadcastID), new List <String>()
                {
                    "s",
                    "h",
                    "owners",
                    "n",
                    "t",
                    "owner_subscribed",
                    "i",
                    "d",
                    "tl",
                    "py",
                    "qc"
                }, OnBroadcastSubscriptionData);

                return;
            }

            var s_LastBroadcast = GetLastBroadcast();

            if (s_LastBroadcast != null)
            {
                ActiveBroadcastID       = s_LastBroadcast.BroadcastID;
                CurrentBroadcastPicture = null;
                Data = s_LastBroadcast;

                // Check if broadcast still exists.
                Library.Chat.GetSubscriptionData(Library.Chat.GetChatChannel(ActiveBroadcastID), new List <String>()
                {
                    "s",
                    "h",
                    "owners",
                    "n",
                    "t",
                    "owner_subscribed",
                    "i",
                    "d",
                    "tl",
                    "py",
                    "qc"
                }, OnBroadcastSubscriptionData);

                return;
            }

            Library.Remora.JoinControlChannels();
        }