Un wrapper pour les API officielles Discord REST, passerelle et voix. La documentation est disponible ici, bien que limitée pour le moment, ainsi qu'une référence de classe. N'hésitez pas à poser des questions sur le serveur Discord ci-dessus.
Pour les tests et la stabilité, il serait grandement apprécié si vous pouviez ajouter notre robot de test à votre serveur. Nous ne stockons aucune donnée - le bot reste simplement inactif et n'interagit avec personne et est utilisé pour tester la stabilité avec un grand nombre de guildes. Vous pouvez inviter le bot ici.
Attention Cette branche contient une fonctionnalité expérimentale, ne l'utilisez pas en production ! Consultez la page wiki pour plus d'informations sur la façon de le configurer.
Puis-je exécuter DiscordPHP sur un serveur Web (par exemple Apache, nginx) ?
Non, DiscordPHP ne fonctionnera qu'en CLI. Si vous souhaitez disposer d'une interface pour votre bot, vous pouvez intégrer React/http à votre bot et l'exécuter via CLI.
PHP manque de mémoire ?
Essayez de limiter votre mémoire PHP en utilisant ini_set('memory_limit', '-1');
.
Avant de commencer à utiliser cette bibliothèque, vous devez savoir comment fonctionne PHP, vous devez savoir comment fonctionnent les boucles d'événements et les promesses. C’est une condition fondamentale avant de commencer. Sans cette connaissance, vous ne ferez que souffrir.
PHP 8.0 ou supérieur (dernière version recommandée)
PHP x86 (32 bits) nécessite l'activation ext-gmp
.
ext-json
ext-zlib
L'un des ext-uv
(recommandé), ext-ev
ou ext-event
pour une boucle d'événements plus rapide et plus performante.
ext-mbstring
si vous manipulez des caractères non latins.
PHP 64 bits
ext-sodium
FFmpeg
Malheureusement, PHP sous Windows n'a pas accès au magasin de certificats Windows. Il s'agit d'un problème car TLS est utilisé et, en tant que tel, la vérification du certificat est appliquée (la désactiver n'est pas une option).
Vous remarquerez ce problème lorsque votre script se ferme immédiatement après un tour de boucle sans aucune erreur.
En tant que tels, les utilisateurs de cette bibliothèque doivent télécharger un extrait de l'autorité de certification à partir du site Web cURL.
Le chemin d'accès au caextract doit être défini dans le php.ini
pour openssl.cafile
.
DiscordPHP est installé à l'aide de Composer.
Exécutez composer require team-reflex/discord-php
. Cela installera la dernière version stable.
Si vous le souhaitez, vous pouvez également installer la branche de développement en exécutant composer require team-reflex/discord-php dev-master
.
Incluez le fichier de chargement automatique Composer en haut de votre fichier principal :
include __DIR__.'/vendor/autoload.php';
Créez un robot !
<?phpinclude __DIR__.'/vendor/autoload.php';use DiscordDiscord;use DiscordPartsChannelMessage;use DiscordWebSocketsIntents;use DiscordWebSocketsEvent;$discord = new Discord(['token' => 'bot-token','intents' => Intents ::getDefaultIntents()// | Intents::MESSAGE_CONTENT, // Remarque : MESSAGE_CONTENT est privilégié, voir https://dis.gd/mcfaq]);$discord->on('ready', function (Discord $discord) {echo "Le robot est prêt !" , PHP_EOL;// Écoutez les messages.$discord->on(Event::MESSAGE_CREATE, fonction (Message $message, Discord $discord) {echo "{$message->author->username} : {$message->content}", PHP_EOL;// Remarque : l'intention MESSAGE_CONTENT doit être activée pour obtenir le contenu si le bot n'est pas mentionné/DMed.}); });$discord->run();
Voir le dossier d'exemples pour en savoir plus.
La documentation pour la dernière version peut être trouvée ici. Les didacticiels contribués par la communauté peuvent être trouvés sur le wiki.
Nous sommes ouverts aux contributions. Cependant, assurez-vous de respecter nos normes de codage (chargement automatique PSR-4 et style personnalisé). Veuillez exécuter php-cs-fixer avant d'ouvrir une pull request en exécutant composer run-script cs
.
Licence MIT, © David Cole et autres contributeurs 2016-présent.