public override IResponseMessage OnTextRequest(RequestMessageText requestMessage)
        {
            var content = requestMessage.Content.Trim().ToLower();
            if (content == "help")
            {
                using (var manager = new ArticleManager())
                {
                    return manager.GetHelp();
                }
            }
            if (content == "about")
            {
                using (var manager = new ArticleManager())
                {
                    return manager.GetAbout();
                }
            }
            if (content == "top")
            {
                using (var manager = new ArticleManager())
                {
                    return manager.GetTop();
                }
            }
            if (content == "next")
                return new ResponseMessageText("此命令功能尚未开发完成,请稍后再试");
            if (content == "tags")
            {
                using (var manager = new ArticleManager())
                {
                    return manager.GetAllTags();
                }
            }
            if (content.Length == 8)
            {
                long publishDate;
                if (long.TryParse(content, out publishDate))
                {
                    using (var manager = new ArticleManager())
                    {
                        return manager.GetByPublishDate(content);
                    }
                }
            }
            IResponseMessage responseForTag;
            using (var manager = new ArticleManager())
            {
                responseForTag = manager.GetByTag(content);
            }

            return responseForTag ?? new ResponseMessageText("无此命令或关键字,请发送 help 来获得帮助");
        }
        /// <summary>
        /// 文字类型请求
        /// </summary>
        public override IResponseMessage OnTextRequest(RequestMessageText requestMessage)
        {
            switch (requestMessage.Content)
            {
                case "news":
                    return new ResponseMessageNews(Enumerable.Range(1, 5).Select(i =>
                        new ResponseMessageNews.Article
                        {
                            Description = "文章描述" + i,
                            Title = "文章标题" + i,
                            PicUrl =
                                new Uri(
                                    "http://www.chunsun.cc/Modules/ChunSun.Manager.UserInterface/Contents/images/logo.png"),
                            Url = new Uri("http://www.chunsun.cc")
                        }).ToArray());

                case "music":
                    return new ResponseMessageMusic("_aDrUW_x3f24Cye0HQdpslUX7Fqi7F6wchhI2aPTnZ8", "星辰泪", "董贞", new Uri("http://www.chunsun.cc/星辰泪.mp3"), new Uri("http://www.chunsun.cc/星辰泪.mp3"));

                default:
                    return new ResponseMessageText(requestMessage.Content);
            }
        }
Пример #3
0
 /// <summary>
 /// 文字类型请求
 /// </summary>
 public virtual IResponseMessage OnTextRequest(RequestMessageText requestMessage)
 {
     return null;
 }