Changeset 382
- Timestamp:
- 05/15/08 03:16:52 (8 months ago)
- Location:
- TwitterIrcGateway/branches/im-support/TwitterIrcGatewayCore
- Files:
-
- 1 added
- 3 modified
-
Session.cs (modified) (3 diffs)
-
TwitterIMService.cs (added)
-
TwitterIrcGatewayCore.csproj (modified) (1 diff)
-
TwitterService.cs (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
TwitterIrcGateway/branches/im-support/TwitterIrcGatewayCore/Session.cs
r376 r382 27 27 private String _clientHost; 28 28 private TwitterService _twitter; 29 private TwitterIMService _twitterIm; 29 30 private LinkedList<Int32> _lastStatusIdsFromGateway; 30 31 private Timer _timer; … … 68 69 MessageRecieved += new EventHandler<MessageRecievedEventArgs>(MessageRecieved_TOPIC); 69 70 MessageRecieved += new EventHandler<MessageRecievedEventArgs>(MessageRecieved_MODE); 71 MessageRecieved += new EventHandler<MessageRecievedEventArgs>(MessageRecieved_TIGIMENABLE); 70 72 71 73 _groups = new Groups(); … … 921 923 } 922 924 } 925 926 void MessageRecieved_TIGIMENABLE(object sender, MessageRecievedEventArgs e) 927 { 928 if (String.Compare(e.Message.Command, "TIGIMENABLE", true) != 0) return; 929 if (String.IsNullOrEmpty(e.Message.CommandParams[3])) 930 { 931 SendTwitterGatewayServerMessage("TIGIMENABLE コマンドは4つの引数(ServiceServerName, ServerName, UserName, Password)が必要です。"); 932 return; 933 } 934 935 if (_twitterIm != null) 936 { 937 _twitterIm.Close(); 938 } 939 _twitterIm = new TwitterIMService(e.Message.CommandParams[0], e.Message.CommandParams[1], e.Message.CommandParams[2], e.Message.CommandParams[3]); 940 _twitterIm.StatusUpdateReceived += new EventHandler<TwitterIMService.StatusUpdateReceivedEventArgs>(twitterIm_StatusUpdateReceived); 941 _twitterIm.Logined += new EventHandler(twitterIm_Logined); 942 _twitterIm.AuthErrored += new EventHandler(twitterIm_AuthErrored); 943 _twitterIm.Open(); 944 } 945 void twitterIm_Logined(object sender, EventArgs e) 946 { 947 SendTwitterGatewayServerMessage("インスタントメッセージングサービスにログインしました。"); 948 } 949 void twitterIm_AuthErrored(object sender, EventArgs e) 950 { 951 SendTwitterGatewayServerMessage("インスタントメッセージングサービスのログインに失敗しました。ユーザ名とパスワードが正しくありません。"); 952 } 953 void twitterIm_StatusUpdateReceived(object sender, TwitterIMService.StatusUpdateReceivedEventArgs e) 954 { 955 if (ProcessDropProtection(_statusBuffer, e.Status)) 956 { 957 Boolean friendsCheckRequired = false; 958 ProcessTimelineStatus(e.Status, ref friendsCheckRequired); 959 } 960 } 923 961 #endregion 924 962 -
TwitterIrcGateway/branches/im-support/TwitterIrcGatewayCore/TwitterIrcGatewayCore.csproj
r373 r382 55 55 <Compile Include="Server.cs" /> 56 56 <Compile Include="Session.cs" /> 57 <Compile Include="TwitterIMService.cs" /> 57 58 <Compile Include="TwitterService.cs"> 58 59 </Compile> 59 60 <Compile Include="Utility.cs" /> 61 </ItemGroup> 62 <ItemGroup> 63 <ProjectReference Include="agsXMPP\agsXMPP2008.csproj"> 64 <Project>{DC39021C-FA24-4E34-AB4A-3260BB5314AF}</Project> 65 <Name>agsXMPP2008</Name> 66 </ProjectReference> 60 67 </ItemGroup> 61 68 <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> -
TwitterIrcGateway/branches/im-support/TwitterIrcGatewayCore/TwitterService.cs
r378 r382 871 871 { 872 872 [XmlElement("created_at")] 873 public String _createdAt ;873 public String _createdAtOriginal; 874 874 [XmlElement("id")] 875 875 public Int32 Id; 876 876 [XmlElement("text")] 877 public String _text ;877 public String _textOriginal; 878 878 [XmlElement("user")] 879 879 public User User; 880 880 881 881 [XmlIgnore] 882 private String _text; 883 [XmlIgnore] 884 private DateTime _createdAt; 885 886 [XmlIgnore] 882 887 public String Text 883 888 { 884 889 get 885 890 { 886 if (String.IsNullOrEmpty(_text)) 887 return String.Empty; 888 889 return Utility.UnescapeCharReference(_text); 891 if (!String.IsNullOrEmpty(_textOriginal) && _text == null) 892 { 893 _text = Utility.UnescapeCharReference(_textOriginal); 894 } 895 896 return _text; 897 } 898 set 899 { 900 _text = value; 890 901 } 891 902 } … … 895 906 get 896 907 { 897 return Utility.ParseDateTime(_createdAt); 908 if (!String.IsNullOrEmpty(_createdAtOriginal) && _createdAt == DateTime.MinValue) 909 { 910 _createdAt = Utility.ParseDateTime(_createdAtOriginal); 911 } 912 return _createdAt; 913 } 914 set 915 { 916 _createdAt = value; 898 917 } 899 918 }
