generated from mirzaev/pot-php-telegram
receivers
This commit is contained in:
@@ -49,6 +49,18 @@ return [
|
|||||||
'project_create_requested' => 'Проект создан и отправлен оператору',
|
'project_create_requested' => 'Проект создан и отправлен оператору',
|
||||||
'project_create_cancelled' => 'Создание проекта отменено',
|
'project_create_cancelled' => 'Создание проекта отменено',
|
||||||
|
|
||||||
|
'project_request_title' => 'Заказ #%d',
|
||||||
|
'project_request_architecture' => 'Архитектура',
|
||||||
|
'project_request_purpose' => 'Назначение',
|
||||||
|
'project_request_hours' => 'Часы',
|
||||||
|
'project_request_cost' => 'Стоимость',
|
||||||
|
'project_request_command' => 'Команда',
|
||||||
|
'project_request_empty' => 'Пусто',
|
||||||
|
'project_request_button_accept' => 'Принять',
|
||||||
|
'project_request_button_refuse' => 'Отказать',
|
||||||
|
'project_request_button_edit' => 'Редактировать',
|
||||||
|
'project_request_button_chat' => 'Чат с заказчиком',
|
||||||
|
|
||||||
// Проект: типы
|
// Проект: типы
|
||||||
'project_architecture_chat_robot' => 'Чат-робот',
|
'project_architecture_chat_robot' => 'Чат-робот',
|
||||||
'project_architecture_parser' => 'Парсер',
|
'project_architecture_parser' => 'Парсер',
|
||||||
@@ -68,7 +80,7 @@ return [
|
|||||||
'project_purpose_marketplace' => 'Маркетплейс',
|
'project_purpose_marketplace' => 'Маркетплейс',
|
||||||
'project_purpose_charity' => 'Благотворительность',
|
'project_purpose_charity' => 'Благотворительность',
|
||||||
'project_purpose_search' => 'Поиск',
|
'project_purpose_search' => 'Поиск',
|
||||||
'project_purpose_calculate' => 'Расчёт',
|
'project_purpose_calcul+ate' => 'Расчёт',
|
||||||
'project_purpose_tools' => 'Инструменты',
|
'project_purpose_tools' => 'Инструменты',
|
||||||
'project_purpose_workers' => 'Рабочие',
|
'project_purpose_workers' => 'Рабочие',
|
||||||
'project_purpose_objects' => 'Предметы',
|
'project_purpose_objects' => 'Предметы',
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ enum architecture
|
|||||||
case crm;
|
case crm;
|
||||||
case site;
|
case site;
|
||||||
case program;
|
case program;
|
||||||
/* case calculator; */
|
/* case calculator; */
|
||||||
|
|
||||||
case complex;
|
case complex;
|
||||||
|
|
||||||
@@ -105,6 +105,13 @@ enum architecture
|
|||||||
*/
|
*/
|
||||||
public function purposes(): array
|
public function purposes(): array
|
||||||
{
|
{
|
||||||
|
// Initializing purposes
|
||||||
|
$purposes = purpose::cases();
|
||||||
|
|
||||||
|
// Deleting the special purpose
|
||||||
|
$indexes = array_keys($purposes, purpose::special);
|
||||||
|
foreach ($indexes as $index) unset($purposes[$index]);
|
||||||
|
|
||||||
// Exit (success)
|
// Exit (success)
|
||||||
return match ($this) {
|
return match ($this) {
|
||||||
static::chat_robot => [
|
static::chat_robot => [
|
||||||
|
|||||||
@@ -100,9 +100,9 @@ final class create extends menu
|
|||||||
[
|
[
|
||||||
"🏛 *$localization->project_create_title*",
|
"🏛 *$localization->project_create_title*",
|
||||||
/* $hours > 0 ? "*$localization->project_create_time* " . unmarkdown((string) $hours) . " $localization->hours" : $localization->project_create_description */
|
/* $hours > 0 ? "*$localization->project_create_time* " . unmarkdown((string) $hours) . " $localization->hours" : $localization->project_create_description */
|
||||||
$hours > 0
|
$new
|
||||||
? "*$localization->project_create_time:* $hours$localization->project_create_time_hours"
|
? $localization->project_create_description
|
||||||
: $localization->project_create_description,
|
: "*$localization->project_create_time:* $hours$localization->project_create_time_hours"
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -127,7 +127,7 @@ final class create extends menu
|
|||||||
callback_data: '@architectures'
|
callback_data: '@architectures'
|
||||||
);
|
);
|
||||||
|
|
||||||
if (isset($this->purpose) || $this->architecture === project_architecture::complex) {
|
if (isset($this->purpose)) {
|
||||||
// Initialized the project purpose
|
// Initialized the project purpose
|
||||||
|
|
||||||
// Writing the project purpose button into the buffer of the first row
|
// Writing the project purpose button into the buffer of the first row
|
||||||
@@ -474,7 +474,7 @@ final class create extends menu
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($hours > 0) {
|
if (!$new) {
|
||||||
// The project development hours was calculated
|
// The project development hours was calculated
|
||||||
|
|
||||||
// Writing the project architecture button
|
// Writing the project architecture button
|
||||||
@@ -658,7 +658,12 @@ final class create extends menu
|
|||||||
// Initializing the project architecture purposes
|
// Initializing the project architecture purposes
|
||||||
$purposes = $this->architecture->purposes();
|
$purposes = $this->architecture->purposes();
|
||||||
|
|
||||||
if (count($purposes) === 1) {
|
if (empty($purposes)) {
|
||||||
|
// The project architecture has no purposes
|
||||||
|
|
||||||
|
// Initializing the project purpose
|
||||||
|
$this->purpose = project_purpose::special;
|
||||||
|
} else if (count($purposes) === 1) {
|
||||||
// The project architecture has only 1 purpose
|
// The project architecture has only 1 purpose
|
||||||
|
|
||||||
// Initializing the project purpose
|
// Initializing the project purpose
|
||||||
@@ -936,6 +941,73 @@ final class create extends menu
|
|||||||
// Initializing the account localization
|
// Initializing the account localization
|
||||||
$localization = $robot->get('localization') ?? new localization($language);
|
$localization = $robot->get('localization') ?? new localization($language);
|
||||||
|
|
||||||
|
// Initializing the receivers registry
|
||||||
|
$receivers = PROJECT_CREATE_REQUEST_RECEIVERS;
|
||||||
|
|
||||||
|
// Initializing project data
|
||||||
|
$architecture = unmarkdown($this->architecture?->label(language: $language) ?? $localization->project_request_empty);
|
||||||
|
$purpose = unmarkdown(isset($this->purpose) ? $this->purpose->label(language: $language) : $localization->project_request_empty);
|
||||||
|
$hours = $this->hours();
|
||||||
|
|
||||||
|
// Generating the message text
|
||||||
|
$text = implode(
|
||||||
|
"\n\n",
|
||||||
|
[
|
||||||
|
'*' . unmarkdown(sprintf("💸 $localization->project_request_title", $sex ?? 0)) . '*',
|
||||||
|
<<<TXT
|
||||||
|
*$localization->project_request_architecture:* $architecture
|
||||||
|
*$localization->project_request_purpose:* $purpose
|
||||||
|
TXT,
|
||||||
|
<<<TXT
|
||||||
|
*$localization->project_request_hours:* $hours
|
||||||
|
TXT
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
|
// Initializing the keyboard
|
||||||
|
$keyboard = keyboard::make();
|
||||||
|
|
||||||
|
// Writing the row into the keyboard
|
||||||
|
$keyboard->addRow(
|
||||||
|
button::make(
|
||||||
|
text: "✉️ $localization->project_request_button_chat",
|
||||||
|
url: 'https://t.me/' . $robot->user()->username
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
// Writing the row into the keyboard
|
||||||
|
$keyboard->addRow(
|
||||||
|
button::make(
|
||||||
|
text: "⚖️ $localization->project_request_button_edit",
|
||||||
|
callback_data: 'edit'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
// Writing the row into the keyboard
|
||||||
|
$keyboard->addRow(
|
||||||
|
button::make(
|
||||||
|
text: "✅ $localization->project_request_button_accept",
|
||||||
|
callback_data: 'accept'
|
||||||
|
),
|
||||||
|
button::make(
|
||||||
|
text: "❌ $localization->project_request_button_refuse",
|
||||||
|
callback_data: 'refuse'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
foreach ($receivers as $index => $receiver) {
|
||||||
|
// Iterating over receivers
|
||||||
|
|
||||||
|
// Sending the message
|
||||||
|
$robot->sendMessage(
|
||||||
|
text: $text,
|
||||||
|
chat_id: $receiver,
|
||||||
|
parse_mode: mode::MARKDOWN,
|
||||||
|
disable_notification: true,
|
||||||
|
reply_markup: $keyboard
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
// Sending the message
|
// Sending the message
|
||||||
$robot->sendMessage(
|
$robot->sendMessage(
|
||||||
text: "✅ *$localization->project_create_requested*",
|
text: "✅ *$localization->project_create_requested*",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ define('PROJECT_CREATE_HOURS_ADDITIONAL', 0);
|
|||||||
define('PROJECT_CREATE_HOURS_MINIMAL', 4);
|
define('PROJECT_CREATE_HOURS_MINIMAL', 4);
|
||||||
define('PROJECT_CREATE_COST_HOUR_DEFAULT', 1200);
|
define('PROJECT_CREATE_COST_HOUR_DEFAULT', 1200);
|
||||||
|
|
||||||
define('PROJECT_CREATE_REQUEST_CHATS', [
|
define('PROJECT_CREATE_REQUEST_RECEIVERS', [
|
||||||
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user