官方 Discord REST、网关和语音 API 的包装器。此处提供了文档(尽管目前有限)以及类参考。请随意在上面的 Discord 服务器中提问。
为了测试和稳定性,如果您能够将我们的测试机器人添加到您的服务器,我们将不胜感激。我们不存储任何数据 - 该机器人只是闲置,不与任何人交互,用于测试大量公会的稳定性。您可以在此处邀请机器人。
警告此分支包含实验性功能,请勿在生产中使用它!有关如何设置的更多信息,请参阅 wiki 页面。
我可以在网络服务器(例如 Apache、nginx)上运行 DiscordPHP 吗?
不,DiscordPHP 只能在 CLI 中运行。如果您想为您的机器人提供一个界面,您可以将 React/http 与您的机器人集成并通过 CLI 运行它。
PHP 内存不足?
尝试使用ini_set('memory_limit', '-1');
无限限制 PHP 内存。 。
在开始使用这个库之前,您需要了解 PHP 的工作原理,需要了解事件循环和 Promise 的工作原理。这是开始之前的基本要求。没有这些知识,你只会受苦。
PHP 8.0 或更高版本(推荐最新版本)
x86(32 位)PHP 需要启用ext-gmp
。
ext-json
ext-zlib
ext-uv
(推荐)、 ext-ev
或ext-event
之一,可实现更快、性能更高的事件循环。
ext-mbstring
如果处理非拉丁字符。
64 位 PHP
ext-sodium
FFmpeg
不幸的是,Windows 上的 PHP 无法访问 Windows 证书存储区。这是一个问题,因为使用了 TLS 并因此应用了证书验证(不能选择关闭此功能)。
您会注意到这个问题,因为您的脚本在一个循环后立即退出,没有任何错误。
因此,该库的用户需要从 cURL 网站下载证书颁发机构摘录。
caextract 的路径必须在php.ini
中为openssl.cafile
设置。
DiscordPHP 是使用 Composer 安装的。
运行composer require team-reflex/discord-php
。这将安装最新的稳定版本。
如果您愿意,还可以通过运行composer require team-reflex/discord-php dev-master
来安装开发分支。
在主文件顶部包含 Composer 自动加载文件:
include __DIR__.'/vendor/autoload.php';
制作一个机器人!
<?phpinclude __DIR__.'/vendor/autoload.php';使用 DiscordDiscord;使用 DiscordPartsChannelMessage;使用 DiscordWebSocketsIntents;使用 DiscordWebSocketsEvent;$discord = new Discord(['token' => 'bot-token','intents' => Intents ::getDefaultIntents()// | 意图::MESSAGE_CONTENT, // 注意:MESSAGE_CONTENT 是特权的,请参见 https://dis.gd/mcfaq]);$discord->on('ready', function (Discord $discord) {echo "Bot is read!", PHP_EOL;//监听消息。$discord->on(Event::MESSAGE_CREATE, function (Message $message, Discord $discord) {echo "{$message->author->username}: {$message->content}", PHP_EOL;// 注意:如果未提及/DMed 机器人,则必须启用 MESSAGE_CONTENT 意图才能获取内容。}); });$discord->run();
有关更多信息,请参阅示例文件夹。
可以在此处找到最新版本的文档。社区贡献的教程可以在 wiki 上找到。
我们对捐款持开放态度。但是,请确保您遵循我们的编码标准(PSR-4 自动加载和自定义样式)。请在通过运行composer run-script cs
打开拉取请求之前运行 php-cs-fixer 。
麻省理工学院许可证,© David Cole 和其他贡献者 2016 年至今。