Maison  >  Article  >  développement back-end  >  Nouveau package PHP : Générateur de tables Discord

Nouveau package PHP : Générateur de tables Discord

DDD
DDDoriginal
2024-09-13 20:16:32787parcourir

Salut ! Si vous avez déjà essayé de créer un tableau dans un message Discord, vous savez que ce n'est pas vraiment simple. L'API Discord ne prend pas en charge les tableaux ni aucun moyen simple de formater les données tabulaires. C'est un de ces petits problèmes ennuyeux qui peuvent vraiment vous ralentir.

Après avoir cherché une solution existante et être resté vide, j'ai décidé de m'attaquer de front à ce problème. Le résultat ? Un nouveau package PHP appelé Discord Table Builder.

Qu'est-ce que Discord Table Builder ?

Discord Table Builder est un package PHP conçu pour vous aider à créer des tableaux pour les messages Discord sans tracas. Voici ce que cela apporte à la table (jeu de mots) :

  • Détermine automatiquement la largeur de chaque colonne en fonction du contenu
  • Prend en charge plusieurs lignes et colonnes (dans les limites de l'API Discord)
  • Vous permet d'ajouter une URL à n'importe quelle ligne, la rendant cliquable

Voici un exemple de tableau avec un classement WhatPulse, la raison pour laquelle j'ai créé ce package :

New PHP Package: Discord Table Builder

Commencer

Tout d'abord, installons le package :

composer require smitmartijn/discord-table-builder

Comment ça marche

Prenons un exemple rapide. Supposons que vous construisiez un classement de jeu. Voici comment utiliser Discord Table Builder :

<?php

require_once __DIR__ . '/vendor/autoload.php';
use Smitmartijn\DiscordTableBuilder;

// Set up the leaderboard table
$table = new DiscordTableBuilder\DiscordEmbedTable([
  'titles' => ['Position', 'Player', 'Points'],
  'padding' => 8
]);

// Add some rows (with a special URL for first place)
$table->addRow(['1st', 'Charlie', '300'], ['url' => 'https://lostdomain.org']);
$table->addRow(['2nd', 'Alice', '100']);

// Prepare for Discord API call
$messageContent = [
  "tts" => false,
  "embeds" => [
    [
      "title" => "Weekly Leaderboard",
      "description" => "Here are the top players this week:",
      "fields" => [$table->toField()],
    ]
  ]
];

// Send to Discord (you'll need your own function for this part)
sendToDiscord($messageContent);

Le résultat

Lorsque vous envoyez ce message, vos utilisateurs Discord verront quelque chose comme ceci :

1st             Charlie        300
2nd             Alice          100

Et voici une fonctionnalité intéressante : cette première ligne est en fait un lien cliquable vers https://lostdomain.org.

Conclusion

Discord Table Builder est là pour faciliter le formatage des données dans les messages Discord. Plus besoin de jouer avec les espaces ou de lutter avec l'alignement : branchez simplement vos données et vous êtes prêt à partir.

Si vous avez des questions ou des suggestions, n'hésitez pas à consulter le projet sur GitHub. Et si vous l'utilisez dans vos projets, j'aimerais en entendre parler !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn