Changeset 352

Show
Ignore:
Timestamp:
12/12/07 00:56:58 (13 months ago)
Author:
tomoyo
Message:

* TIGGC コマンドをつけた
* CLI版でもReplies有効にできるようにした

Location:
TwitterIrcGateway
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • TwitterIrcGateway/TwitterIrcGatewayCLI/Program.cs

    r319 r352  
    2525            Encoding encoding = Encoding.GetEncoding("ISO-2022-JP"); 
    2626            String channelName = "#twitter"; 
     27            Boolean enableRepliesCheck = false; 
    2728 
    2829            foreach (String arg in args) 
     
    4748                    { 
    4849                        enableTrace = false; 
     50                    } 
     51                } 
     52                else if (arg.StartsWith("--enable-replies-check=")) 
     53                { 
     54                    if (!Boolean.TryParse(arg.Substring("--enable-replies-check=".Length), out enableRepliesCheck)) 
     55                    { 
     56                        enableRepliesCheck = false; 
    4957                    } 
    5058                } 
     
    132140            _server.CookieLoginMode = cookieLoginMode; 
    133141            _server.ChannelName = channelName; 
     142            _server.EnableRepliesCheck = enableRepliesCheck; 
    134143            _server.SessionStartedRecieved += new EventHandler<SessionStartedEventArgs>(_server_SessionStartedRecieved); 
    135144 
     
    146155            Console.WriteLine("[Configuration] CookieLoginMode: {0}", _server.CookieLoginMode); 
    147156            Console.WriteLine("[Configuration] ChannelName: {0}", _server.ChannelName); 
     157            Console.WriteLine("[Configuration] EnableRepliesCheck: {0}", _server.EnableRepliesCheck); 
    148158 
    149159            _server.Start(bindAddress, port); 
     
    155165        private static void ShowUsage()  
    156166        { 
    157             Console.WriteLine(@"usage: TwitterIrcGateway [--port=<port>] [--bind-address=<bindaddr>] [--interval=<sec>] [--resolve-tinyurl=<true|false>] [--encoding=<encoding-name>] [--ignore-watch-error=<true|false>] [--enable-drop-protection=<true|false>] [--set-topic-onstatuschanged=<true|false>] [--enable-trace=<true|false>] [--interval-directmessage=<sec>] [--cookie-login-mode=<true|false>]"); 
     167            Console.WriteLine("TwitterIrcGateway Server v{0}", typeof(Server).Assembly.GetName().Version); 
     168            Console.WriteLine( 
     169@" 
     170Usage: TwitterIrcGateway [--port=<port>] [--bind-address=<bindaddr>] [--interval=<sec>] [--resolve-tinyurl=<true|false>] [--encoding=<encoding-name>] [--ignore-watch-error=<true|false>] [--enable-drop-protection=<true|false>] [--set-topic-onstatuschanged=<true|false>] [--enable-trace=<true|false>] [--interval-directmessage=<sec>] [--cookie-login-mode=<true|false>] [--channel-name=<ChannelName>] 
     171 
     172--port=<port>                            : IRC server listen port (default: 16668) 
     173--bind-address=<bindaddr>                : IRC server bind IP address (default: 127.0.0.1) 
     174--interval=<sec>                         : interval of checking Timeline (default: 90) 
     175--resolve-tinyurl=<true|false>           : enable TinyURL resolver (default: true) 
     176--encoding=<encoding>                    : IRC message text character encoding (default: ISO-2022-JP) 
     177--ignore-watch-error=<true|false>        : ignore API error messages (default: false) 
     178--enable-drop-protection=<true|false>    : enable drop protection (default: true) 
     179--set-topic-onstatuschanged=<true|false> : set status as topic on status changed (default: false) 
     180--enable-trace=<true|false>              : enable trace (default: false) 
     181--interval-directmessage=<sec>           : interval of checking directmessage (default: 180) 
     182--cookie-login-mode=<true|false>         : enable cookie-login mode (default: false) 
     183--channel-name=<ChannelName>             : channel name of Twitter timeline (default: Twitter) 
     184--enable-replies-check=<true|false>      : enable replies check (default: false) 
     185"); 
    158186        } 
    159187 
  • TwitterIrcGateway/TwitterIrcGatewayCore/Server.cs

    r347 r352  
    7070 
    7171        public const String ServerName = "localhost"; 
    72         public const String ServerNick = "$twitterGatewayServer$"; 
     72        public const String ServerNick = "$TwitterIrcGatewayServer$"; 
    7373 
    7474        public event EventHandler<SessionStartedEventArgs> SessionStartedRecieved; 
  • TwitterIrcGateway/TwitterIrcGatewayCore/Session.cs

    r349 r352  
    6363            MessageRecieved += new EventHandler<MessageRecievedEventArgs>(MessageRecieved_KICK); 
    6464            MessageRecieved += new EventHandler<MessageRecievedEventArgs>(MessageRecieved_LIST); 
     65            MessageRecieved += new EventHandler<MessageRecievedEventArgs>(MessageRecieved_TIGGC); 
    6566 
    6667            _groups = new Groups(); 
     
    788789            } 
    789790            SendNumericReply(NumericReply.RPL_ENDOFWHOIS, "End of /WHOIS list"); 
     791        } 
     792 
     793        private void MessageRecieved_TIGGC(object sender, MessageRecievedEventArgs e) 
     794        { 
     795            if (String.Compare(e.Message.Command, "TIGGC", true) != 0) return; 
     796            Int64 memUsage = GC.GetTotalMemory(false); 
     797            GC.Collect(); 
     798            SendTwitterGatewayServerMessage(String.Format("Garbage Collect: {0:###,##0} bytes -> {1:###,##0} bytes", memUsage, GC.GetTotalMemory(false))); 
    790799        } 
    791800        #endregion