Changeset 75
- Timestamp:
- 05/16/07 23:55:56 (18 months ago)
- Location:
- TwitterIrcGateway
- Files:
-
- 5 modified
-
TwitterIrcGateway/TwitterIrcGateway.csproj (modified) (1 diff)
-
TwitterIrcGatewayCore/Filter.cs (modified) (1 diff)
-
TwitterIrcGatewayCore/Server.cs (modified) (1 diff)
-
TwitterIrcGatewayCore/Session.cs (modified) (9 diffs)
-
TwitterIrcGatewayCore/TwitterService.cs (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
TwitterIrcGateway/TwitterIrcGateway/TwitterIrcGateway.csproj
r56 r75 32 32 <ExcludedPermissions> 33 33 </ExcludedPermissions> 34 <ApplicationIcon>Resources\ApplicationIcon.ico</ApplicationIcon> 34 <ApplicationIcon> 35 </ApplicationIcon> 35 36 </PropertyGroup> 36 37 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> -
TwitterIrcGateway/TwitterIrcGatewayCore/Filter.cs
r70 r75 50 50 51 51 /// <summary> 52 /// メ ッセージをフィルタします52 /// メチE��ージをフィルタしまぁE 53 53 /// </summary> 54 54 /// <param name="user"></param> 55 55 /// <param name="message"></param> 56 /// <returns>メ ッセージを捨てるかどうか</returns>56 /// <returns>メチE��ージを捨てるかどぁE��</returns> 57 57 public Boolean ExecuteFilters(FilterArgs args) 58 58 { -
TwitterIrcGateway/TwitterIrcGatewayCore/Server.cs
r59 r75 18 18 /// </summary> 19 19 public Int32 Interval = 60; 20 21 /// <summary> 22 /// �_�C���N�g���b�Z�[�W��F�b�N�����u 23 /// </summary> 24 public Int32 IntervalDirectMessage = 60 * 5; 20 25 21 26 /// <summary> -
TwitterIrcGateway/TwitterIrcGatewayCore/Session.cs
r73 r75 28 28 private LinkedList<Int32> _lastStatusIdsFromGateway; 29 29 private Timer _timer; 30 private Timer _timerDirectMessage; 30 31 private Groups _groups; 31 32 private Filters _filter; … … 37 38 private LinkedList<Status> _statusBuffer; 38 39 private Boolean _isCallbackRunning = false; 40 private Boolean _isCallbackDirectMessageRunning = false; 39 41 private TraceListener _traceListeneer; 40 42 … … 69 71 _lastStatusIdsFromGateway = new LinkedList<int>(); 70 72 _timer = new Timer(new TimerCallback(OnTimerCallback), null, Timeout.Infinite, Timeout.Infinite); 73 _timerDirectMessage = new Timer(new TimerCallback(OnTimerCallbackDirectMessage), null, Timeout.Infinite, Timeout.Infinite); 71 74 } 72 75 … … 123 126 try 124 127 { 128 SendPing(); 129 130 // Friendsをチェックするのは成功して、チェックが必要となったとき 131 Boolean friendsCheckRequired = false; 132 if (CheckNewTimeLine(out friendsCheckRequired) && friendsCheckRequired) 133 { 134 CheckFriends(); 135 } 136 } 137 finally 138 { 139 _isCallbackRunning = false; 140 } 141 } 142 143 /// <summary> 144 /// 145 /// </summary> 146 /// <param name="stateObject"></param> 147 private void OnTimerCallbackDirectMessage(Object stateObject) 148 { 149 // あまりに処理が遅れると二重になる可能性がある 150 lock (_timer) 151 { 152 if (_isCallbackDirectMessageRunning) 153 return; 154 _isCallbackDirectMessageRunning = true; 155 } 156 157 try 158 { 125 159 CheckDirectMessage(); 126 SendPing();127 CheckFriends();128 CheckNewTimeLine();129 160 } 130 161 finally 131 162 { 132 _isCallback Running = false;163 _isCallbackDirectMessageRunning = false; 133 164 } 134 165 } … … 542 573 543 574 Type t = typeof(Server); 544 _clientHost = String.Format("{0}!{1}@{2}", _nick, _username, ((IPEndPoint)(e.Client.Client.RemoteEndPoint)).Address);575 _clientHost = String.Format("{0}!{1}@{2}", _nick, e.Message.CommandParams[0], ((IPEndPoint)(e.Client.Client.RemoteEndPoint)).Address); 545 576 546 577 SendNumericReply(NumericReply.RPL_WELCOME … … 572 603 573 604 _timer.Change(0, _server.Interval * 1000); 605 _timerDirectMessage.Change(0, _server.IntervalDirectMessage * 1000); 574 606 } 575 607 … … 923 955 } 924 956 925 private void CheckNewTimeLine() 926 { 957 private Boolean CheckNewTimeLine(out Boolean friendsCheckRequired) 958 { 959 friendsCheckRequired = false; 960 927 961 try 928 962 { … … 962 996 continue; 963 997 } 998 999 // friends チェックが必要かどうかを確かめる 1000 // まだないときは取ってくるフラグを立てる 1001 friendsCheckRequired |= !(_nickNames.Contains(status.User.ScreenName)); 964 1002 965 1003 // フィルタ … … 1059 1097 SendServerErrorMessage(ex.Message); 1060 1098 } 1099 return false; 1061 1100 } 1062 1101 catch (TwitterServiceException ex2) 1063 1102 { 1064 1103 SendServerErrorMessage(ex2.Message); 1065 } 1104 return false; 1105 } 1106 1107 return true; 1066 1108 } 1067 1109 -
TwitterIrcGateway/TwitterIrcGatewayCore/TwitterService.cs
r73 r75 318 318 webRequest.Accept = "text/xml, application/xml"; 319 319 webRequest.UserAgent = String.Format("{0}/{1}", TwitterService.ClientName, GetType().Assembly.GetName().Version); 320 webRequest.Referer = TwitterService.Referer;320 //webRequest.Referer = TwitterService.Referer; 321 321 webRequest.Headers["X-Twitter-Client"] = TwitterService.ClientName; 322 322 webRequest.Headers["X-Twitter-Client-Version"] = TwitterService.ClientVersion; … … 357 357 webRequest.Accept = "text/xml, application/xml"; 358 358 webRequest.UserAgent = String.Format("{0}/{1}", TwitterService.ClientName, TwitterService.ClientVersion); 359 webRequest.Referer = TwitterService.Referer;359 //webRequest.Referer = TwitterService.Referer; 360 360 webRequest.Headers["X-Twitter-Client"] = TwitterService.ClientName; 361 361 webRequest.Headers["X-Twitter-Client-Version"] = TwitterService.ClientVersion;
