diff --git a/docs/en/social-media.md b/docs/en/social-media.md
index 07c7b3a7c0..2103d017ce 100644
--- a/docs/en/social-media.md
+++ b/docs/en/social-media.md
@@ -112,7 +112,7 @@ Due to Telegram restrictions, some channels involving pornography, copyright, an
### User timeline
-
+
## User following timeline
diff --git a/docs/social-media.md b/docs/social-media.md
index 0afdc606a5..635b1f7b24 100644
--- a/docs/social-media.md
+++ b/docs/social-media.md
@@ -382,7 +382,7 @@ Tiny Tiny RSS 会给所有 iframe 元素添加 `sandbox="allow-scripts"` 属性
### 用户时间线
-
+
### 用户关注时间线
diff --git a/lib/router.js b/lib/router.js
index 3a47ed6646..6d39df79fc 100644
--- a/lib/router.js
+++ b/lib/router.js
@@ -196,7 +196,7 @@ router.get('/jinritoutiao/keyword/:keyword', require('./routes/jinritoutiao/keyw
router.get('/disqus/posts/:forum', require('./routes/disqus/posts'));
// Twitter
-router.get('/twitter/user/:id', require('./routes/twitter/user'));
+router.get('/twitter/user/:id/:type?', require('./routes/twitter/user'));
router.get('/twitter/list/:id/:name', require('./routes/twitter/list'));
router.get('/twitter/likes/:id', require('./routes/twitter/likes'));
router.get('/twitter/followings/:id', require('./routes/twitter/followings'));
diff --git a/lib/routes/twitter/user.js b/lib/routes/twitter/user.js
index a245a49fe9..06c2f6138a 100644
--- a/lib/routes/twitter/user.js
+++ b/lib/routes/twitter/user.js
@@ -7,9 +7,26 @@ module.exports = async (ctx) => {
}
const id = ctx.params.id;
+ const type = ctx.params.type;
+ let exclude_replies = false;
+ let include_rts = true;
+ if (type === 'exclude_rts_replies' || type === 'exclude_replies_rts') {
+ exclude_replies = true;
+ include_rts = false;
+ }
+ if (type === 'exclude_replies') {
+ exclude_replies = true;
+ include_rts = true;
+ }
+ if (type === 'exclude_rts') {
+ exclude_replies = false;
+ include_rts = false;
+ }
const result = await utils.getTwit().get('statuses/user_timeline', {
screen_name: id,
tweet_mode: 'extended',
+ exclude_replies,
+ include_rts,
});
const data = result.data;
const userInfo = data[0].user;