+ /**
+ * Checks if an incoming message is wanted
+ *
+ * @param array $item
+ * @return boolean Is the message wanted?
+ */
+ private static function isSolicitedMessage(array $item)
+ {
+ if (DBA::exists('contact', ["`nurl` = ? AND `uid` != ? AND `rel` IN (?, ?)",
+ Strings::normaliseLink($item["author-link"]), 0, Contact::FRIEND, Contact::SHARING])) {
+ Logger::info('Author has got followers - accepted', ['uri' => $item['uri'], 'author' => $item["author-link"]]);
+ return true;
+ }
+
+ $taglist = Tag::getByURIId($item['uri-id'], [Tag::HASHTAG]);
+ $tags = array_column($taglist, 'name');
+ return Relay::isSolicitedPost($tags, $item['body'], $item['author-id'], $item['uri'], Protocol::DFRN);
+ }
+