msp / notify
Requires
- php: ~7.0.0|~7.1.0
- irazasyed/telegram-bot-sdk: ^2.0
- magento/magento2-base: ^2.1|^2.2
- maknz/slack: ^1.7
Suggests
- msp/notifier: Improved version with more functionalities
README
警告:此模块已被 MSP_Notifier 取代,将不再维护。除非您使用的是 Magento <= 2.1,否则请考虑切换到新版本。
MSP Notify
MSP Notify 是一个 Magento 2 扩展,允许您在商店发生某些事情时接收通知。(例如,“如果管理员登录失败,请给我发送 Slack 消息”)您可以将任何 Magento 2 或自定义事件附加到指定通道(例如 Slack、Telegram、电子邮件等)。
它易于定制,您还可以创建自己的适配器以添加更多通知通道。
安装
建议使用 composer composer require msp/notify
进行安装。此模块需要 Magento 定时任务正在运行。
基本用法
配置通知通道
首先,您需要告诉 Magento 您希望如何接收通知。
- 在管理员面板中,转到系统 => 配置通道
- 添加新通道
- 配置您的通道(见下方的适配器特定说明)并保存。
将通道链接到事件
然后,您需要订阅事件
- 在管理员面板中,转到系统 => 配置事件
- 添加新事件
- 指定(每行一个)您想订阅的事件,并保存
- 选择您想接收通知的通道
当事件触发时,您将在所选通道上收到消息。
默认消息仅包含事件名称,如果您希望有更有意义的信息,请阅读下一部分。
高级用法
自定义消息文本
您可以通过创建包含新 notification_templates.xml
的新模块来自定义发送的消息。
该文件的示例内容
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:MSP_Notify:etc/notification_templates.xsd">
<templates>
<template id="event_to_be_observed" label="Template name" file="Your_Module::path_to_your_template.phtml" module="Your_Module" />
</templates>
</config>
您的模板必须放置在 msp_notify
下(例如:app/code/Vendor/Module/msp_notify/myevent.phtml
)并应类似于以下内容
<?php
$observedObject = $block->getObject();
echo __("Object %1 has been processed", $observedObject->getName());
在 xml 文件中,您可以选择指定一个自定义的 Block 而不是默认的 Block。
添加自定义通道适配器
此模块包含三个内置适配器
- Slack
- Telegram
如果您想添加另一个适配器,您只需做三件事
- 创建实现
MSP\Notify\Api\AdapterInterface
的适配器类 - 使用
di.xml
在\MSP\Notify\Base\AdapterList
中注册新适配器 - 通过添加您的适配器特定配置来扩展频道表单
适配器特定说明
Slack
要使用Slack,您需要一个可以按照以下说明获得的入站webhook。
所有其他字段都是可选的。
Telegram
- 要使用Telegram,您需要从BotFather获取一个机器人令牌。
- 打开您的Telegram应用
- 搜索BotFather用户
- 开始一个新聊天
- 输入:
/newbot
- 按照说明操作。
- 最后,您将获得一个HTTP API令牌。复制并粘贴此令牌到您的令牌字段。
- 然后您需要知道聊天ID
- 打开您的Telegram应用
- 搜索get_id_bot用户
- 开始一个新聊天
- 输入:
/my_id
- 将结果值复制到您的
聊天ID
字段
相同的程序也可以应用于Telegram群组,通过临时将get_id_bot
添加为群组成员。在您获取聊天ID后,应将其删除。
电子邮件
这很简单!只需指定电子邮件对象和收件人(用逗号分隔)