mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-12-12 16:03:09 +02:00
parent
958074e347
commit
bd6de0e204
1 changed files with 16 additions and 3 deletions
|
@ -15,7 +15,7 @@ import { apLogger } from '../logger';
|
||||||
import { DriveFile } from '../../../models/entities/drive-file';
|
import { DriveFile } from '../../../models/entities/drive-file';
|
||||||
import { deliverQuestionUpdate } from '../../../services/note/polls/update';
|
import { deliverQuestionUpdate } from '../../../services/note/polls/update';
|
||||||
import { extractDbHost, toPuny } from '../../../misc/convert-host';
|
import { extractDbHost, toPuny } from '../../../misc/convert-host';
|
||||||
import { Notes, Emojis, Polls } from '../../../models';
|
import { Notes, Emojis, Polls, MessagingMessages } from '../../../models';
|
||||||
import { Note } from '../../../models/entities/note';
|
import { Note } from '../../../models/entities/note';
|
||||||
import { IObject, getOneApId, getApId, validPost, ICreate, isCreate, IPost } from '../type';
|
import { IObject, getOneApId, getApId, validPost, ICreate, isCreate, IPost } from '../type';
|
||||||
import { Emoji } from '../../../models/entities/emoji';
|
import { Emoji } from '../../../models/entities/emoji';
|
||||||
|
@ -129,6 +129,8 @@ export async function createNote(value: string | IObject, resolver?: Resolver, s
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let isTalk = note._misskey_talk && visibility === 'specified';
|
||||||
|
|
||||||
const apHashtags = await extractHashtags(note.tag);
|
const apHashtags = await extractHashtags(note.tag);
|
||||||
|
|
||||||
// 添付ファイル
|
// 添付ファイル
|
||||||
|
@ -153,7 +155,18 @@ export async function createNote(value: string | IObject, resolver?: Resolver, s
|
||||||
} else {
|
} else {
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
}).catch(e => {
|
}).catch(async e => {
|
||||||
|
// トークだったらinReplyToのエラーは無視
|
||||||
|
const uri = getApId(note.inReplyTo);
|
||||||
|
if (uri.startsWith(config.url + '/')) {
|
||||||
|
const id = uri.split('/').pop();
|
||||||
|
const talk = await MessagingMessages.findOne(id);
|
||||||
|
if (talk) {
|
||||||
|
isTalk = true;
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
logger.warn(`Error in inReplyTo ${note.inReplyTo} - ${e.statusCode || e}`);
|
logger.warn(`Error in inReplyTo ${note.inReplyTo} - ${e.statusCode || e}`);
|
||||||
throw e;
|
throw e;
|
||||||
})
|
})
|
||||||
|
@ -250,7 +263,7 @@ export async function createNote(value: string | IObject, resolver?: Resolver, s
|
||||||
if (actor.uri) updatePerson(actor.uri);
|
if (actor.uri) updatePerson(actor.uri);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (note._misskey_talk && visibility === 'specified') {
|
if (isTalk) {
|
||||||
for (const recipient of visibleUsers) {
|
for (const recipient of visibleUsers) {
|
||||||
await createMessage(actor, recipient, undefined, text || undefined, (files && files.length > 0) ? files[0] : null, object.id);
|
await createMessage(actor, recipient, undefined, text || undefined, (files && files.length > 0) ? files[0] : null, object.id);
|
||||||
return null;
|
return null;
|
||||||
|
|
Loading…
Reference in a new issue