Exemplo n.º 1
0
        // List of all currently logged-in Twitter users.
        // private List<CellAOUsers> cellAoUserses;

        private CellAoBotUser GetCellAOBotUser(IrcUser ircUSer)
        {
            CellAoBotUser CellAOUser = this.cellAoBotUsers.SingleOrDefault(tu => tu.IrcUser == ircUSer);

            if (CellAOUser == null)
            {
                throw new InvalidOperationException(
                          string.Format("User '{0}' is not logged in to Cellao.", ircUSer.NickName));
            }
            return(CellAOUser);
        }
Exemplo n.º 2
0
        /// <summary>
        /// </summary>
        /// <param name="client">
        /// </param>
        /// <param name="source">
        /// </param>
        /// <param name="targets">
        /// </param>
        /// <param name="command">
        /// </param>
        /// <param name="parameters">
        /// </param>
        private void ProcessChatCommandLogIn(
            IrcClient client,
            IIrcMessageSource source,
            IList <IIrcMessageTarget> targets,
            string command,
            IList <string> parameters)
        {
            var           sourceUser = (IrcUser)source;
            CellAoBotUser CellAOUser = this.cellAoBotUsers.SingleOrDefault(tu => tu.IrcUser == sourceUser);

            if (CellAOUser != null)
            {
                throw new InvalidOperationException(
                          string.Format(
                              "User '{0}' is already logged in to CellAO as {1}.",
                              sourceUser,
                              CellAOUser.IrcUser.NickName));
            }
            if (parameters.Count != 2)
            {
                throw new InvalidCommandParametersException(1);
            }

            // // Create new CellAO user and log in to service.
            var cellaoBotUser = new CellAoBotUser(sourceUser);

            // bool success = cellaoBotUser.LogIn(parameters[0], parameters[1]);
            cellaoBotUser.LogIn(parameters[0], parameters[1]);

            IList <IIrcMessageTarget> replyTargets = this.GetDefaultReplyTarget(client, sourceUser, targets);

            if (cellaoBotUser.IsAuthenticated)
            {
                this.cellAoBotUsers.Add(cellaoBotUser);
                client.LocalUser.SendMessage(
                    replyTargets,
                    "You are now logged in as {0} / '{1}'.",
                    cellaoBotUser.IrcUser.NickName,
                    cellaoBotUser.IrcUser.NickName);
                this.GMlevel = cellaoBotUser.GMLevel(this.username);
            }
            else
            {
                client.LocalUser.SendMessage(replyTargets, "Login failed");
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// </summary>
        /// <param name="client">
        /// </param>
        /// <param name="source">
        /// </param>
        /// <param name="targets">
        /// </param>
        /// <param name="command">
        /// </param>
        /// <param name="parameters">
        /// </param>
        private void ProcessChatCommandLogOut(
            IrcClient client,
            IIrcMessageSource source,
            IList <IIrcMessageTarget> targets,
            string command,
            IList <string> parameters)
        {
            var           sourceUser    = (IrcUser)source;
            CellAoBotUser cellaoBotUser = this.GetCellAOBotUser(sourceUser);

            if (parameters.Count != 0)
            {
                throw new InvalidCommandParametersException(1);
            }

            // Log out CellAO user.
            cellaoBotUser.LogOut();

            this.cellAoBotUsers.Remove(cellaoBotUser);
            IList <IIrcMessageTarget> replyTargets = this.GetDefaultReplyTarget(client, sourceUser, targets);

            client.LocalUser.SendMessage(replyTargets, "You are now logged out.");
        }