示例#1
0
        private void OnChatEnter(SteamFriends.ChatEnterCallback callback)
        {
            if (callback.EnterResponse != EChatRoomEnterResponse.Success)
            {
                // It's super cool that Steam added this $5.00 thing! Real cool...
                Console.WriteLine("{0}", callback.EnterResponse);
                return;
            }

            var chatID   = callback.ChatID;
            var chatName = callback.ChatRoomName;

            // If the chat room exists, update the name.
            if (ChatRoomManager.ChatRoomExists(chatID))
            {
                Console.WriteLine("Updating chat room name.");
                var chatRoom = ChatRoomManager.GetChatRoom(callback.ChatID);
                chatRoom.Name = chatName;
            }
            // Else just add the chat room.
            else
            {
                Console.WriteLine("Adding chat room.");
                ChatRoomManager.AddChatRoom(chatID, chatName);
            }

            Console.WriteLine("Joined chat.");
            ModuleManager.SelfEnteredChat(callback);
        }
示例#2
0
 public static void HandleChatEnter(SteamFriends.ChatEnterCallback msg)
 {
     if (msg.EnterResponse != EChatRoomEnterResponse.Success)
     {
         Console.WriteLine("Steam > Unable to enter this chatroom (" + msg.EnterResponse.ToString() + ").");
     }
 }
示例#3
0
        /// <summary>
        /// When a chat is entered by the bot, signal the modules.
        /// </summary>
        /// <param name="callback"></param>
        public void SelfEnteredChat(SteamFriends.ChatEnterCallback callback)
        {
            // Get both the global modules and the modules specific to that chatroom.
            var modules = _globalModules.Values.Union(_chatroomModules[callback.ChatID].Values);

            foreach (var module in modules)
            {
                module.OnSelfChatEnter(callback);
            }
        }
 private void chatEnterCallback(SteamFriends.ChatEnterCallback callback)
 {
     if (base.listenCallback != null && callback.ChatID.AccountID == this.id.AccountID)
     {
         foreach (SteamFriends.ChatMemberInfo info in callback.ChatMembers)
         {
             base.chattingUserList.Add(info.SteamID);
         }
     }
 }
示例#5
0
        void OnJoinChat(SteamFriends.ChatEnterCallback callback)
        {
            if (callback.EnterResponse == EChatRoomEnterResponse.Success)
            {
                Logger.Info("Successfully joined chat '{0}' containing {1} members.", callback.ChatRoomName, callback.ChatMembers.Count);

                // Start the inactivity timer.
                inactivityTimer.Start();
            }
            else
            {
                Logger.Error("Failed to join the chat room. Reason: {0}", callback.EnterResponse);
            }
        }
示例#6
0
 public void OnSelfChatEnter(SteamFriends.ChatEnterCallback callback)
 {
     if (SelfChatEnterCallback != null)
     {
         try
         {
             SelfChatEnterCallback(callback);
         }
         catch (Exception e)
         {
             ModuleManager.PrintStackFrame(e);
         }
     }
 }
示例#7
0
        private void OnChatEnter(SteamFriends.ChatEnterCallback callback)
        {
            // TODO: This is triggered on group event

            if (joiningChatroom == null)
            {
                Kraxbot.Log($"Warning: Tried to enter {callback.ChatRoomName} without getting an invite, possible group invite?");
                return;
            }

            var settings = kraxbot.GetChatRoomSettings(callback.ChatID);

            // Fill settings with stuff
            settings.ChatName = callback.ChatRoomName;

            // Add users
            foreach (var member in callback.ChatMembers)
            {
                var user = settings.Users.SingleOrDefault(u => u.SteamID == member.SteamID);

                if (user == default(UserInfo))
                {
                    // User doesn't exist, create
                    settings.Users.Add(new UserInfo
                    {
                        Name       = kraxbot.GetFriendPersonaName(member.SteamID),
                        SteamID    = member.SteamID,
                        Rank       = member.Details,
                        Permission = member.Permissions
                    });
                }
                else
                {
                    // User already exists in list, just update values
                    user.Name       = kraxbot.GetFriendPersonaName(member.SteamID);
                    user.Rank       = member.Details;
                    user.Permission = member.Permissions;
                }
            }

            // Add to list of current chatrooms
            chatrooms.Add(callback.ChatID);

            Kraxbot.Log($"Joined {callback.ChatRoomName} with invite from {settings.InvitedName}");

            // Reset joining chatroom
            joiningChatroom = null;
        }
示例#8
0
 private void joinChatCallback(SteamFriends.ChatEnterCallback callback)
 {
     for (int i = this.joinChatList.Count - 1; i >= 0; i--)
     {
         if (this.joinChatList[i].ID == callback.ClanID)
         {
             if (callback.EnterResponse == EChatRoomEnterResponse.Success)
             {
                 this.chatIOMembers.addBindingList(joinChatList[i].ChattingMember);
                 this.core.MainForm.Invoke(new MethodInvoker(delegate()
                 {
                     this.chattingRooms.Add(joinChatList[i]);
                     this.core.ChatForm.sendSystemMessage("join chat " + joinChatList[i].Name);
                     if (showInfo)
                     {
                         //joinChatList[i].sendMessage("using steamchat in game " + SteamChatCore.VERSION);
                         showInfo = false;
                     }
                 }));
             }
             this.joinChatList.RemoveAt(i);
         }
     }
 }
示例#9
0
 static void OnChatEnter(SteamFriends.ChatEnterCallback callback)
 {
     steamFriends.SendChatRoomMessage(callback.ChatID, EChatEntryType.ChatMsg, "Hi! I am a bot.");
 }
示例#10
0
 void OnJoinChat(SteamFriends.ChatEnterCallback callback)
 {
     ChatRoomID = callback.ChatID;
 }
示例#11
0
 static void OnGroupChatEnter(SteamFriends.ChatEnterCallback callback)
 {
     loggingmsg = String.Format("Successfully entered: {0}'s group chat: {1}\n", callback.ChatRoomName, callback.ChatID);
     SimpleLogger.SimpleLog.Info(loggingmsg);
     Console.WriteLine(loggingmsg);
 }
示例#12
0
 static void OnChatEnter(SteamFriends.ChatEnterCallback callback)
 {
     Console.WriteLine("Chatroom {0} joined owned by {1}.\n\n", callback.ChatID, callback.ClanID);
 }
示例#13
0
 void OnChatEnter(SteamFriends.ChatEnterCallback cb)
 {
     Log.WriteLine("OnChatEnter {0} {1} {2}", cb.ChatID.Render(), cb.ClanID.Render(), cb.FriendID.Render());
 }