/wiscord

Let's see if I can't whip this thing into shape.

Primary LanguagePHPMIT LicenseMIT

Back from the dead?

Possibly. I could use help with this. So here's my philosophy:

  • Target PHP 5.6 first (since it's not EOL yet), then once that's all good, branch for 7.0 and/or 7.1.
  • Anything can & will be changed from the old code, including the deps.
  • Total SOLID OOP.
  • Factories may avoid the need to include a DI/IoC container as a dep.
  • Functions that truly are static and don't belong in a class can go in functions.php - but keep them to as few as necessary.
  • BDD > TDD. Therefore, phpSpec > PHPUnit.

DiscordPHP

Build Status Discord Chat PHP Discorders

A wrapper for the official Discord REST, gateway and voice APIs.

FAQ

  1. Can I run DiscordPHP on a webserver (e.g. Apache, nginx)?
    • No, DiscordPHP will only run in CLI. If you want to have an interface for your bot you can integrate react/http with your bot and run it through CLI.

Getting Started

Installing DiscordPHP

DiscordPHP is installed using Composer. Make sure you have installed Composer and are used to how it operates. We require a minimum PHP version of PHP 5.5.9, however it is reccomended that you use PHP 7. PHP 5.x support will be removed in the future.

This library has not been tested with HHVM.

  1. Run composer require team-reflex/discord-php. This will install the lastest release.
    • If you would like, you can also install the development branch by running composer require team-reflex/discord-php dev-develop.
  2. Include the Composer autoload file at the top of your main file:
    • include __DIR__.'/vendor/autoload.php';
  3. Make a bot!

Basic Example

<?php

include __DIR__.'/vendor/autoload.php';

use Discord\Discord;

$discord = new Discord([
	'token' => 'bot-token',
]);

$discord->on('ready', function ($discord) {
	echo "Bot is ready!", PHP_EOL;

	// Listen for messages.
	$discord->on('message', function ($message, $discord) {
		echo "{$message->author->username}: {$message->content}",PHP_EOL;
	});
});

$discord->run();

Notes

  • This library can use a lot of RAM and PHP may hit the memory limit. To increase the memory limit, use ini_set('memory_limit', '200M') to increase it to 200 mb. If you would like it to be unlimited, use ini_set('memory_limit', '-1').

Documentation

Raw documentation can be found in-line in the code and on the DiscordPHP Class Reference. More user friendly and examples will soon be coming on the DiscordPHP Wiki.

Contributing

We are open to contributions. However, please make sure you follow our coding standards (PSR-4 autoloading and custom styling). We use StyleCI to format our code. Our StyleCI settings can be found here.

Library Comparison

See this chart for a feature comparison and list of other Discord API libraries.