Ejemplo n.º 1
0
        private static async Task RunProcessInputAsyncMessageTest(string command, IrcEventHandler handler, Action handlerFunc,
                                                                  string prefix = null, string trailingParameter = null, string parameter = null)
        {
            var builder = new StringBuilder();

            if (prefix != null)
            {
                builder.Append(string.Format(":{0} ", prefix));
            }

            builder.Append(string.Format("{0}", command));

            if (parameter != null)
            {
                builder.Append(string.Format(" {0}", parameter));
            }

            if (trailingParameter != null)
            {
                builder.Append(string.Format(" :{0}", trailingParameter));
            }

            var rawCommand = builder.ToString();

            handlerFunc();

            await handler.ProcessInputAsync(rawCommand);
        }
Ejemplo n.º 2
0
 public IRCBot(IrcEventHandler onChannelMessage)
 {
     InitClient();
     InitSettings();
     InitHandlers();
     Client.OnChannelMessage += onChannelMessage;
 }
        public void Register <T>(IrcEventHandler <T> handler) where T : Event
        {
            if (handlers == null)
            {
                handlers = new ArrayList();
            }

            handlers.Add(handler);
        }
Ejemplo n.º 4
0
        private static async Task RunProcessInputAsyncCommandTest(string command, IrcEventHandler handler, Action handlerFunc, params string[] parameters)
        {
            var builder = new StringBuilder();

            builder.Append(string.Format("/{0}", command));

            foreach (var param in parameters)
            {
                builder.Append(string.Format(" {0}", param));
            }

            var rawCommand = builder.ToString();

            handlerFunc();

            await handler.ProcessInputAsync(rawCommand);
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Connect to the server and begin the main loop
 /// </summary>
 public void Start()
 {
     Connect();
     EventJoin          += new IrcEventHandler(OnJoin);
     EventPart          += new IrcEventHandler(OnPart);
     EventCTCPVersion   += new IrcEventHandler(OnCTCPVersion);
     EventCTCPPing      += new IrcEventHandler(OnCtcpPing);
     EventCTCPTime      += new IrcEventHandler(OnCTCPTime);
     EventConnect       += new IrcEventHandler(OnConnect);
     EventDisconnect    += new IrcEventHandler(OnDisconnect);
     EventPublicMessage += new IrcEventHandler(OnPublicMessage);
     EventPublicNotice  += new IrcEventHandler(OnPublicNotice);
     EventKick          += new IrcEventHandler(OnKick);
     EventChannelMode   += new IrcEventHandler(OnChannelMode);
     AddNumericHandler(IrcNumerics.Welcome, new IrcNumericHandler(OnWelcome));
     AddNumericHandler(IrcNumerics.Topic, new IrcNumericHandler(OnTopic));
     AddNumericHandler(IrcNumerics.NamesReply, new IrcNumericHandler(OnNamesReply));
     AddNumericHandler(IrcNumerics.NamesEnd, new IrcNumericHandler(OnNamesEnd));
     Run();
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Initializes the <c>IrcEventHandler</c> providing <see cref="BuildHandler"/> method as callback
 /// </summary>
 public AbstractMessageHandler()
 {
     this._eventHandler = new IrcEventHandler(BuildHandler);
 }