TextHandler.cs 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using WeiXin.Library.Messages;
  6. using WeiXin.Library.Utility;
  7. namespace WeiXin.Library.Handlers
  8. {
  9. /// <summary>
  10. /// 文本信息处理类
  11. /// </summary>
  12. public class TextHandler : IHandler
  13. {
  14. /// <summary>
  15. /// 请求的XML
  16. /// </summary>
  17. private string RequestXml { get; set; }
  18. /// <summary>
  19. /// 构造函数
  20. /// </summary>
  21. /// <param name="requestXml">请求的xml</param>
  22. public TextHandler(string requestXml)
  23. {
  24. this.RequestXml = requestXml;
  25. }
  26. /// <summary>
  27. /// 处理请求
  28. /// </summary>
  29. /// <returns></returns>
  30. public string HandleRequest()
  31. {
  32. string response = string.Empty;
  33. TextMessage tm = TextMessage.LoadFromXml(RequestXml);
  34. string content = tm.Content.Trim();
  35. if (string.IsNullOrEmpty(content))
  36. {
  37. response = "您什么都没输入,没法帮您啊,%>_<%。";
  38. }
  39. else
  40. {
  41. response = HandleOther(content);
  42. }
  43. tm.Content = response;
  44. //进行发送者、接收者转换
  45. string temp = tm.ToUserName;
  46. tm.ToUserName = tm.FromUserName;
  47. tm.FromUserName = temp;
  48. response = tm.GenerateContent();
  49. return response;
  50. }
  51. /// <summary>
  52. /// 处理其他消息
  53. /// </summary>
  54. /// <param name="tm"></param>
  55. /// <returns></returns>
  56. private string HandleOther(string requestContent)
  57. {
  58. string response = string.Empty;
  59. if (requestContent.Contains("你好") || requestContent.Contains("您好"))
  60. {
  61. response = "您也好~";
  62. }
  63. else if (requestContent.Contains("傻"))
  64. {
  65. response = "我不傻!哼~ ";
  66. }
  67. else if (requestContent.Contains("逼") || requestContent.Contains("操"))
  68. {
  69. response = "哼,你说脏话! ";
  70. }
  71. else if (requestContent.Contains("是谁"))
  72. {
  73. response = "我是大哥大,有什么能帮您的吗?~";
  74. }
  75. else if (requestContent.Contains("再见"))
  76. {
  77. response = "再见!";
  78. }
  79. else if (requestContent.Contains("bye"))
  80. {
  81. response = "Bye!";
  82. }
  83. else if (requestContent.Contains("谢谢"))
  84. {
  85. response = "不客气!嘿嘿";
  86. }
  87. else if (requestContent == "h" || requestContent == "H" || requestContent.Contains("帮助"))
  88. {
  89. response = @"查询天气,输入tq 城市名称\拼音\首字母";
  90. }
  91. else
  92. {
  93. response = "您说的,可惜,我没明白啊,试试其他关键字吧。";
  94. }
  95. return response;
  96. }
  97. }
  98. }