Um wrapper para as APIs oficiais Discord REST, gateway e voz. A documentação está disponível aqui, embora limitada no momento, bem como uma referência de classe. Sinta-se à vontade para fazer perguntas no servidor Discord acima.
Para testes e estabilidade, agradeceríamos muito se você pudesse adicionar nosso bot de teste ao seu servidor. Não armazenamos nenhum dado - o bot simplesmente fica inativo e não interage com ninguém e é usado para testar a estabilidade com um grande número de guildas. Você pode convidar o bot aqui.
Aviso Este branch contém um recurso experimental, não o utilize em produção! Consulte a página wiki para obter mais informações sobre como configurá-lo.
Posso executar o DiscordPHP em um servidor web (por exemplo, Apache, nginx)?
Não, o DiscordPHP só será executado em CLI. Se você deseja ter uma interface para seu bot, você pode integrar react/http com seu bot e executá-lo através da CLI.
PHP está ficando sem memória?
Tente limitar sua memória PHP usando ini_set('memory_limit', '-1');
.
Antes de começar a usar esta biblioteca, você precisa saber como funciona o PHP, você precisa saber como funcionam os Event Loops e Promises. Este é um requisito fundamental antes de começar. Sem esse conhecimento, você só sofrerá.
PHP 8.0 ou superior (versão mais recente recomendada)
PHP x86 (32 bits) requer ext-gmp
habilitado.
ext-json
ext-zlib
Um dos ext-uv
(recomendado), ext-ev
ou ext-event
para um loop de eventos mais rápido e com melhor desempenho.
ext-mbstring
se estiver lidando com caracteres não latinos.
PHP de 64 bits
ext-sodium
FFmpeg
Infelizmente, o PHP no Windows não tem acesso ao Windows Certificate Store. Isso é um problema porque o TLS é usado e, como tal, a verificação do certificado é aplicada (desativar isso não é uma opção).
Você notará esse problema quando seu script sair imediatamente após uma volta de loop sem erros.
Como tal, os usuários desta biblioteca precisam baixar um extrato da Autoridade de Certificação do site cURL.
O caminho para o caextract deve ser definido no php.ini
para openssl.cafile
.
O DiscordPHP é instalado usando o Composer.
Execute composer require team-reflex/discord-php
. Isso instalará a versão estável mais recente.
Se desejar, você também pode instalar o branch de desenvolvimento executando composer require team-reflex/discord-php dev-master
.
Inclua o arquivo autoload do Composer no topo do seu arquivo principal:
include __DIR__.'/vendor/autoload.php';
Faça um bot!
<?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, // Nota: MESSAGE_CONTENT é privilegiado, veja https://dis.gd/mcfaq]);$discord->on('ready', function (Discord $discord) {echo "Bot is ready!" , PHP_EOL;// Ouvir mensagens.$discord->on(Event::MESSAGE_CREATE, function (Mensagem $mensagem, Discord $discord) {echo "{$message->author->username}: {$message->content}", PHP_EOL;// Nota: a intenção MESSAGE_CONTENT deve estar habilitada para obter o conteúdo se o bot não for mencionado/DMed.}); });$discord->run();
Veja a pasta de exemplos para mais informações.
A documentação da versão mais recente pode ser encontrada aqui. Tutoriais contribuídos pela comunidade podem ser encontrados no wiki.
Estamos abertos a contribuições. No entanto, certifique-se de seguir nossos padrões de codificação (carregamento automático PSR-4 e estilo personalizado). Execute php-cs-fixer antes de abrir uma solicitação pull executando composer run-script cs
.
Licença MIT, © David Cole e outros colaboradores, 2016 até o presente.