Deploy on 2026-06-05 17:24:21
This commit is contained in:
@@ -34,7 +34,7 @@ You are ScoutIQ, an investor intelligence AI. Analyze the following startup/inve
|
||||
- "score": integer 0-100 (relevance to startups seeking funding)
|
||||
- "tags": array of relevant tags (max 5)
|
||||
- "is_opportunity": boolean (true if it's a funding/investment opportunity)
|
||||
- "summary": 1-2 sentence summary of what this is
|
||||
- "summary": 1-2 sentence summary in Arabic language of what this is, highlighting key strengths and contact/application info if present
|
||||
- "organization_name": extracted organization name if any, or null
|
||||
- "country": extracted country if any, or null
|
||||
|
||||
@@ -78,7 +78,7 @@ Extract organization/investor information from this text. Return JSON:
|
||||
- "type": one of ["vc", "angel", "accelerator", "incubator", "venture_studio", "partner", "other"] or null
|
||||
- "country": country name or null
|
||||
- "website": website URL or null
|
||||
- "description": brief description max 200 chars
|
||||
- "description": brief description max 200 chars in Arabic language
|
||||
|
||||
Text: {$text}
|
||||
|
||||
|
||||
@@ -289,21 +289,27 @@ class Collector
|
||||
|
||||
// Trigger Telegram notification if enabled
|
||||
if ($this->getSetting('telegram_enabled') === '1') {
|
||||
$orgName = '';
|
||||
if ($orgId) {
|
||||
$orgStmt = $this->pdo->prepare("SELECT name FROM organizations WHERE id = ?");
|
||||
$orgStmt->execute([$orgId]);
|
||||
$orgName = $orgStmt->fetchColumn() ?: '';
|
||||
$minScore = (int)($this->getSetting('telegram_min_score') ?: 75);
|
||||
$oppType = $analysis['opportunity_type'] ?? $analysis['type'] ?? 'other';
|
||||
$importantTypes = ['vc_funding', 'accelerator', 'incubator', 'grant', 'competition'];
|
||||
|
||||
if ($score >= $minScore && in_array($oppType, $importantTypes)) {
|
||||
$orgName = '';
|
||||
if ($orgId) {
|
||||
$orgStmt = $this->pdo->prepare("SELECT name FROM organizations WHERE id = ?");
|
||||
$orgStmt->execute([$orgId]);
|
||||
$orgName = $orgStmt->fetchColumn() ?: '';
|
||||
}
|
||||
$this->notifier->loadSettings();
|
||||
$this->notifier->notifyNewOpportunity([
|
||||
'title' => $entry['title'],
|
||||
'type' => $oppType,
|
||||
'score' => $score,
|
||||
'url' => $entry['url'],
|
||||
'description' => $analysis['summary'] ?? $entry['description'],
|
||||
'org_name' => $orgName,
|
||||
]);
|
||||
}
|
||||
$this->notifier->loadSettings();
|
||||
$this->notifier->notifyNewOpportunity([
|
||||
'title' => $entry['title'],
|
||||
'type' => $analysis['opportunity_type'] ?? $analysis['type'] ?? 'other',
|
||||
'score' => $score,
|
||||
'url' => $entry['url'],
|
||||
'description' => $analysis['summary'] ?? $entry['description'],
|
||||
'org_name' => $orgName,
|
||||
]);
|
||||
}
|
||||
|
||||
} catch (Throwable $e) {
|
||||
|
||||
@@ -162,14 +162,34 @@ class TelegramNotifier
|
||||
$type = $opportunity['type'] ?? 'other';
|
||||
$score = $opportunity['score'] ?? 0;
|
||||
$url = $opportunity['url'] ?? '';
|
||||
$desc = mb_substr($opportunity['description'] ?? '', 0, 200);
|
||||
$desc = $opportunity['description'] ?? '';
|
||||
$orgName = $opportunity['org_name'] ?? '';
|
||||
|
||||
$message = "*New Opportunity:* {$title}\n";
|
||||
$message .= "*Type:* {$type} | *Score:* {$score}/100\n";
|
||||
if ($orgName) $message .= "*Organization:* {$orgName}\n";
|
||||
if ($desc) $message .= "_{$desc}_\n";
|
||||
if ($url) $message .= "\n[Open Link]({$url})";
|
||||
$typeTranslations = [
|
||||
'vc_funding' => 'تمويل رأس مال جريء (VC)',
|
||||
'accelerator' => 'مسرعة أعمال (Accelerator)',
|
||||
'incubator' => 'حاضنة أعمال (Incubator)',
|
||||
'grant' => 'منحة (Grant)',
|
||||
'competition' => 'مسابقة (Competition)',
|
||||
'demo_day' => 'يوم عرض المشاريع (Demo Day)',
|
||||
'event' => 'فعالية (Event)',
|
||||
'partnership' => 'شراكة (Partnership)',
|
||||
'other' => 'أخرى',
|
||||
];
|
||||
$translatedType = $typeTranslations[$type] ?? $type;
|
||||
|
||||
$message = "💡 *فرصة استثمارية جديدة:* {$title}\n\n";
|
||||
$message .= "▪️ *النوع:* {$translatedType}\n";
|
||||
$message .= "▪️ *درجة الأهمية:* {$score}/100\n";
|
||||
if ($orgName) {
|
||||
$message .= "▪️ *الجهة:* {$orgName}\n";
|
||||
}
|
||||
if ($desc) {
|
||||
$message .= "\n*الملخص ونقاط القوة:*\n_{$desc}_\n";
|
||||
}
|
||||
if ($url) {
|
||||
$message .= "\n🔗 [رابط التقديم والتواصل]({$url})";
|
||||
}
|
||||
|
||||
$this->send($message, 'opportunity');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user