Поддержать Проект

USDT TRC20

TBGKTYDs4yzU17vQbobbUB8epFFtFb6PKh

Обратная связь

[MODX] Guru
  • Информация
  • Разработчикам
  • Дополнения
  • Виджеты
  • Уроки
  • Разработчики
  • Готовые примеры
  • Блог
  • Конфиги
  • HTML коды
© [MODX] Guru
  • Готовые примеры

Уведомления о заказе в telegram для Shopkeeper - плагин SendOrderToTelegram

  • Готовые примеры
  • Уведомления о заказе в telegram для Shopkeeper
Поддержать: USDT TRC20: TBGKTYDs4yzU17vQbobbUB8epFFtFb6PKh
3746

Уведомления о заказе в telegram для Shopkeeper - плагин SendOrderToTelegram

Telegram набирает все больше и больше популярности. Накидал небольшой плагин, который позволяет получить уведомление админа, менеджера или владельца магазина о новом заказе прямо в telegram. Это позволит ускорить обработку заказа, ведь не всегда email или sms о новом заказе приходит сразу.

Шаг 1: регистрация бота у @BotFather

Регистрация проходит в 5 простых этапов:

  1. Открываете чат с @BotFather;
  2. Вводите или выбираете из списка команду /newbot;
  3. Отправляете желаемое название для бота, например: evoShkOrderBot;
  4. Пишете юзернейм бота, по которому его будут находить через поиск. Обязательно на конце вашего юзернейма должно быть слово «bot» или «_bot». Например: evoShkOrder_bot;
  5. После этого botFather пришлет нам сообщение с токеном, он то нам и нужен
  6. Добавляем нашего бота в контакты (ссылка на него будет в сообщении с токеном).

Далее заходим по ссылке:

https://api.telegram.org/bot<bot_token>/getUpdates

где <bot_token> – тот самый токен который мы получили.

Там смотрим свой id получателя, он нам тоже понадобится.

И всё, можем слать себе уведомления подставляя текст в ссылку.

https://api.telegram.org/bot<bot_token>/sendMessage?chat_id=&text=Привет+Бот

Шаг 2: Создаём плагин который будет отправлять нам уведомление

Создаём новй плагин и назовем его SendOrderToTelegram и вешаем на событие OnSHKsaveOrder

Далее вставляем код плагина

$e = &$modx->Event;
if ($e->name == 'OnSHKsaveOrder') {
	$id = isset($id) ? $id : '';
	//сюда вставляем токен полученый от botFather
	$token = 'your_token';
	
	// сюда наш id (на него будут приходить сообщения от бота)
	$recipient = 'your_id';
	$order_data = $modx->db->getRow($modx->db->select("*", $modx->getFullTableName('manager_shopkeeper'), "id = '$id'"), 'assoc');
	$products_in_order = unserialize($order_data['content']);

	$i = 0;
	$products = '';
	foreach($products_in_order as $product) {
		$i++;
		$products .= "{$i}. {$product['3']} ({$product['1']} шт.)";
	}

	$message = "
	Новый заказ #{$id}
	на сумму {$order_data['price']} {$order_data['currency']}
	-----
	{$products}
	-----
	Телефон: {$order_data['phone']}";

	$message = urlencode($message);

	$url = "https://api.telegram.org/bot{$token}/sendMessage?chat_id={$recipient}&text={$message}";
	$ch = curl_init();
	curl_setopt_array($ch, array(CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true));
	$result = curl_exec($ch);
	curl_close($ch);
}