|
@@ -83,7 +83,7 @@ export default class {
|
|
|
const mediaFileName = `${filename}.${ext}`;
|
|
|
writeFileSync(mediaFileName, Buffer.from(data));
|
|
|
return (ext === 'mp4' ?
|
|
|
- gifski(mediaFileName, 640) :
|
|
|
+ gifski(mediaFileName, 320) :
|
|
|
Promise.resolve(mediaFileName)
|
|
|
);
|
|
|
}
|
|
@@ -129,11 +129,13 @@ export default class {
|
|
|
|
|
|
public appendMedia = (tweet: Tweet, genre: string, indexOffset: number): Promise<WikiEditResult> => {
|
|
|
const {pageTitle} = processTweetBody(tweet);
|
|
|
- return this.uploadMediaItems(tweet, `公告-${genre}-${pageTitle}-`, indexOffset)
|
|
|
+ const pageLongTitle = `公告/${pageTitle}`;
|
|
|
+ const mediaFilePrefix = `公告-${genre}-${pageTitle}-`;
|
|
|
+ return this.uploadMediaItems(tweet, mediaFilePrefix, indexOffset)
|
|
|
.then(fileNames => {
|
|
|
- logger.info(`updating page 公告/${pageTitle}...`);
|
|
|
+ logger.info(`updating page ${pageLongTitle}...`);
|
|
|
return this.bot.edit({
|
|
|
- title: `公告/${pageTitle}`,
|
|
|
+ title: pageLongTitle,
|
|
|
appendtext: `${fileNames.map(fileName => `[[文件:${fileName}|无框|左]]\n`).join('')}`,
|
|
|
bot: true,
|
|
|
notminor: true,
|
|
@@ -147,29 +149,31 @@ export default class {
|
|
|
result,
|
|
|
timestamp: new Date(newtimestamp).toString(),
|
|
|
}))
|
|
|
- .catch(error => {
|
|
|
- logger.error(`error updating page, error: ${error}`);
|
|
|
- return {
|
|
|
- pageid: undefined as number,
|
|
|
- title: `公告/${pageTitle}`,
|
|
|
- new: undefined as boolean,
|
|
|
- mediafiles: [],
|
|
|
- result: 'Failed',
|
|
|
- timestamp: undefined as string,
|
|
|
- };
|
|
|
- });
|
|
|
+ })
|
|
|
+ .catch(error => {
|
|
|
+ logger.error(`error updating page, error: ${error}`);
|
|
|
+ return {
|
|
|
+ pageid: undefined as number,
|
|
|
+ title: pageLongTitle,
|
|
|
+ new: undefined as boolean,
|
|
|
+ mediafiles: [],
|
|
|
+ result: 'Failed',
|
|
|
+ timestamp: undefined as string,
|
|
|
+ };
|
|
|
});
|
|
|
};
|
|
|
|
|
|
public post = (tweet: Tweet, genre: string): Promise<WikiEditResult> => {
|
|
|
const {title, body, pageTitle, date} = processTweetBody(tweet);
|
|
|
- const sameTitleAction = this.lock.lastActions.find(action => action.title === title);
|
|
|
+ const pageLongTitle = `公告/${pageTitle}`;
|
|
|
+ const mediaFilePrefix = `公告-${genre}-${pageTitle}-`;
|
|
|
+ const sameTitleAction = this.lock.lastActions.find(action => action.title === pageLongTitle);
|
|
|
if (sameTitleAction) return this.appendMedia(tweet, genre, sameTitleAction.mediafiles.length);
|
|
|
- return this.uploadMediaItems(tweet, `公告-${genre}-${pageTitle}-`)
|
|
|
+ return this.uploadMediaItems(tweet, mediaFilePrefix)
|
|
|
.then(fileNames => {
|
|
|
- logger.info(`creating page 公告/${pageTitle}...`);
|
|
|
+ logger.info(`creating page ${pageLongTitle}`);
|
|
|
return this.bot.edit({
|
|
|
- title: `公告/${pageTitle}`,
|
|
|
+ title: pageLongTitle,
|
|
|
basetimestamp: new Date(),
|
|
|
text: `{{文章戳
|
|
|
|文章上级页面=公告
|
|
@@ -198,17 +202,17 @@ ${fileNames.map(fileName => `[[文件:${fileName}|无框|左]]`).join('\n')}
|
|
|
result,
|
|
|
timestamp: new Date(newtimestamp).toString(),
|
|
|
}))
|
|
|
- .catch(error => {
|
|
|
- logger.error(`error creating page, error: ${error}`);
|
|
|
- return {
|
|
|
- pageid: undefined as number,
|
|
|
- title: `公告/${pageTitle}`,
|
|
|
- new: undefined as boolean,
|
|
|
- mediafiles: [],
|
|
|
- result: 'Failed',
|
|
|
- timestamp: undefined as string,
|
|
|
- };
|
|
|
- });
|
|
|
+ })
|
|
|
+ .catch(error => {
|
|
|
+ logger.error(`error creating page, error: ${error}`);
|
|
|
+ return {
|
|
|
+ pageid: undefined as number,
|
|
|
+ title: pageLongTitle,
|
|
|
+ new: undefined as boolean,
|
|
|
+ mediafiles: [],
|
|
|
+ result: 'Failed',
|
|
|
+ timestamp: undefined as string,
|
|
|
+ };
|
|
|
});
|
|
|
};
|
|
|
}
|