add txodds markets as a resource
This commit is contained in:
1 parent
e14404ec8b
commit
5fa1d02dbd
26 files changed
+921
-55
No files matched your search
@@ -42,7 +42,7 @@ class SupervisorMaker
|
||||
$content .= 'autorestart=true'.PHP_EOL;
|
||||
|
||||
$file = $path.'/'.$process.'.ini';
|
||||
if ($supervisor->is_active && ! $supervisor->is_cron) {
|
||||
if ($supervisor->is_active && $supervisor->is_supervisor) {
|
||||
file_put_contents($file, $content);
|
||||
chmod($file, 0777);
|
||||
} else {
|
||||
|
||||
@@ -96,8 +96,6 @@ class Odds
|
||||
|
||||
*************************************************/
|
||||
|
||||
$debug = Nuh::$options['d'] ?? 0;
|
||||
|
||||
switch (Nuh::$options['sport_id']) {
|
||||
case 1:
|
||||
/**
|
||||
@@ -149,6 +147,13 @@ class Odds
|
||||
break;
|
||||
}
|
||||
|
||||
/*************************************************
|
||||
* use_lastcall
|
||||
*************************************************/
|
||||
if (Nuh::$options['use_lastcall']) {
|
||||
$lastcall = Nuh::$options['lastcall'] ? '&last='.Nuh::$options['lastcall'] : '';
|
||||
}
|
||||
|
||||
/*************************************************
|
||||
* URL
|
||||
*************************************************/
|
||||
@@ -165,26 +170,15 @@ class Odds
|
||||
Notice::note("BY ID \nsport_id: ".Nuh::$options['sport_id'], 'p');
|
||||
}
|
||||
/**
|
||||
* by SINGLE ID
|
||||
* by specific ID
|
||||
*/
|
||||
$_calls[] = $url."&ot=$markets&peid=".Nuh::$options['id'];
|
||||
} elseif (Nuh::$options['a']) {
|
||||
if ($debug) {
|
||||
Notice::note("ALL \nsport_id: ".Nuh::$options['sport_id'], 'p');
|
||||
}
|
||||
/**
|
||||
* ALL by ID
|
||||
*/
|
||||
$res = Event::where('sport_id', Nuh::$options['sport_id'])->where('starttime', '>', Carbon::now()->toDateTimeString())->pluck('id');
|
||||
foreach ($res as $id) {
|
||||
$_calls[] = $url."&ot=$markets&peid=".$id;
|
||||
}
|
||||
} elseif (Nuh::$options['g']) {
|
||||
if ($debug) {
|
||||
Notice::note("GROUP_ID \nsport_id: ".Nuh::$options['sport_id'], 'p');
|
||||
}
|
||||
/**
|
||||
* PER GROUP_ID
|
||||
* per group_id
|
||||
* with from-to
|
||||
*/
|
||||
$groupids = Event::where('starttime', '>', Carbon::now()->toDateTimeString())->groupBy('group_id')->pluck('group_id');
|
||||
@@ -197,7 +191,7 @@ class Odds
|
||||
}
|
||||
|
||||
/**
|
||||
* TODAY
|
||||
* today
|
||||
*/
|
||||
$from = Carbon::now()->toDateTimeString();
|
||||
$to = Carbon::now()->addDays(1)->toDateTimeString();
|
||||
@@ -211,13 +205,23 @@ class Odds
|
||||
Notice::note("WEEK \nsport_id: ".Nuh::$options['sport_id'], 'p');
|
||||
}
|
||||
/**
|
||||
* ONE WEEK
|
||||
* week from now
|
||||
*/
|
||||
$res = Event::where('sport_id', Nuh::$options['sport_id'])->where('starttime', '>', Carbon::now()->toDateTimeString())->where('starttime', '<', Carbon::now()->addDays(7)->toDateTimeString())->pluck('id');
|
||||
foreach ($res as $id) {
|
||||
$_calls[] = $url."&ot=$markets&peid=".$id;
|
||||
}
|
||||
} else {
|
||||
if ($debug) {
|
||||
Notice::note("ALL \nsport_id: ".Nuh::$options['sport_id'], 'p');
|
||||
}
|
||||
/**
|
||||
* ALL by ID
|
||||
*/
|
||||
$res = Event::where('sport_id', Nuh::$options['sport_id'])->where('starttime', '>', Carbon::now()->toDateTimeString())->pluck('id');
|
||||
foreach ($res as $id) {
|
||||
$_calls[] = $url."&ot=$markets&peid=".$id;
|
||||
}
|
||||
if ($debug) {
|
||||
Notice::note("LASTCALL \nsport_id: ".Nuh::$options['sport_id'], 'p');
|
||||
}
|
||||
@@ -226,7 +230,7 @@ class Odds
|
||||
|
||||
* with from-to days
|
||||
*/
|
||||
$_calls[] = $url.'&spid='.Nuh::$options['sport_id']."&ot=$markets&days=".Nuh::$options['days_from'].','.Nuh::$options['days_to'].'&last='.Nuh::$options['lastcall'];
|
||||
$_calls[] = $url.'&spid='.Nuh::$options['sport_id']."&ot=$markets&days=".Nuh::$options['days_from'].','.Nuh::$options['days_to'].$lastcall;
|
||||
}
|
||||
|
||||
/*************************************************
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Maintenance;
|
||||
|
||||
use App\Console\Commands\Maintenance\Tasks\CallTxoddsMarkets;
|
||||
use App\Console\Commands\Nuh;
|
||||
|
||||
class Services
|
||||
{
|
||||
public static function switch()
|
||||
{
|
||||
switch (Nuh::$options['name']) {
|
||||
case 'Txodds Markets':
|
||||
CallTxoddsMarkets::call();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Maintenance\Tasks;
|
||||
|
||||
use App\Console\Commands\Nuh;
|
||||
use App\Console\Commands\Xml;
|
||||
use App\Models\TxoddsMarket;
|
||||
use App\Utilities\Notice;
|
||||
|
||||
class CallTxoddsMarkets
|
||||
{
|
||||
public static function call()
|
||||
{
|
||||
$debug = Nuh::$options['d'] ?? 0;
|
||||
|
||||
if ($debug) {
|
||||
Notice::note('TxoddsMarkets', 'b');
|
||||
}
|
||||
|
||||
$url = 'https://xml2.txodds.com/feed/odds_types.php';
|
||||
|
||||
$data = Xml::load($url);
|
||||
|
||||
foreach ($data as $row) {
|
||||
|
||||
$market = [
|
||||
'shortname' => $row->sname,
|
||||
'name' => (string) $row->name,
|
||||
];
|
||||
|
||||
TxoddsMarket::updateOrCreate(['market_id' => (int) $row->ot], $market);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,8 @@ use App\Console\Commands\Grapper\Betsapi;
|
||||
use App\Console\Commands\Grapper\Logifuture;
|
||||
use App\Console\Commands\Grapper\Magloo;
|
||||
use App\Console\Commands\Grapper\TxOdds;
|
||||
use App\Console\Commands\Maintenance\Services;
|
||||
use App\Console\Services\Service;
|
||||
use App\Models\Supervisor;
|
||||
use App\Utilities\Notice;
|
||||
use App\Utilities\Supervisorctl;
|
||||
@@ -24,7 +26,7 @@ class Nuh extends Command
|
||||
|
||||
public static $BETSAPI_TOKEN = '36152-aeTRNnZxSPUwGe';
|
||||
|
||||
protected $signature = 'nuh {process=help} {--id=0} {--f=} {--a} {--p} {--d} {--x} {--t} {--w} {--g} {--r} {--s} {--t} {--q}';
|
||||
protected $signature = 'nuh {process=help} {--id=0} {--f=} {--p} {--d} {--x} {--t} {--w} {--g} {--r} {--s} {--t} {--q}';
|
||||
|
||||
protected $description = 'Nuh';
|
||||
|
||||
@@ -41,11 +43,10 @@ class Nuh extends Command
|
||||
$txt .= '----------------------------------------------'.PHP_EOL;
|
||||
$txt .= 'process [id] (required)'.PHP_EOL;
|
||||
$txt .= '--id=matchid (optional) calling spezific id'.PHP_EOL;
|
||||
$txt .= '--f=name (optional) [bookmaker_sport]'.PHP_EOL;
|
||||
$txt .= '--f=name (optional) [bkms, markets]'.PHP_EOL;
|
||||
$txt .= '----------------------------------------------'.PHP_EOL.PHP_EOL;
|
||||
$txt .= 'Options'.PHP_EOL;
|
||||
$txt .= '----------------------------------------------'.PHP_EOL;
|
||||
$txt .= '--a reload all'.PHP_EOL;
|
||||
$txt .= '--p use proxy'.PHP_EOL;
|
||||
$txt .= '--d debug'.PHP_EOL;
|
||||
$txt .= '--x generate supervisors'.PHP_EOL;
|
||||
@@ -100,6 +101,10 @@ class Nuh extends Command
|
||||
// LOGIFUTUR COLOMBIA
|
||||
Logifuture::switch();
|
||||
break;
|
||||
case 7:
|
||||
// SERVICE
|
||||
Services::switch();
|
||||
break;
|
||||
default:
|
||||
Notice::note('Provider not defined', 'r', 1);
|
||||
break;
|
||||
|
||||
@@ -21,13 +21,13 @@ class SupervisorForm
|
||||
->relationship('sport', 'name')
|
||||
->nullable(),
|
||||
|
||||
TextInput::make('sleep')->default(15),
|
||||
TextInput::make('sleep')->default(30),
|
||||
TextInput::make('maxsconds')->label('Seconds till throwing an error')->default(1800),
|
||||
Section::make('Run processes paralell for speed')
|
||||
->description('Set start and end days if more processes grap the same data')
|
||||
->schema([
|
||||
TextInput::make('days_from')->columns(1),
|
||||
TextInput::make('days_to')->columns(1),
|
||||
TextInput::make('days_from')->columns(1)->default(0),
|
||||
TextInput::make('days_to')->columns(1)->default(1),
|
||||
])->columns(2)->columnSpanFull(),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -33,13 +33,6 @@ class SupervisorResource extends Resource
|
||||
return SupervisorsTable::configure($table);
|
||||
}
|
||||
|
||||
public static function getRelations(): array
|
||||
{
|
||||
return [
|
||||
//
|
||||
];
|
||||
}
|
||||
|
||||
public static function getPages(): array
|
||||
{
|
||||
return [
|
||||
|
||||
@@ -34,14 +34,35 @@ class SupervisorsTable
|
||||
default => 'warning',
|
||||
}),
|
||||
SelectColumn::make('name')
|
||||
->options([
|
||||
'Fixtures' => 'Fixtures',
|
||||
'Odds' => 'Odds',
|
||||
'Willhill' => 'Willhill',
|
||||
'Bwin' => 'Bwin',
|
||||
'Bet365' => 'Bet365',
|
||||
'Betfair' => 'Betfair',
|
||||
]),
|
||||
->options(function ($record) {
|
||||
switch ($record->provider_id) {
|
||||
case 1:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
return [
|
||||
'Fixtures' => 'Fixtures',
|
||||
'Odds' => 'Odds',
|
||||
];
|
||||
case 2:
|
||||
return [
|
||||
'Fixtures' => 'Fixtures',
|
||||
'Odds' => 'Odds',
|
||||
'Willhill' => 'Willhill',
|
||||
'Bwin' => 'Bwin',
|
||||
'Bet365' => 'Bet365',
|
||||
'Betfair' => 'Betfair',
|
||||
];
|
||||
case 7:
|
||||
return [
|
||||
'Txodds Markets' => 'Txodds Markets',
|
||||
];
|
||||
default:
|
||||
return [];
|
||||
}
|
||||
|
||||
}),
|
||||
TextColumn::make('sport.name')->label('Sport'),
|
||||
TextColumn::make('days_from')->label('From'),
|
||||
TextColumn::make('days_to')->label('To'),
|
||||
@@ -50,9 +71,9 @@ class SupervisorsTable
|
||||
TextInputColumn::make('commandline_options')->width('2rem'),
|
||||
|
||||
// TextColumn::make('maxsconds')->label('Max Time'),
|
||||
// IconColumn::make('is_cron')->boolean()->label('Cron')->falseColor('gray'),
|
||||
// IconColumn::make('is_supervisor')->boolean()->label('Cron')->falseColor('gray'),
|
||||
ToggleColumn::make('use_lastcall')->label('Lastcall'),
|
||||
ToggleColumn::make('is_cron')->label('Cron'),
|
||||
ToggleColumn::make('is_supervisor')->label('Super')->tooltip('Create a supervisor process'),
|
||||
ToggleColumn::make('is_active')->label('Active'),
|
||||
])
|
||||
->filters([
|
||||
@@ -60,7 +81,7 @@ class SupervisorsTable
|
||||
->default(1)
|
||||
->relationship('provider', 'name')
|
||||
->label('Provider'),
|
||||
TernaryFilter::make('is_cron'),
|
||||
TernaryFilter::make('is_supervisor'),
|
||||
TernaryFilter::make('is_active'),
|
||||
], layout: FiltersLayout::AboveContent)
|
||||
->deferFilters(false)
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\TxoddsMarkets\Pages;
|
||||
|
||||
use App\Filament\Resources\TxoddsMarkets\TxoddsMarketResource;
|
||||
use Filament\Resources\Pages\CreateRecord;
|
||||
|
||||
class CreateTxoddsMarket extends CreateRecord
|
||||
{
|
||||
protected static string $resource = TxoddsMarketResource::class;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\TxoddsMarkets\Pages;
|
||||
|
||||
use App\Filament\Resources\TxoddsMarkets\TxoddsMarketResource;
|
||||
use Filament\Actions\DeleteAction;
|
||||
use Filament\Resources\Pages\EditRecord;
|
||||
|
||||
class EditTxoddsMarket extends EditRecord
|
||||
{
|
||||
protected static string $resource = TxoddsMarketResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
DeleteAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\TxoddsMarkets\Pages;
|
||||
|
||||
use App\Filament\Resources\TxoddsMarkets\TxoddsMarketResource;
|
||||
use Filament\Actions\CreateAction;
|
||||
use Filament\Resources\Pages\ListRecords;
|
||||
|
||||
class ListTxoddsMarkets extends ListRecords
|
||||
{
|
||||
protected static string $resource = TxoddsMarketResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
CreateAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\TxoddsMarkets\Schemas;
|
||||
|
||||
use Filament\Schemas\Schema;
|
||||
|
||||
class TxoddsMarketForm
|
||||
{
|
||||
public static function configure(Schema $schema): Schema
|
||||
{
|
||||
return $schema
|
||||
->components([
|
||||
//
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\TxoddsMarkets\Tables;
|
||||
|
||||
use Filament\Forms\Components\Select;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Columns\ToggleColumn;
|
||||
use Filament\Tables\Enums\FiltersLayout;
|
||||
use Filament\Tables\Filters\Filter;
|
||||
use Filament\Tables\Table;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
|
||||
class TxoddsMarketsTable
|
||||
{
|
||||
public static function configure(Table $table): Table
|
||||
{
|
||||
return $table
|
||||
->columns([
|
||||
TextColumn::make('market_id')->badge()->searchable(),
|
||||
TextColumn::make('name')->searchable(),
|
||||
ToggleColumn::make('soccer')->toggleable(true),
|
||||
ToggleColumn::make('ice_hockey')->toggleable(true),
|
||||
ToggleColumn::make('basketball')->toggleable(true),
|
||||
ToggleColumn::make('tennis')->toggleable(true),
|
||||
])
|
||||
->filters([
|
||||
Filter::make('sport_market')
|
||||
->schema([
|
||||
Select::make(name: 'sport_market')
|
||||
->placeholder('Filter Sport')
|
||||
->hiddenLabel()
|
||||
->label('')
|
||||
->preload()
|
||||
->options(function () {
|
||||
return [
|
||||
'soccer' => 'Soccer',
|
||||
'ice_hockey' => 'Ice Hockey',
|
||||
'basketball' => 'Basketball',
|
||||
'tennis' => 'Tennis',
|
||||
];
|
||||
})
|
||||
->live(),
|
||||
])
|
||||
->query(function (Builder $query, array $data): Builder {
|
||||
return $query
|
||||
->when(
|
||||
$data['sport_market'],
|
||||
fn (Builder $query, $sport_market) => $query->where($sport_market, 1)
|
||||
);
|
||||
}),
|
||||
], layout: FiltersLayout::AboveContent)
|
||||
->deferColumnManager(false)
|
||||
->deferFilters(false);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\TxoddsMarkets;
|
||||
|
||||
use App\Filament\Clusters\Administrator\AdministratorCluster;
|
||||
use App\Filament\Resources\TxoddsMarkets\Pages\ListTxoddsMarkets;
|
||||
use App\Filament\Resources\TxoddsMarkets\Schemas\TxoddsMarketForm;
|
||||
use App\Filament\Resources\TxoddsMarkets\Tables\TxoddsMarketsTable;
|
||||
use App\Models\TxoddsMarket;
|
||||
use Filament\Resources\Resource;
|
||||
use Filament\Schemas\Schema;
|
||||
use Filament\Tables\Table;
|
||||
use UnitEnum;
|
||||
|
||||
class TxoddsMarketResource extends Resource
|
||||
{
|
||||
protected static ?string $model = TxoddsMarket::class;
|
||||
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'phosphor-storefront';
|
||||
|
||||
protected static ?string $cluster = AdministratorCluster::class;
|
||||
|
||||
protected static ?int $navigationSort = 24;
|
||||
|
||||
protected static string|UnitEnum|null $navigationGroup = 'Grapper';
|
||||
|
||||
public static function form(Schema $schema): Schema
|
||||
{
|
||||
return TxoddsMarketForm::configure($schema);
|
||||
}
|
||||
|
||||
public static function table(Table $table): Table
|
||||
{
|
||||
return TxoddsMarketsTable::configure($table);
|
||||
}
|
||||
|
||||
public static function getPages(): array
|
||||
{
|
||||
return [
|
||||
'index' => ListTxoddsMarkets::route('/'),
|
||||
];
|
||||
}
|
||||
|
||||
public static function getNavigationBadge(): ?string
|
||||
{
|
||||
return parent::getEloquentQuery()->count();
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,7 @@ class Supervisor extends Model
|
||||
'commandline_options',
|
||||
'maxsconds',
|
||||
'lastcall',
|
||||
'is_cron',
|
||||
'is_supervisor',
|
||||
'is_active',
|
||||
'days_from',
|
||||
'days_to',
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class TxoddsMarket extends Model
|
||||
{
|
||||
protected $fillable = [
|
||||
'market_id',
|
||||
'shortname',
|
||||
'name',
|
||||
'soccer',
|
||||
'ice_hockey',
|
||||
'basketball',
|
||||
'tennis',
|
||||
];
|
||||
}
|
||||
@@ -46,7 +46,7 @@ class Supervisorctl
|
||||
if (! $debug) {
|
||||
sleep($options['sleep']);
|
||||
} else {
|
||||
if ($options['is_cron']) {
|
||||
if ($options['is_supervisor']) {
|
||||
Notice::note('cron process timings set in crontab', 'b');
|
||||
} else {
|
||||
Notice::note('in production process sleeps for '.$options['sleep'].'sec', 'b');
|
||||
|
||||
Generated
+4
-4
@@ -9133,12 +9133,12 @@
|
||||
"version": "v3.16.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/barryvdh/laravel-debugbar.git",
|
||||
"url": "https://github.com/fruitcake/laravel-debugbar.git",
|
||||
"reference": "c91e57ea113edd6526f5b8cd6b1c6ee02c67b28e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/c91e57ea113edd6526f5b8cd6b1c6ee02c67b28e",
|
||||
"url": "https://api.github.com/repos/fruitcake/laravel-debugbar/zipball/c91e57ea113edd6526f5b8cd6b1c6ee02c67b28e",
|
||||
"reference": "c91e57ea113edd6526f5b8cd6b1c6ee02c67b28e",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -9198,8 +9198,8 @@
|
||||
"webprofiler"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/barryvdh/laravel-debugbar/issues",
|
||||
"source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.16.3"
|
||||
"issues": "https://github.com/fruitcake/laravel-debugbar/issues",
|
||||
"source": "https://github.com/fruitcake/laravel-debugbar/tree/v3.16.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
||||
@@ -25,6 +25,7 @@ return new class extends Migration
|
||||
$table->text('app_authentication_secret')->nullable();
|
||||
$table->text('app_authentication_recovery_codes')->nullable();
|
||||
$table->boolean('has_email_authentication')->default(false);
|
||||
$table->boolean('stars_status')->default(false);
|
||||
$table->timestamp('app_verified_at')->nullable();
|
||||
|
||||
$table->rememberToken();
|
||||
|
||||
@@ -15,9 +15,9 @@ return new class extends Migration
|
||||
$table->id();
|
||||
$table->string('name');
|
||||
$table->integer('provider_id')->default(0)->nullable()->references('id')->on('providers');
|
||||
$table->integer('sport_id')->references('id')->on('sports');
|
||||
$table->integer('sport_id')->references('id')->on('sports')->nullable();
|
||||
|
||||
$table->integer('sleep')->default(10);
|
||||
$table->integer('sleep')->default(30);
|
||||
$table->integer('limit')->default(0);
|
||||
|
||||
$table->string('runtime')->nullable();
|
||||
@@ -26,11 +26,11 @@ return new class extends Migration
|
||||
$table->integer('lastcall')->default(0);
|
||||
|
||||
$table->boolean('use_lastcall')->default(0);
|
||||
$table->boolean('is_cron')->default(0);
|
||||
$table->boolean('is_supervisor')->default(0);
|
||||
$table->boolean('is_active')->default(0);
|
||||
|
||||
$table->integer('days_from')->default(10);
|
||||
$table->integer('days_to')->default(10);
|
||||
$table->integer('days_from')->default(10)->nullable();
|
||||
$table->integer('days_to')->default(10)->nullable();
|
||||
|
||||
$table->timestamps();
|
||||
});
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('event_user_stars', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->foreignId('event_id')->index()->constrained()->cascadeOnDelete()->references('id')->on('events');
|
||||
$table->integer('user_id')->index()->references('id')->on('users');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('event_user_stars');
|
||||
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('txodds_markets', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->integer('market_id')->nullable();
|
||||
$table->string('shortname');
|
||||
$table->string('name');
|
||||
$table->boolean(column: 'soccer')->default(0);
|
||||
$table->boolean(column: 'ice_hockey')->default(0);
|
||||
$table->boolean(column: 'basketball')->default(0);
|
||||
$table->boolean(column: 'tennis')->default(0);
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('txodds_markets');
|
||||
}
|
||||
};
|
||||
@@ -21,6 +21,7 @@ class DatabaseSeeder extends Seeder
|
||||
SupervisorSeeder::class,
|
||||
BettypeSeeder::class,
|
||||
MultilineSettingSeeder::class,
|
||||
TxoddsMarketsSeeder::class,
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,7 @@ class SupervisorSeeder extends Seeder
|
||||
/**
|
||||
* Supervisor
|
||||
*/
|
||||
$sql = "INSERT INTO `supervisors` (`id`, `name`, `provider_id`, `sport_id`, `sleep`, `limit`, `runtime`, `maxsconds`, `lastcall`, `is_cron`, `is_active`, `days_from`, `days_to`, `created_at`, `updated_at`)
|
||||
$sql = "INSERT INTO `supervisors` (`id`, `name`, `provider_id`, `sport_id`, `sleep`, `limit`, `runtime`, `maxsconds`, `lastcall`, `is_supervisor`, `is_active`, `days_from`, `days_to`, `created_at`, `updated_at`)
|
||||
VALUES
|
||||
(1, 'Fixtures', 1, 1, 10, 0, '0.129', 1800, 0, 1, 1, 0, 0, '2025-08-27 07:39:55', '2026-01-09 08:15:55'),
|
||||
(2, 'Odds', 1, 1, 10, 0, '0.251', 30, 0, 0, 1, 0, 10, '2025-12-01 05:41:02', '2026-01-08 17:56:27'),
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use Illuminate\Database\Seeder;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class TxoddsMarketsSeeder extends Seeder
|
||||
{
|
||||
public function run(): void
|
||||
{
|
||||
/**
|
||||
* Supervisor
|
||||
*/
|
||||
$sql = "INSERT INTO `txodds_markets` (`id`, `market_id`, `shortname`, `name`, `soccer`, `ice_hockey`, `basketball`, `tennis`, `created_at`, `updated_at`)
|
||||
VALUES
|
||||
(1, 0, '1x2', 'three way', 1, 1, 0, 0, '2026-01-13 06:20:33', '2026-01-13 07:20:35'),
|
||||
(2, 1, 'ml', 'money line', 0, 1, 1, 1, '2026-01-13 06:20:33', '2026-01-13 07:22:08'),
|
||||
(3, 3, 'pts', 'points', 0, 1, 1, 1, '2026-01-13 06:20:33', '2026-01-13 07:22:11'),
|
||||
(4, 4, 'tot', 'totals', 1, 1, 1, 1, '2026-01-13 06:20:33', '2026-01-13 07:22:12'),
|
||||
(5, 5, 'ah', 'asian handicap', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(6, 65536, '3wht', 'three way - ht', 1, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 07:17:47'),
|
||||
(7, 65537, '2wht', 'money line - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(8, 65539, 'ptsht', 'spread - ht', 0, 1, 1, 0, '2026-01-13 06:20:33', '2026-01-13 07:21:51'),
|
||||
(9, 65540, 'totht', 'totals - ht', 1, 1, 1, 0, '2026-01-13 06:20:33', '2026-01-13 07:21:56'),
|
||||
(10, 65541, 'ahht', 'asian handicap - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(11, 131072, '3wq1', 'three way - q1', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(12, 131073, 'mlq1', 'money line - q1', 0, 0, 0, 1, '2026-01-13 06:20:33', '2026-01-13 07:22:19'),
|
||||
(13, 131075, 'ptsq1', 'points - q1', 0, 1, 1, 0, '2026-01-13 06:20:33', '2026-01-13 07:21:39'),
|
||||
(14, 131076, 'totq1', 'totals - q1', 0, 1, 1, 0, '2026-01-13 06:20:33', '2026-01-13 07:21:45'),
|
||||
(15, 196608, '3wq3', 'three way - q3', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(16, 196609, 'mlq3', 'money line - q3', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(17, 196611, 'ptsq3', 'points - q3', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(18, 196612, 'totq3', 'totals - q3', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(19, 262147, 'ptset', 'points - et', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(20, 262148, 'totet', 'totals - et', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(21, 327680, '3w2hf', 'three way - 2nd hf', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(22, 327681, 'ml2hf', 'money line - 2nd hf', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(23, 327683, 'pts2hf', 'points - 2nd hf', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(24, 327684, 'tot2hf', 'totals - 2nd hf', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(25, 327685, 'ah2hf', 'asian handicap - 2nd hf', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(26, 393216, '3wq2', 'three way - q2', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(27, 393217, 'mlq2', 'money line - q2', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(28, 393219, 'ptsq2', 'points - q2', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(29, 393220, 'totq2', 'totals - q2', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(30, 458752, '3wq4', 'three way - q4', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(31, 458753, 'mlq4', 'money line - q4', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(32, 458755, 'ptsq4', 'points - q4', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(33, 458756, 'totq4', 'totals - q4', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(34, 524288, '3w1o', 'three way - 1st over', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(35, 524292, 'tot1o', 'totals - 1st over', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(36, 655361, 'mlrt', 'moneyline - rt', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(37, 1048577, 'g/ng', 'goal/nogoal', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(38, 2097153, 'od/ev', 'odd/even', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(39, 2162689, 'od/evht', 'odd/even - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(40, 2424833, 'od/ev2h', 'odd/even - 2nd hf', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(41, 4194304, 'tg', 'total goals (0-2/3/4+)', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(42, 5242880, 'dc', 'double chance (1x/x2/12)', 1, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 07:18:30'),
|
||||
(43, 5308416, 'dcht', 'double chance (1x/x2/12) - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(44, 5373952, 'dcq1', 'double chance (1x/x2/12) - q1', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(45, 5439488, 'dcq3', 'double chance (1x/x2/12) - q3', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(46, 5570560, 'dc2h', 'double chance (1x/x2/12) - 2nd h', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(47, 5636096, 'dcq2', 'double chance (1x/x2/12) - q2', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(48, 6291457, 'dnb', 'draw no bet', 1, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 07:18:44'),
|
||||
(49, 6356993, 'dnbht', 'draw no bet - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(50, 6619137, 'dnb2h', 'draw no bet - 2nd hf', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(51, 7340033, 'toprog', 'to progress', 1, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 07:18:37'),
|
||||
(52, 8388608, '1x2hc', 'three way handicap (h:g)', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(53, 8454144, '1x2hcht', 'three way handicap (h:g) - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(54, 8716288, '1x2hc2hf', 'three way handicap (h:g) - 2nd h', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(55, 9437188, 'totcor', 'total corners', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(56, 9502724, 'totcor1fh', 'total corners - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(57, 9699332, 'totcoret', 'total corners - extra time', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(58, 10027012, 'totcor10min', 'total corners - 1st 10 mins', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(59, 10485761, 'gtd', 'to go the distance', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(60, 11534337, 'btts', 'both teams to score', 1, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 07:18:24'),
|
||||
(61, 11599873, 'bttsht', 'both teams to score - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(62, 11862017, 'btts2hf', 'both teams to score - 2nd hf', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(63, 12582912, 'hwmg', 'half with more goals', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(64, 13631489, 'wbh', 'win both halves', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(65, 14680065, 'wtt', 'win the toss', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(66, 15728644, 'totsix', 'total sixes', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(67, 16777220, 'totro', 'total runouts', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(68, 17825792, 'm180', 'most 180s', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(69, 18874369, '170f', '170 finish', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(70, 19922945, '9df', '9 dart finish', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(71, 20971520, '1x2cor', 'three way corners', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(72, 21037056, '1x2corht', 'three way corners - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(73, 22020099, 'ptscor', 'handicap corners', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(74, 22085635, 'ptscorht', 'handicap corners - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(75, 23068673, 'od/evcor', 'odd/even corners', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(76, 23134209, 'od/evcorht', 'odd/even corners - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(77, 24117249, 'nextcor', 'next corner', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(78, 25165825, 'lastcor', 'last corner', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(79, 26214401, '1stcor', 'first corner', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(80, 27262976, '1stcor1x2', 'first corner threeway', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(81, 28311555, 'ptsset', 'handicap sets', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(82, 28311556, 'totset', 'total sets', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(83, 29360129, 'wtbo', 'will there be overtime', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(84, 30408705, 'wtn', 'win to nil', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(85, 31457284, 'tothome', 'totals home', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||
(86, 32505860, 'totaway', 'totals away', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35');
|
||||
";
|
||||
DB::unprepared($sql);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,433 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<types>
|
||||
<type>
|
||||
<ot>0</ot>
|
||||
<sname>1x2</sname>
|
||||
<name>three way</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>1</ot>
|
||||
<sname>ml</sname>
|
||||
<name>money line</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>3</ot>
|
||||
<sname>pts</sname>
|
||||
<name>points</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>4</ot>
|
||||
<sname>tot</sname>
|
||||
<name>totals</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>5</ot>
|
||||
<sname>ah</sname>
|
||||
<name>asian handicap</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>65536</ot>
|
||||
<sname>3wht</sname>
|
||||
<name>three way - ht</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>65537</ot>
|
||||
<sname>2wht</sname>
|
||||
<name>money line - ht</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>65539</ot>
|
||||
<sname>ptsht</sname>
|
||||
<name>spread - ht</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>65540</ot>
|
||||
<sname>totht</sname>
|
||||
<name>totals - ht</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>65541</ot>
|
||||
<sname>ahht</sname>
|
||||
<name>asian handicap - ht</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>131072</ot>
|
||||
<sname>3wq1</sname>
|
||||
<name>three way - q1</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>131073</ot>
|
||||
<sname>mlq1</sname>
|
||||
<name>money line - q1</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>131075</ot>
|
||||
<sname>ptsq1</sname>
|
||||
<name>points - q1</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>131076</ot>
|
||||
<sname>totq1</sname>
|
||||
<name>totals - q1</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>196608</ot>
|
||||
<sname>3wq3</sname>
|
||||
<name>three way - q3</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>196609</ot>
|
||||
<sname>mlq3</sname>
|
||||
<name>money line - q3</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>196611</ot>
|
||||
<sname>ptsq3</sname>
|
||||
<name>points - q3</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>196612</ot>
|
||||
<sname>totq3</sname>
|
||||
<name>totals - q3</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>262147</ot>
|
||||
<sname>ptset</sname>
|
||||
<name>points - et</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>262148</ot>
|
||||
<sname>totet</sname>
|
||||
<name>totals - et</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>327680</ot>
|
||||
<sname>3w2hf</sname>
|
||||
<name>three way - 2nd hf</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>327681</ot>
|
||||
<sname>ml2hf</sname>
|
||||
<name>money line - 2nd hf</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>327683</ot>
|
||||
<sname>pts2hf</sname>
|
||||
<name>points - 2nd hf</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>327684</ot>
|
||||
<sname>tot2hf</sname>
|
||||
<name>totals - 2nd hf</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>327685</ot>
|
||||
<sname>ah2hf</sname>
|
||||
<name>asian handicap - 2nd hf</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>393216</ot>
|
||||
<sname>3wq2</sname>
|
||||
<name>three way - q2</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>393217</ot>
|
||||
<sname>mlq2</sname>
|
||||
<name>money line - q2</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>393219</ot>
|
||||
<sname>ptsq2</sname>
|
||||
<name>points - q2</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>393220</ot>
|
||||
<sname>totq2</sname>
|
||||
<name>totals - q2</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>458752</ot>
|
||||
<sname>3wq4</sname>
|
||||
<name>three way - q4</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>458753</ot>
|
||||
<sname>mlq4</sname>
|
||||
<name>money line - q4</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>458755</ot>
|
||||
<sname>ptsq4</sname>
|
||||
<name>points - q4</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>458756</ot>
|
||||
<sname>totq4</sname>
|
||||
<name>totals - q4</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>524288</ot>
|
||||
<sname>3w1o</sname>
|
||||
<name>three way - 1st over</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>524292</ot>
|
||||
<sname>tot1o</sname>
|
||||
<name>totals - 1st over</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>655361</ot>
|
||||
<sname>mlrt</sname>
|
||||
<name>moneyline - rt</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>1048577</ot>
|
||||
<sname>g/ng</sname>
|
||||
<name>goal/nogoal</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>2097153</ot>
|
||||
<sname>od/ev</sname>
|
||||
<name>odd/even</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>2162689</ot>
|
||||
<sname>od/evht</sname>
|
||||
<name>odd/even - ht</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>2424833</ot>
|
||||
<sname>od/ev2h</sname>
|
||||
<name>odd/even - 2nd hf</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>4194304</ot>
|
||||
<sname>tg</sname>
|
||||
<name>total goals (0-2/3/4+)</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>5242880</ot>
|
||||
<sname>dc</sname>
|
||||
<name>double chance (1x/x2/12)</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>5308416</ot>
|
||||
<sname>dcht</sname>
|
||||
<name>double chance (1x/x2/12) - ht</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>5373952</ot>
|
||||
<sname>dcq1</sname>
|
||||
<name>double chance (1x/x2/12) - q1</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>5439488</ot>
|
||||
<sname>dcq3</sname>
|
||||
<name>double chance (1x/x2/12) - q3</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>5570560</ot>
|
||||
<sname>dc2h</sname>
|
||||
<name>double chance (1x/x2/12) - 2nd h</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>5636096</ot>
|
||||
<sname>dcq2</sname>
|
||||
<name>double chance (1x/x2/12) - q2</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>6291457</ot>
|
||||
<sname>dnb</sname>
|
||||
<name>draw no bet</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>6356993</ot>
|
||||
<sname>dnbht</sname>
|
||||
<name>draw no bet - ht</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>6619137</ot>
|
||||
<sname>dnb2h</sname>
|
||||
<name>draw no bet - 2nd hf</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>7340033</ot>
|
||||
<sname>toprog</sname>
|
||||
<name>to progress</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>8388608</ot>
|
||||
<sname>1x2hc</sname>
|
||||
<name>three way handicap (h:g)</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>8454144</ot>
|
||||
<sname>1x2hcht</sname>
|
||||
<name>three way handicap (h:g) - ht</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>8716288</ot>
|
||||
<sname>1x2hc2hf</sname>
|
||||
<name>three way handicap (h:g) - 2nd h</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>9437188</ot>
|
||||
<sname>totcor</sname>
|
||||
<name>total corners</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>9502724</ot>
|
||||
<sname>totcor1fh</sname>
|
||||
<name>total corners - ht</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>9699332</ot>
|
||||
<sname>totcoret</sname>
|
||||
<name>total corners - extra time</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>10027012</ot>
|
||||
<sname>totcor10min</sname>
|
||||
<name>total corners - 1st 10 mins</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>10485761</ot>
|
||||
<sname>gtd</sname>
|
||||
<name>to go the distance</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>11534337</ot>
|
||||
<sname>btts</sname>
|
||||
<name>both teams to score</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>11599873</ot>
|
||||
<sname>bttsht</sname>
|
||||
<name>both teams to score - ht</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>11862017</ot>
|
||||
<sname>btts2hf</sname>
|
||||
<name>both teams to score - 2nd hf</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>12582912</ot>
|
||||
<sname>hwmg</sname>
|
||||
<name>half with more goals</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>13631489</ot>
|
||||
<sname>wbh</sname>
|
||||
<name>win both halves</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>14680065</ot>
|
||||
<sname>wtt</sname>
|
||||
<name>win the toss</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>15728644</ot>
|
||||
<sname>totsix</sname>
|
||||
<name>total sixes</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>16777220</ot>
|
||||
<sname>totro</sname>
|
||||
<name>total runouts</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>17825792</ot>
|
||||
<sname>m180</sname>
|
||||
<name>most 180s</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>18874369</ot>
|
||||
<sname>170f</sname>
|
||||
<name>170 finish</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>19922945</ot>
|
||||
<sname>9df</sname>
|
||||
<name>9 dart finish</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>20971520</ot>
|
||||
<sname>1x2cor</sname>
|
||||
<name>three way corners</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>21037056</ot>
|
||||
<sname>1x2corht</sname>
|
||||
<name>three way corners - ht</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>22020099</ot>
|
||||
<sname>ptscor</sname>
|
||||
<name>handicap corners</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>22085635</ot>
|
||||
<sname>ptscorht</sname>
|
||||
<name>handicap corners - ht</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>23068673</ot>
|
||||
<sname>od/evcor</sname>
|
||||
<name>odd/even corners</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>23134209</ot>
|
||||
<sname>od/evcorht</sname>
|
||||
<name>odd/even corners - ht</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>24117249</ot>
|
||||
<sname>nextcor</sname>
|
||||
<name>next corner</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>25165825</ot>
|
||||
<sname>lastcor</sname>
|
||||
<name>last corner</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>26214401</ot>
|
||||
<sname>1stcor</sname>
|
||||
<name>first corner</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>27262976</ot>
|
||||
<sname>1stcor1x2</sname>
|
||||
<name>first corner threeway</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>28311555</ot>
|
||||
<sname>ptsset</sname>
|
||||
<name>handicap sets</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>28311556</ot>
|
||||
<sname>totset</sname>
|
||||
<name>total sets</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>29360129</ot>
|
||||
<sname>wtbo</sname>
|
||||
<name>will there be overtime</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>30408705</ot>
|
||||
<sname>wtn</sname>
|
||||
<name>win to nil</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>31457284</ot>
|
||||
<sname>tothome</sname>
|
||||
<name>totals home</name>
|
||||
</type>
|
||||
<type>
|
||||
<ot>32505860</ot>
|
||||
<sname>totaway</sname>
|
||||
<name>totals away</name>
|
||||
</type>
|
||||
</types>
|
||||
Reference in new issue
Block a user