wip
This commit is contained in:
1 parent
11189ec3d6
commit
2be791d63b
14 files changed
+344
-195
No files matched your search
@@ -2,15 +2,17 @@
|
|||||||
|
|
||||||
namespace App\Console\Commands\Grapper;
|
namespace App\Console\Commands\Grapper;
|
||||||
|
|
||||||
use App\Console\Commands\Grapper\Sofascore\CreateZip;
|
|
||||||
use App\Console\Commands\Grapper\Sofascore\DaysTournament;
|
use App\Console\Commands\Grapper\Sofascore\DaysTournament;
|
||||||
use App\Console\Commands\Grapper\Sofascore\Grapper;
|
use App\Console\Commands\Grapper\Sofascore\Grapper;
|
||||||
|
use App\Console\Commands\Grapper\Sofascore\Helper\Strings;
|
||||||
use App\Console\Commands\Grapper\Sofascore\Helper\TaskConfig;
|
use App\Console\Commands\Grapper\Sofascore\Helper\TaskConfig;
|
||||||
use App\Console\Commands\Grapper\Sofascore\PlayerPerSeason;
|
use App\Console\Commands\Grapper\Sofascore\PlayerPerSeason;
|
||||||
use App\Console\Commands\Grapper\Sofascore\SendMail;
|
use App\Console\Commands\Grapper\Sofascore\SendMail;
|
||||||
use App\Console\Commands\Grapper\Sofascore\SettingsToLocal;
|
use App\Console\Commands\Grapper\Sofascore\SettingsToLocal;
|
||||||
use App\Console\Commands\Nuh;
|
use App\Console\Commands\Nuh;
|
||||||
|
use App\Models\SofaScoreTask;
|
||||||
use App\Utilities\Notice;
|
use App\Utilities\Notice;
|
||||||
|
use App\Utilities\ZipFolder;
|
||||||
|
|
||||||
ini_set('magic_quotes_runtime', false);
|
ini_set('magic_quotes_runtime', false);
|
||||||
|
|
||||||
@@ -22,31 +24,40 @@ class Sofascore
|
|||||||
{
|
{
|
||||||
$function = Nuh::$options['fun'];
|
$function = Nuh::$options['fun'];
|
||||||
|
|
||||||
self::$storage = storage_path('sofascore_data');
|
|
||||||
|
|
||||||
switch ($function) {
|
switch ($function) {
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
PlayerPerSeason::run();
|
PlayerPerSeason::run();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
SettingsToLocal::run();
|
SettingsToLocal::run();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
TaskConfig::start();
|
TaskConfig::start();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 4:
|
case 4:
|
||||||
DaysTournament::run();
|
DaysTournament::run();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 5:
|
case 5:
|
||||||
|
self::setStorage();
|
||||||
Grapper::load();
|
Grapper::load();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 6:
|
case 6:
|
||||||
TaskConfig::end();
|
TaskConfig::end();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 7:
|
case 7:
|
||||||
CreateZip::run();
|
self::setStorage();
|
||||||
|
ZipFolder::create(self::$storage);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 8:
|
case 8:
|
||||||
|
self::setStorage();
|
||||||
SendMail::run();
|
SendMail::run();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -54,4 +65,13 @@ class Sofascore
|
|||||||
Notice::note('id not valid', 'br', 1);
|
Notice::note('id not valid', 'br', 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function setStorage()
|
||||||
|
{
|
||||||
|
$task = Nuh::$options['task'];
|
||||||
|
|
||||||
|
self::$storage = storage_path('sofascore_data') . '/' . Strings::clean(SofaScoreTask::where('id', $task)->value('name'));
|
||||||
|
|
||||||
|
dd(self::$storage);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Console\Commands\Grapper\Sofascore;
|
|
||||||
|
|
||||||
use App\Console\Commands\Grapper\Sofascore;
|
|
||||||
use App\Console\Commands\Nuh;
|
|
||||||
use App\Utilities\Notice;
|
|
||||||
use App\Utilities\ZipFolder;
|
|
||||||
|
|
||||||
class CreateZip
|
|
||||||
{
|
|
||||||
public static function run()
|
|
||||||
{
|
|
||||||
$debug = Nuh::$options['d'] ?? 0;
|
|
||||||
|
|
||||||
ZipFolder::create(Sofascore::$storage);
|
|
||||||
|
|
||||||
if ($debug) {
|
|
||||||
Notice::note('zips created', 'bb');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -15,6 +15,15 @@ use Illuminate\Support\Facades\Log;
|
|||||||
|
|
||||||
class DaysTournament
|
class DaysTournament
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* a nuh --d --f 67 --fun=4 --task=1
|
||||||
|
*
|
||||||
|
* Ita Serie-A-Saison 23-08-2025 - 24-05-2026
|
||||||
|
* Ger Bundesliga 22-08-2025 – 16-05-2026
|
||||||
|
* Eng Premier league 15-08-2025 - 24-05-2026
|
||||||
|
* Spa La Liga 15-08-2025 - 24-05-2026
|
||||||
|
* Fra Liggue 15-08-2025 - 17-05-2026
|
||||||
|
*/
|
||||||
public static function run()
|
public static function run()
|
||||||
{
|
{
|
||||||
$debug = Nuh::$options['d'] ?? 0;
|
$debug = Nuh::$options['d'] ?? 0;
|
||||||
@@ -29,7 +38,7 @@ class DaysTournament
|
|||||||
$day = $d['day'];
|
$day = $d['day'];
|
||||||
$slug = $d['slug'];
|
$slug = $d['slug'];
|
||||||
|
|
||||||
$has = SofaScoreDayTournament::where('day', $day)->first();
|
$has = SofaScoreDayTournament::where('day', $day)->where('sport_id', $sport_id)->first();
|
||||||
|
|
||||||
if ($has) {
|
if ($has) {
|
||||||
if ($debug) {
|
if ($debug) {
|
||||||
@@ -154,6 +163,7 @@ class DaysTournament
|
|||||||
*/
|
*/
|
||||||
SofaScoreDayTournament::updateOrCreate([
|
SofaScoreDayTournament::updateOrCreate([
|
||||||
'tournament_id' => (int) $tournament['id'],
|
'tournament_id' => (int) $tournament['id'],
|
||||||
|
'sport_id' => (int) $sport_id,
|
||||||
'day' => $day,
|
'day' => $day,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,9 +35,6 @@ class Grapper
|
|||||||
|
|
||||||
$active_tournaments = SofaScoreTaskTournament::with('tournament')->where('sofa_score_task_id', $task_id)->where('disabled', false)->get();
|
$active_tournaments = SofaScoreTaskTournament::with('tournament')->where('sofa_score_task_id', $task_id)->where('disabled', false)->get();
|
||||||
|
|
||||||
// dd($active_tournaments->toArray());
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* empty grapping folder
|
* empty grapping folder
|
||||||
* empty mailing text
|
* empty mailing text
|
||||||
@@ -83,10 +80,13 @@ class Grapper
|
|||||||
|
|
||||||
foreach ($data['events'] as $event) {
|
foreach ($data['events'] as $event) {
|
||||||
|
|
||||||
$now = Carbon::now()->subHours(4);
|
$now = Carbon::now()->subHours(3);
|
||||||
|
|
||||||
|
$carbon_day = new Carbon($day);
|
||||||
|
|
||||||
$starttime = Carbon::createFromTimestamp($event['startTimestamp']);
|
$starttime = Carbon::createFromTimestamp($event['startTimestamp']);
|
||||||
|
|
||||||
if ($now->greaterThan($starttime)) {
|
if ($now->greaterThan($starttime) && $starttime->isSameDay($carbon_day)) {
|
||||||
|
|
||||||
Sleeper::rand(1);
|
Sleeper::rand(1);
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Console\Commands\Grapper\Sofascore\Helper;
|
||||||
|
|
||||||
|
class Strings
|
||||||
|
{
|
||||||
|
|
||||||
|
public static function clean(string $string)
|
||||||
|
{
|
||||||
|
$string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens.
|
||||||
|
$string = preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars.
|
||||||
|
|
||||||
|
return preg_replace('/-+/', '-', $string); // Replaces multiple hyphens with single one.
|
||||||
|
}
|
||||||
|
}
|
||||||
+1
-1
@@ -29,7 +29,7 @@ class SofaScoreTaskForm
|
|||||||
->allowHtml()
|
->allowHtml()
|
||||||
->required()
|
->required()
|
||||||
->options([
|
->options([
|
||||||
'auto_updater' => '<span class="text-green-600">Grap last 3 days</span>',
|
'auto_updater' => '<span class="text-green-600">Yesterday</span>',
|
||||||
'date' => '<span class="text-blue-600">Grap a date</span>',
|
'date' => '<span class="text-blue-600">Grap a date</span>',
|
||||||
'range' => '<span class="text-amber-600">Grap a date range</span>',
|
'range' => '<span class="text-amber-600">Grap a date range</span>',
|
||||||
]),
|
]),
|
||||||
|
|||||||
+33
-2
@@ -2,11 +2,16 @@
|
|||||||
|
|
||||||
namespace App\Filament\Clusters\StaticData\Resources\StatistikoDetails\Tables;
|
namespace App\Filament\Clusters\StaticData\Resources\StatistikoDetails\Tables;
|
||||||
|
|
||||||
|
use App\Models\StatistikoDetail;
|
||||||
use Filament\Actions\DeleteAction;
|
use Filament\Actions\DeleteAction;
|
||||||
use Filament\Actions\EditAction;
|
use Filament\Actions\EditAction;
|
||||||
|
use Filament\Forms\Components\Checkbox;
|
||||||
use Filament\Tables\Columns\Layout\Stack;
|
use Filament\Tables\Columns\Layout\Stack;
|
||||||
use Filament\Tables\Columns\TextColumn;
|
use Filament\Tables\Columns\TextColumn;
|
||||||
|
use Filament\Tables\Enums\FiltersLayout;
|
||||||
|
use Filament\Tables\Filters\Filter;
|
||||||
use Filament\Tables\Table;
|
use Filament\Tables\Table;
|
||||||
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
|
|
||||||
class StatistikoDetailsTable
|
class StatistikoDetailsTable
|
||||||
{
|
{
|
||||||
@@ -38,13 +43,39 @@ class StatistikoDetailsTable
|
|||||||
// TextColumn::make('team_name')->prefix('Team Name: '),
|
// TextColumn::make('team_name')->prefix('Team Name: '),
|
||||||
]),
|
]),
|
||||||
])
|
])
|
||||||
|
->emptyStateHeading('No double player in details')
|
||||||
->contentGrid([
|
->contentGrid([
|
||||||
'md' => 2,
|
'md' => 2,
|
||||||
'xl' => 4,
|
'xl' => 4,
|
||||||
])
|
])
|
||||||
|
->filters([
|
||||||
|
Filter::make('player_filters')
|
||||||
|
->schema([
|
||||||
|
Checkbox::make('find_double'),
|
||||||
|
])->query(function (Builder $query, array $data): Builder {
|
||||||
|
return $query->when(
|
||||||
|
$data['find_double'],
|
||||||
|
function (Builder $query) {
|
||||||
|
$pDetails = StatistikoDetail::pluck('tm_player_id')->toArray();
|
||||||
|
$doublpDetails = array_diff_assoc(
|
||||||
|
$pDetails,
|
||||||
|
array_unique($pDetails)
|
||||||
|
);
|
||||||
|
$query->whereIn('tm_player_id', $doublpDetails)->orderBy('tm_player_id');
|
||||||
|
}
|
||||||
|
);
|
||||||
|
})->indicateUsing(function (array $data): ?string {
|
||||||
|
if (! $data['find_double']) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return 'Find Double';
|
||||||
|
}),
|
||||||
|
|
||||||
|
], layout: FiltersLayout::AboveContent)
|
||||||
|
->deferFilters(false)
|
||||||
->recordActions([
|
->recordActions([
|
||||||
EditAction::make()->hiddenLabel(),
|
EditAction::make()->iconButton(),
|
||||||
DeleteAction::make()->hiddenLabel(),
|
DeleteAction::make()->iconButton(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+3
@@ -49,6 +49,8 @@ class StatistikoPlayersTable
|
|||||||
}
|
}
|
||||||
$arr[$match_id][] = $player_id;
|
$arr[$match_id][] = $player_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $query->where('match_id', 0);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
})->indicateUsing(function (array $data): ?string {
|
})->indicateUsing(function (array $data): ?string {
|
||||||
@@ -59,6 +61,7 @@ class StatistikoPlayersTable
|
|||||||
}),
|
}),
|
||||||
|
|
||||||
], layout: FiltersLayout::AboveContent)
|
], layout: FiltersLayout::AboveContent)
|
||||||
|
->emptyStateHeading('No player double in an event')
|
||||||
->deferFilters(false)
|
->deferFilters(false)
|
||||||
->recordActions([
|
->recordActions([
|
||||||
EditAction::make()->iconButton(),
|
EditAction::make()->iconButton(),
|
||||||
|
|||||||
@@ -131,6 +131,9 @@ class ImportPlayer
|
|||||||
// ss_playerrating_value,
|
// ss_playerrating_value,
|
||||||
// tm_player_id
|
// tm_player_id
|
||||||
|
|
||||||
|
// 'sport_id' => (int) $row[0],
|
||||||
|
// 'match_id' => (int) $row[1],
|
||||||
|
// 'ss_player_id' => (int) $row[2],
|
||||||
// 'activeteam_id' => $row[2],
|
// 'activeteam_id' => $row[2],
|
||||||
// 'playersubstitute_id' => $row[3],
|
// 'playersubstitute_id' => $row[3],
|
||||||
// 'goals' => $row[4],
|
// 'goals' => $row[4],
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ class SofaScoreDayTournament extends Model
|
|||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'id',
|
'id',
|
||||||
'tournament_id',
|
'tournament_id',
|
||||||
|
'sport_id',
|
||||||
'day',
|
'day',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -12,11 +12,8 @@ class ZipFolder
|
|||||||
public static function create(string $path)
|
public static function create(string $path)
|
||||||
{
|
{
|
||||||
|
|
||||||
// $zipFilePath = Sofascore::$storage . '/' . $day . '.zip';
|
|
||||||
|
|
||||||
// $path = Sofascore::$storage . '/' . $day;
|
|
||||||
|
|
||||||
$zipFilePath = $path . '/archive.zip';
|
$zipFilePath = $path . '/archive.zip';
|
||||||
|
|
||||||
$zip = new ZipArchive();
|
$zip = new ZipArchive();
|
||||||
|
|
||||||
if ($zip->open($zipFilePath, ZipArchive::CREATE | ZipArchive::OVERWRITE) === true) {
|
if ($zip->open($zipFilePath, ZipArchive::CREATE | ZipArchive::OVERWRITE) === true) {
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ return new class extends Migration
|
|||||||
Schema::create('sofa_score_day_tournaments', function (Blueprint $table) {
|
Schema::create('sofa_score_day_tournaments', function (Blueprint $table) {
|
||||||
$table->id();
|
$table->id();
|
||||||
$table->integer('tournament_id')->index();
|
$table->integer('tournament_id')->index();
|
||||||
|
$table->integer('sport_id')->index();
|
||||||
$table->date('day')->index();
|
$table->date('day')->index();
|
||||||
$table->boolean('grapped')->index()->default(0);
|
$table->boolean('grapped')->index()->default(0);
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
|
|||||||
+239
-149
@@ -1,149 +1,239 @@
|
|||||||
XHRGET
|
{
|
||||||
https://www.sofascore.com/api/v1/sport/football/scheduled-tournaments/2026-07-09/page/1
|
"eventState": [],
|
||||||
[HTTP/2 200 128ms]
|
"tournament": {
|
||||||
|
"name": "Allsvenskan",
|
||||||
|
"slug": "allsvenskan",
|
||||||
scheduled (100)[ {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, … ]
|
"category": {
|
||||||
0 { tournament: {…}, timezoneEventCount: {…} }
|
"name": "Sweden",
|
||||||
tournament { name: "FIFA World Cup, Knockout", slug: "world-cup-knockout-stage", priority: 805, … }
|
"slug": "sweden",
|
||||||
name "FIFA World Cup, Knockout"
|
"sport": { "name": "Football", "slug": "football", "id": 1 },
|
||||||
slug "world-cup-knockout-stage"
|
"priority": 0,
|
||||||
category { name: "World", slug: "world", priority: 20, … }
|
"country": {
|
||||||
name "World"
|
"alpha2": "SE",
|
||||||
slug "world"
|
"alpha3": "SWE",
|
||||||
sport { name: "Football", slug: "football", id: 1 }
|
"name": "Sweden",
|
||||||
name "Football"
|
"slug": "sweden"
|
||||||
slug "football"
|
},
|
||||||
id 1
|
"id": 9,
|
||||||
priority 20
|
"flag": "sweden",
|
||||||
id 1468
|
"alpha2": "SE",
|
||||||
flag "international"
|
"fieldTranslations": {
|
||||||
fieldTranslations { nameTranslation: {…}, shortNameTranslation: {} }
|
"nameTranslation": {
|
||||||
nameTranslation { ar: "العالم", bn: "বিশ্ব", hi: "विश्व", … }
|
"ar": "\u0627\u0644\u0633\u0648\u064a\u062f",
|
||||||
shortNameTranslation {}
|
"ru": "\u0428\u0432\u0435\u0446\u0438\u044f"
|
||||||
uniqueTournament { name: "FIFA World Cup", slug: "world-championship", userCount: 1986199, … }
|
},
|
||||||
priority 805
|
"shortNameTranslation": []
|
||||||
id 3948
|
}
|
||||||
fieldTranslations { nameTranslation: {…}, shortNameTranslation: {} }
|
},
|
||||||
timezoneEventCount { 0: 1, 3600: 1, 7200: 1, … }
|
"uniqueTournament": {
|
||||||
0 1
|
"name": "Allsvenskan",
|
||||||
3600 1
|
"slug": "allsvenskan",
|
||||||
7200 1
|
"primaryColorHex": "#d38509",
|
||||||
10800 1
|
"secondaryColorHex": "#212759",
|
||||||
12600 1
|
"category": {
|
||||||
-43200 1
|
"name": "Sweden",
|
||||||
-39600 1
|
"slug": "sweden",
|
||||||
-36000 1
|
"sport": { "name": "Football", "slug": "football", "id": 1 },
|
||||||
-34200 1
|
"priority": 0,
|
||||||
-32400 1
|
"country": {
|
||||||
-28800 1
|
"alpha2": "SE",
|
||||||
-25200 1
|
"alpha3": "SWE",
|
||||||
-21600 1
|
"name": "Sweden",
|
||||||
-18000 1
|
"slug": "sweden"
|
||||||
-16200 1
|
},
|
||||||
-14400 1
|
"id": 9,
|
||||||
-12600 1
|
"flag": "sweden",
|
||||||
-10800 1
|
"alpha2": "SE",
|
||||||
-9000 1
|
"fieldTranslations": {
|
||||||
-7200 1
|
"nameTranslation": {
|
||||||
-3600 1
|
"ar": "\u0627\u0644\u0633\u0648\u064a\u062f",
|
||||||
1 { tournament: {…}, timezoneEventCount: {…} }
|
"ru": "\u0428\u0432\u0435\u0446\u0438\u044f"
|
||||||
2 { tournament: {…}, timezoneEventCount: {…} }
|
},
|
||||||
3 { tournament: {…}, timezoneEventCount: {…} }
|
"shortNameTranslation": []
|
||||||
4 { tournament: {…}, timezoneEventCount: {…} }
|
}
|
||||||
5 { tournament: {…}, timezoneEventCount: {…} }
|
},
|
||||||
6 { tournament: {…}, timezoneEventCount: {…} }
|
"userCount": 29399,
|
||||||
7 { tournament: {…}, timezoneEventCount: {…} }
|
"hasPerformanceGraphFeature": true,
|
||||||
8 { tournament: {…}, timezoneEventCount: {…} }
|
"country": [],
|
||||||
9 { tournament: {…}, timezoneEventCount: {…} }
|
"id": 40,
|
||||||
10 { tournament: {…}, timezoneEventCount: {…} }
|
"hasEventPlayerStatistics": true,
|
||||||
11 { tournament: {…}, timezoneEventCount: {…} }
|
"displayInverseHomeAwayTeams": false,
|
||||||
12 { tournament: {…}, timezoneEventCount: {…} }
|
"fieldTranslations": {
|
||||||
13 { tournament: {…}, timezoneEventCount: {…} }
|
"nameTranslation": {
|
||||||
14 { tournament: {…}, timezoneEventCount: {…} }
|
"ar": "\u0627\u0644\u062f\u0648\u0631\u064a \u0627\u0644\u0633\u0648\u064a\u062f\u064a \u0627\u0644\u0645\u0645\u062a\u0627\u0632",
|
||||||
15 { tournament: {…}, timezoneEventCount: {…} }
|
"bn": "\u0985\u09b2\u09b8\u09ad\u09c7\u09a8\u09b8\u09cd\u0995\u09be\u09a8",
|
||||||
16 { tournament: {…}, timezoneEventCount: {…} }
|
"hi": "\u0911\u0932\u0938\u094d\u0935\u0947\u0928\u094d\u0938\u094d\u0915\u0928",
|
||||||
17 { tournament: {…}, timezoneEventCount: {…} }
|
"ru": "\u0410\u043b\u043b\u0441\u0432\u0435\u043d\u0441\u043a\u0430\u043d"
|
||||||
18 { tournament: {…}, timezoneEventCount: {…} }
|
},
|
||||||
19 { tournament: {…}, timezoneEventCount: {…} }
|
"shortNameTranslation": []
|
||||||
20 { tournament: {…}, timezoneEventCount: {…} }
|
}
|
||||||
21 { tournament: {…}, timezoneEventCount: {…} }
|
},
|
||||||
22 { tournament: {…}, timezoneEventCount: {…} }
|
"priority": 192,
|
||||||
23 { tournament: {…}, timezoneEventCount: [] }
|
"isGroup": false,
|
||||||
24 { tournament: {…}, timezoneEventCount: {…} }
|
"isLive": false,
|
||||||
25 { tournament: {…}, timezoneEventCount: {…} }
|
"id": 24,
|
||||||
26 { tournament: {…}, timezoneEventCount: {…} }
|
"fieldTranslations": {
|
||||||
27 { tournament: {…}, timezoneEventCount: {…} }
|
"nameTranslation": {
|
||||||
28 { tournament: {…}, timezoneEventCount: {…} }
|
"ar": "\u0627\u0644\u062f\u0648\u0631\u064a \u0627\u0644\u0633\u0648\u064a\u062f\u064a \u0627\u0644\u0645\u0645\u062a\u0627\u0632",
|
||||||
29 { tournament: {…}, timezoneEventCount: {…} }
|
"bn": "\u0985\u09b2\u09b8\u09ad\u09c7\u09a8\u09b8\u09cd\u0995\u09be\u09a8",
|
||||||
30 { tournament: {…}, timezoneEventCount: {…} }
|
"hi": "\u0911\u0932\u0938\u094d\u0935\u0947\u0928\u094d\u0938\u094d\u0915\u0928",
|
||||||
31 { tournament: {…}, timezoneEventCount: {…} }
|
"ru": "\u0410\u043b\u043b\u0441\u0432\u0435\u043d\u0441\u043a\u0430\u043d"
|
||||||
32 { tournament: {…}, timezoneEventCount: {…} }
|
},
|
||||||
33 { tournament: {…}, timezoneEventCount: {…} }
|
"shortNameTranslation": []
|
||||||
34 { tournament: {…}, timezoneEventCount: {…} }
|
}
|
||||||
35 { tournament: {…}, timezoneEventCount: {…} }
|
},
|
||||||
36 { tournament: {…}, timezoneEventCount: {…} }
|
"season": {
|
||||||
37 { tournament: {…}, timezoneEventCount: {…} }
|
"name": "Allsvenskan 2026",
|
||||||
38 { tournament: {…}, timezoneEventCount: {…} }
|
"year": "2026",
|
||||||
39 { tournament: {…}, timezoneEventCount: {…} }
|
"editor": false,
|
||||||
40 { tournament: {…}, timezoneEventCount: {…} }
|
"id": 87925
|
||||||
41 { tournament: {…}, timezoneEventCount: {…} }
|
},
|
||||||
42 { tournament: {…}, timezoneEventCount: {…} }
|
"roundInfo": { "round": 12 },
|
||||||
43 { tournament: {…}, timezoneEventCount: {…} }
|
"customId": "jKsrK",
|
||||||
44 { tournament: {…}, timezoneEventCount: {…} }
|
"status": { "code": 100, "description": "Ended", "type": "finished" },
|
||||||
45 { tournament: {…}, timezoneEventCount: {…} }
|
"winnerCode": 1,
|
||||||
46 { tournament: {…}, timezoneEventCount: {…} }
|
"venue": {
|
||||||
47 { tournament: {…}, timezoneEventCount: {…} }
|
"city": {
|
||||||
48 { tournament: {…}, timezoneEventCount: {…} }
|
"name": "Stockholm",
|
||||||
49 { tournament: {…}, timezoneEventCount: {…} }
|
"country": {
|
||||||
50 { tournament: {…}, timezoneEventCount: {…} }
|
"alpha2": "SE",
|
||||||
51 { tournament: {…}, timezoneEventCount: {…} }
|
"alpha3": "SWE",
|
||||||
52 { tournament: {…}, timezoneEventCount: {…} }
|
"name": "Sweden",
|
||||||
53 { tournament: {…}, timezoneEventCount: [] }
|
"slug": "sweden"
|
||||||
54 { tournament: {…}, timezoneEventCount: {…} }
|
},
|
||||||
55 { tournament: {…}, timezoneEventCount: [] }
|
"id": 19506
|
||||||
56 { tournament: {…}, timezoneEventCount: {…} }
|
},
|
||||||
57 { tournament: {…}, timezoneEventCount: {…} }
|
"venueCoordinates": { "latitude": 59.291033, "longitude": 18.084543 },
|
||||||
58 { tournament: {…}, timezoneEventCount: {…} }
|
"hidden": true,
|
||||||
59 { tournament: {…}, timezoneEventCount: {…} }
|
"slug": "tele2-arena",
|
||||||
60 { tournament: {…}, timezoneEventCount: {…} }
|
"name": "3Arena",
|
||||||
61 { tournament: {…}, timezoneEventCount: {…} }
|
"capacity": 32000,
|
||||||
62 { tournament: {…}, timezoneEventCount: {…} }
|
"country": {
|
||||||
63 { tournament: {…}, timezoneEventCount: {…} }
|
"alpha2": "SE",
|
||||||
64 { tournament: {…}, timezoneEventCount: {…} }
|
"alpha3": "SWE",
|
||||||
65 { tournament: {…}, timezoneEventCount: {…} }
|
"name": "Sweden",
|
||||||
66 { tournament: {…}, timezoneEventCount: {…} }
|
"slug": "sweden"
|
||||||
67 { tournament: {…}, timezoneEventCount: {…} }
|
},
|
||||||
68 { tournament: {…}, timezoneEventCount: {…} }
|
"id": 12373,
|
||||||
69 { tournament: {…}, timezoneEventCount: {…} }
|
"fieldTranslations": {
|
||||||
70 { tournament: {…}, timezoneEventCount: {…} }
|
"nameTranslation": {
|
||||||
71 { tournament: {…}, timezoneEventCount: {…} }
|
"ar": "\u0645\u0644\u0639\u0628 \u062a\u064a\u0644\u064a 2",
|
||||||
72 { tournament: {…}, timezoneEventCount: {…} }
|
"hi": "\u091f\u0947\u0932\u09402 \u090f\u0930\u093f\u0928\u093e",
|
||||||
73 { tournament: {…}, timezoneEventCount: {…} }
|
"bn": "\u099f\u09bf\u0987\u098f\u09b2\u09872 \u098f\u09b0\u09bf\u09a8\u09be",
|
||||||
74 { tournament: {…}, timezoneEventCount: {…} }
|
"ru": "\u0410\u0440\u0435\u043d\u0430 3"
|
||||||
75 { tournament: {…}, timezoneEventCount: {…} }
|
},
|
||||||
76 { tournament: {…}, timezoneEventCount: {…} }
|
"shortNameTranslation": []
|
||||||
77 { tournament: {…}, timezoneEventCount: {…} }
|
},
|
||||||
78 { tournament: {…}, timezoneEventCount: {…} }
|
"stadium": { "name": "3Arena", "capacity": 32000 }
|
||||||
79 { tournament: {…}, timezoneEventCount: {…} }
|
},
|
||||||
80 { tournament: {…}, timezoneEventCount: {…} }
|
"homeTeam": {
|
||||||
81 { tournament: {…}, timezoneEventCount: {…} }
|
"name": "Djurg\u00e5rdens IF",
|
||||||
82 { tournament: {…}, timezoneEventCount: [] }
|
"slug": "djurgardens-if",
|
||||||
83 { tournament: {…}, timezoneEventCount: {…} }
|
"shortName": "Djurg\u00e5rden",
|
||||||
84 { tournament: {…}, timezoneEventCount: {…} }
|
"gender": "M",
|
||||||
85 { tournament: {…}, timezoneEventCount: {…} }
|
"sport": { "name": "Football", "slug": "football", "id": 1 },
|
||||||
86 { tournament: {…}, timezoneEventCount: {…} }
|
"userCount": 42579,
|
||||||
87 { tournament: {…}, timezoneEventCount: {…} }
|
"nameCode": "DIF",
|
||||||
88 { tournament: {…}, timezoneEventCount: {…} }
|
"disabled": false,
|
||||||
89 { tournament: {…}, timezoneEventCount: {…} }
|
"national": false,
|
||||||
90 { tournament: {…}, timezoneEventCount: {…} }
|
"type": 0,
|
||||||
91 { tournament: {…}, timezoneEventCount: {…} }
|
"country": {
|
||||||
92 { tournament: {…}, timezoneEventCount: {…} }
|
"alpha2": "SE",
|
||||||
93 { tournament: {…}, timezoneEventCount: {…} }
|
"alpha3": "SWE",
|
||||||
94 { tournament: {…}, timezoneEventCount: {…} }
|
"name": "Sweden",
|
||||||
95 { tournament: {…}, timezoneEventCount: {…} }
|
"slug": "sweden"
|
||||||
96 { tournament: {…}, timezoneEventCount: {…} }
|
},
|
||||||
97 { tournament: {…}, timezoneEventCount: {…} }
|
"id": 1759,
|
||||||
98 { tournament: {…}, timezoneEventCount: {…} }
|
"subTeams": [],
|
||||||
99 { tournament: {…}, timezoneEventCount: {…} }
|
"teamColors": {
|
||||||
hasNextPage true
|
"primary": "#33ccff",
|
||||||
|
"secondary": "#000099",
|
||||||
|
"text": "#000099"
|
||||||
|
},
|
||||||
|
"fieldTranslations": {
|
||||||
|
"nameTranslation": {
|
||||||
|
"ar": "\u062f\u064a\u0648\u0631\u063a\u0627\u0631\u062f\u0646\u0633 \u0625\u0641",
|
||||||
|
"ru": "\u0424\u041a \u042e\u0440\u0433\u043e\u0440\u0434\u0435\u043d"
|
||||||
|
},
|
||||||
|
"shortNameTranslation": {
|
||||||
|
"ar": "\u062f\u064a\u0648\u0631\u063a\u0627\u0631\u062f\u0646",
|
||||||
|
"bn": "\u099c\u09c1\u09b0\u09cd\u0997\u09be\u09b0\u09cd\u09a1\u09c7\u09a8\u09b8",
|
||||||
|
"hi": "\u091c\u0941\u0930\u094d\u0917\u093e\u0930\u094d\u0921\u0947\u0928"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"awayTeam": {
|
||||||
|
"name": "Halmstads BK",
|
||||||
|
"slug": "halmstads-bk",
|
||||||
|
"shortName": "Halmstad",
|
||||||
|
"gender": "M",
|
||||||
|
"sport": { "name": "Football", "slug": "football", "id": 1 },
|
||||||
|
"userCount": 10732,
|
||||||
|
"nameCode": "HBK",
|
||||||
|
"disabled": false,
|
||||||
|
"national": false,
|
||||||
|
"type": 0,
|
||||||
|
"country": {
|
||||||
|
"alpha2": "SE",
|
||||||
|
"alpha3": "SWE",
|
||||||
|
"name": "Sweden",
|
||||||
|
"slug": "sweden"
|
||||||
|
},
|
||||||
|
"id": 1767,
|
||||||
|
"subTeams": [],
|
||||||
|
"teamColors": {
|
||||||
|
"primary": "#0066ff",
|
||||||
|
"secondary": "#0066ff",
|
||||||
|
"text": "#0066ff"
|
||||||
|
},
|
||||||
|
"fieldTranslations": {
|
||||||
|
"nameTranslation": {
|
||||||
|
"ar": "\u0647\u0627\u0644\u0645\u0633\u062a\u0627\u062f\u0632 \u0628\u064a \u0643\u064a\u0647",
|
||||||
|
"ru": "\u0424\u041a \u0425\u0430\u043b\u044c\u043c\u0441\u0442\u0430\u0434"
|
||||||
|
},
|
||||||
|
"shortNameTranslation": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"homeScore": {
|
||||||
|
"current": 3,
|
||||||
|
"display": 3,
|
||||||
|
"period1": 2,
|
||||||
|
"period2": 1,
|
||||||
|
"normaltime": 3
|
||||||
|
},
|
||||||
|
"awayScore": {
|
||||||
|
"current": 0,
|
||||||
|
"display": 0,
|
||||||
|
"period1": 0,
|
||||||
|
"period2": 0,
|
||||||
|
"normaltime": 0
|
||||||
|
},
|
||||||
|
"time": {
|
||||||
|
"injuryTime1": 3,
|
||||||
|
"injuryTime2": 3,
|
||||||
|
"currentPeriodStartTimestamp": 1783965872,
|
||||||
|
"lastPeriodEndTimestamp": 1783964942
|
||||||
|
},
|
||||||
|
"changes": {
|
||||||
|
"changes": ["status.code", "status.description", "status.type"],
|
||||||
|
"changeTimestamp": 1783968772
|
||||||
|
},
|
||||||
|
"hasGlobalHighlights": true,
|
||||||
|
"hasEventPlayerStatistics": true,
|
||||||
|
"hasEventPlayerHeatMap": true,
|
||||||
|
"detailId": 1,
|
||||||
|
"crowdsourcingDataDisplayEnabled": false,
|
||||||
|
"correctAiInsight": true,
|
||||||
|
"correctHalftimeAiInsight": true,
|
||||||
|
"id": 15272449,
|
||||||
|
"slug": "halmstads-bk-djurgardens-if",
|
||||||
|
"startTimestamp": 1783962000,
|
||||||
|
"finalResultOnly": false,
|
||||||
|
"feedLocked": true,
|
||||||
|
"isEditor": false,
|
||||||
|
"eventFilters": {
|
||||||
|
"category": ["club"],
|
||||||
|
"level": ["top-competitions", "pro"],
|
||||||
|
"gender": ["M"]
|
||||||
|
}
|
||||||
|
}
|
||||||
+7
-7
@@ -30,19 +30,19 @@ case "$1" in
|
|||||||
# killall ssh
|
# killall ssh
|
||||||
|
|
||||||
# echo "\n⚽ TaskConfig start"
|
# echo "\n⚽ TaskConfig start"
|
||||||
# php artisan nuh --d --f 67 --fun=3 --task=$1
|
php artisan nuh --d --f 67 --fun=3 --task=$1
|
||||||
|
|
||||||
echo "\n⚽ Days Tournament"
|
# echo "\n⚽ Days Tournament"
|
||||||
php artisan nuh --d --f 67 --fun=4 --task=$1
|
# php artisan nuh --d --f 67 --fun=4 --task=$1
|
||||||
|
|
||||||
echo "\n⚽ Grapper"
|
# echo "\n⚽ Grapper"
|
||||||
php artisan nuh --d --f 67 --fun=5 --task=$1
|
# php artisan nuh --d --f 67 --fun=5 --task=$1
|
||||||
|
|
||||||
# echo "\n⚽ TaskConfig end"
|
# echo "\n⚽ TaskConfig end"
|
||||||
# php artisan nuh --d --f 67 --fun=6 --task=$1
|
# php artisan nuh --d --f 67 --fun=6 --task=$1
|
||||||
|
|
||||||
echo "\n⚽ CreateZip"
|
# echo "\n⚽ CreateZip"
|
||||||
php artisan nuh --d --f 67 --fun=7 --task=$1
|
# php artisan nuh --d --f 67 --fun=7 --task=$1
|
||||||
|
|
||||||
# echo "\n⚽ SendMail"
|
# echo "\n⚽ SendMail"
|
||||||
# php artisan nuh --d --f 67 --fun=8 --task=$1
|
# php artisan nuh --d --f 67 --fun=8 --task=$1
|
||||||
|
|||||||
Reference in new issue
Block a user