jhgg / DiscordPHP

An API to interact with the popular messaging app Discord

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DiscordPHP Build Status

An API to interact with the popular text and voice service Discord.

Special Thanks

Todo

Todo list is available in the TODO.md file.

Notes

  • If your bot is in a large number of guilds, PHP may crash because it has ran out of allocated memory. (200 guilds, 140mb memory usage and increases)
    • You can increase the allocated memory by doing ini_set('memory_limit', '{number-of-mb}M'); at the top of your bot file. Note: Change {number-of-mb} to the number of megabytes.
  • If a guild has more than 250 members, only online members will be available.

Basic WebSocket client

<?php

include 'vendor/autoload.php';

use Discord\Discord;
use Discord\WebSockets\Event;
use Discord\WebSockets\WebSocket;

$discord = new Discord(':email', ':password');
$websocket = new WebSocket($discord);

$websocket->on(Event::MESSAGE_CREATE, function ($message, $discord, $new) {
	echo "New message from {$message->author->username}: {$message->content}".PHP_EOL;
});

$websocket->run();

Documentation

I have generated documentation which can be viewed here. The code is well documentated so feel free to read through it if you want.

If you have any questions feel free to message me on Discord which can be viewed below.

Cache

There is caching built into the API. By default, the time to live for an item in the cache is 300 seconds (5 minutes). If you would like to change that, do the following:

use Discord\Helpers\Guzzle;

Guzzle::setCacheTtl(:time);

If you would like to disable the cache, set the TTL to 0.

Help

If you need any help feel free to join the DiscordAPI Server and ask in the #php_discordphp channel. Tag @Uniquoooo if you need any help specific to the API.

Other Libraries

You can find a comparison and list of all other Discord libraries over at the DiscordAPI Comparison Page (thanks @abalabahaha!)

Contributing

We are open to anyone contributing as long as you follow our code standards. We use PSR-4 for our autoloading standard and PSR-2 for our code formatting standard. Please, if you send in pull requests follow these standards.

About

An API to interact with the popular messaging app Discord

License:MIT License


Languages

Language:PHP 100.0%