marcio1002/discord-webhook-sdk-php

此 SDK 提供了一种通过钩子发送 Discord 消息的简单方法

v2.0.0 2022-07-11 01:15 UTC

This package is auto-updated.

Last update: 2024-09-06 04:37:08 UTC


README

Message sent in Discord by webhook

安装

composer require marcio1002/discord-webhook-sdk-php

构造函数参数选项

将选项数组传递给构造函数,注意 webhook URL 是必需的。

发送简单消息

use Marcio1002\DiscordWebhook\DiscordWebhook;

$webhook = new DiscordWebhook([
    'webhook_id' => '12345686',
    'token' => 'dghjt4fw3tk7865edfgt67iykmdw45g$Gdeg4C_VGHT43RW',
]);


//Synchronous envio
$webhook->sendMessage('This is a message', true);

//Asynchronous envio
$webhook->sendMessage('This is a message');

更改 webhook

使用 Message 类,您可以更改名称、URL、定义内容并创建嵌入

use Marcio1002\DiscordWebhook\DiscordWebhook;
use Marcio1002\DiscordWebhook\Message;

$message = new Message();
    ->setUsername('DC Notification')
    ->setAvatar('URL');
    ->setContent('Alert message');

$webhook
    ->sendMessage($message)
    ->then(
        fn() => print_r('Success!'),
        fn(\Throwable $err) => print_r($err->getMessage())
    )

发送嵌入

use Marcio1002\DiscordWebhook\DiscordWebhook;
use Marcio1002\DiscordWebhook\MessageEmbed;

$message_embed = new MessageEmbed();

$message_embed
    ->setTitle('Title')
    ->setDescription('Description');
    ->setThumbnail('URL')

$discord->sendMessage($message_embed);


$embeds = range(0, 9); // limit 10 embeds

$embeds = array_map(
    fn ($n) => (new MessageEmbed)
        ->setTitle("Title $n"),
        ->setColor(MessageEmbed::randomColor())
    $embeds
);

$webhook->sendMessage($embeds);

发送外观类

use Marcio1002\DiscordWebhook\Facades\DiscordWebhook;

DiscordWebhook::configure([
    'webhook_id' => '12345686',
    'token' => 'dghjt4fw3tk7865edfgt67iykmdw45g$Gdeg4C_VGHT43RW',
]);

DiscordWebhook::sendMessage('Message');

编辑、获取和删除消息

在编辑消息时,您可以传递与 sendMessage 方法中传递的相同参数

DiscordWebhook::configure([
    'webhook_id' => '12345686',
    'token' => 'dghjt4fw3tk7865edfgt67iykmdw45g$Gdeg4C_VGHT43RW',
]);

DiscordWebhook::editMessage('ID', 'message', true);

DiscordWebhook::getMessage('ID')->then(fn($message) => print_r($message));

DiscordWebhook::deleteMessage('ID', true);