barth / slacknewsletter
Slack 自管理通讯简报
Requires
- php: ^7.1.3
- ext-iconv: *
- embed/embed: ^3.3
- frlnc/php-slack: ^1.0
- league/flysystem: ^1.0
- nesbot/carbon: ^1.24
- symfony/console: *
- symfony/dotenv: *
- symfony/flex: ^1.0
- symfony/framework-bundle: *
- symfony/swiftmailer-bundle: ^3.2
- symfony/twig-bundle: ^4.0
- symfony/yaml: *
Requires (Dev)
- barth/dev-pack: ^1.0
- sensio/framework-extra-bundle: ^5.1
- sensiolabs/security-checker: ^4.1
- symfony/debug-pack: ^1.0
- symfony/maker-bundle: ^1.1
- symfony/var-dumper: ^4.0
- symfony/web-server-bundle: ^4.0
Conflicts
This package is auto-updated.
Last update: 2024-09-16 22:22:32 UTC
README
Slack Newsletter
本应用程序允许您从您的 Slack 频道生成通讯简报。它会遍历频道寻找链接,将它们组合成一个 HTML 文件,并通过电子邮件发送。当历史 Slack 达到限制时,这非常适合跟踪您的发现。
安装与配置
-
克隆项目,并在内部运行
composer install
。 -
在您的 Slack 工作空间生成一个 令牌。
-
在您的
.env.local
中,完成您的 SMTP 配置、接收者以及您的 Slack 令牌,如下所示
MAILER_DSN=smtp://awesome-smtp:25
RECEIVERS=me@example.net,mailing-list@example.net
SLACK_TOKEN=xoxp-XXXXXXXXX-XXXXXXX-XXXXXXXXX
-
选择您要浏览的频道并将它们添加到
config/channels.json
中。您可以通过查看config/channels.json.dist
来了解如何添加新频道。 -
(可选) : 通过在
config/package/parameters.yaml
中修改参数来美化您的通讯简报。 -
配置您的 cron 以执行浏览、构建和发送通讯简报的命令。
例如
## Every day at 8am, browse channels and store them 0 8 * * * php bin/console app:newsletter:browse ## Every monday at 8:05 am, build the newsletter and send it 5 8 * * 1 php bin/console app:newsletter:build && php bin/console app:newsletter:send
构建工具
- Symfony 5.2
- symfony/console
- symfony/mailer
- symfony/yaml
- The Php League 的 FlySystem
- jolicode/slack-php-api
- 嵌入
- Carbon
感谢他们的出色工作。
自定义通讯简报
如果您想自定义通讯简报,所有模板都在 templates
文件夹中。
在测试渲染之前,您必须检索一些消息
php bin/console app:newsletter:browse -d 5
-d
或--days
用于指定要检索的天数。您可以通过这种方式获得大量数据。
要测试在网页浏览器中的查看效果,启动一个网络服务器
symfony local:server:start -d # With Symfony CLI binary php -S localhost:8000 -t public # Using php built-in web-server
然后转到 http://127.0.0.1:8000/test/mail
但您可能需要发送电子邮件以测试与电子邮件查看器的兼容性。
您可以通过以下命令启动这些命令以避免存档消息和构建的新闻。
php bin/console app:newsletter:build --no-archive php bin/console app:newsletter:send --no-archive
贡献
首先,感谢您的贡献♥
如果您发现任何错误/配置错误/...,请发送一个 PR 或创建一个问题。
另外,在创建您的 PR 时,请写一个描述,它提供了上下文或解释了您为什么要创建它。
TODOs
- 使安装尽可能简单,例如
composer create-project barth/slacknewsletter
- 浏览私有频道
- 确保它与 Slack App 兼容,并提供配置指南
- 编写测试套件
- 添加翻译
- 轻松扩展以支持其他团队协作软件(Discord、HipChat...)