lefuturiste / monolog-discord-handler
用于支持 Discord Webhooks 的简单 Monolog 处理器
0.4
2024-02-12 12:16 UTC
Requires
- php: >=8.1
- guzzlehttp/guzzle: ^7.0
- monolog/monolog: ^3.0
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^8.2
- vlucas/phpdotenv: ^3.4
README
用于支持 Discord Webhooks 的简单 Monolog 处理器
依赖关系
- PHP >= 8.1
- Monolog >= 3.0
如果您想使用此库与较旧的 PHP 版本,请安装 0.4 之前的版本
1. 安装
通过 composer 简单安装。还不知道 composer 是什么?在这里了解一下 这里。
composer require lefuturiste/monolog-discord-handler
2. 使用方法
将此处理器推送到您的 Monolog 实例
单个 webhook URL
<?php require 'vendor/autoload.php'; $log = new Monolog\Logger('your name'); $log->pushHandler(new DiscordHandler\DiscordHandler('https://discordapp.com/api/webhooks/xxx/yyy', 'name', 'subname', 'DEBUG'));
多个 webhook URL
<?php require 'vendor/autoload.php'; $log = new Monolog\Logger('your name'); $log->pushHandler(new DiscordHandler\DiscordHandler([ 'https://discordapp.com/api/webhooks/xxx/yyy', 'https://discordapp.com/api/webhooks/xxx/yyy' ], 'name', 'subname', 'DEBUG'));
使用配置
您可以自定义默认消息和日期时间格式。
<?php require 'vendor/autoload.php'; $log = new Monolog\Logger('name'); $handler = new DiscordHandler\DiscordHandler('https://discordapp.com/api/webhooks/xxx/yyy', 'name', 'subname', 'DEBUG'); $handler->getConfig() ->setMultiMsg(true) ->setMaxMessageLength(2000) // at least 50 characters ->setDatetimeFormat('Y/m/d H:i') ->setTemplate("{datetime} {name}: {message}"); // or you can create another Config instance and replace it: $otherConfig = new DiscordHandler\Config(); $otherConfig->setWebHooks([ 'https://discordapp.com/api/webhooks/xxx/yyy', 'https://discordapp.com/api/webhooks/xxx/yyy' ]); $handler->setConfig($otherConfig); $log->pushHandler($handler);
3. 运行示例
要运行示例,您需要
- 克隆此仓库
- 在根目录下运行
composer install
- 将目录更改为
examples
- 设置环境变量
DISCORD_WEBHOOK_URL
后运行:env DISCORD_WEBHOOK_URL=https://… php ./simple_usage.php
4. 贡献
composer install
cp .env.example .env
,目前我们还没有单元测试。composer test
- 运行
vendor/bin/phpstan analyse src -l 6
以运行静态分析器。
待办事项
- 升级到 monolog 3.0
- 升级到 php 8.1
- 使用 php 8.1 的类型安全功能
- 删除过时的“单元”测试,这些实际上是集成测试
- 添加简单的单元测试,将测试接口