Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Interactions Laravel Package

discord/interactions

PHP types and helpers for building Discord Interactions webhooks. Includes enums for interaction/response types and response flags, plus Ed25519 request signature verification via simplito/elliptic-php (requires php-gmp).

View on GitHub
Deep Wiki
Context7

discord-interactions-php

Types and helper functions that may come in handy when you implement a Discord Interactions webhook.

Installation

Install from packagist:

composer require discord/interactions

Validating request signatures requires the simplito/elliptic-php package to be installed, which requires the php-gmp extension to be enabled:

composer require simplito/elliptic-php

Usage

Use InteractionType and InteractionResponseType to interpret and respond to webhooks.

Use InteractionResponseFlags to make your response special.

Use verifyKey to check a request signature. Note you must install the simplito/elliptic-php package first. For example:

use Discord\Interaction;
use Discord\InteractionResponseType;

$CLIENT_PUBLIC_KEY = getenv('CLIENT_PUBLIC_KEY');

$signature = $_SERVER['HTTP_X_SIGNATURE_ED25519'];
$timestamp = $_SERVER['HTTP_X_SIGNATURE_TIMESTAMP'];
$postData = file_get_contents('php://input');

if (Interaction::verifyKey($postData, $signature, $timestamp, $CLIENT_PUBLIC_KEY)) {
  echo json_encode(array(
    'type' => InteractionResponseType::PONG
  ));
} else {
  http_response_code(401);
  echo "Not verified";
}
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport
twbs/bootstrap4