1. Go to this page and download the library: Download discord-php/slash library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
discord-php / slash example snippets
iscord\Slash\RegisterClient;
$client = new RegisterClient('your-bot-token-here');
/// GETTING COMMANDS
// gets a list of all GLOBAL comamnds (not guild-specific)
$commands = $client->getCommands();
// gets a list of all guild-specific commands to the given guild
$guildCommands = $client->getCommands('guild_id_here');
// gets a specific command with command id - if you are getting a guild-specific command you must provide a guild id
$command = $client->getCommand('command_id', 'optionally_guild_id');
/// CREATING COMMANDS
// creates a global command
$command = $client->createGlobalCommand('command_name', 'command_description', [
// optional array of options
]);
// creates a guild specific command
$command = $client->createGuildSpecificCommand('guild_id', 'command_name', 'command_description', [
// optional array of options
]);
/// UPDATING COMMANDS
// change the command name etc.....
$command->name = 'newcommandname';
$client->updateCommand($command);
/// DELETING COMMANDS
$client->deleteCommand($command);
include 'vendor/autoload.php';
use Discord\Slash\Client;
use Discord\Slash\Parts\Interaction;
use Discord\Slash\Parts\Choices;
$client = new Client([
// on a different URI
'logger' => $logger, // different logger, default will write to stdout
'loop' => $loop, // reactphp event loop, default creates a new loop
'socket_options' => [], // options to pass to the react/socket instance, default empty array
]);
// register a command `/hello`
$client->registerCommand('hello', function (Interaction $interaction, Choices $choices) {
// do some cool stuff here
// good idea to var_dump interaction and choices to see what they contain
// once finished, you MUST either acknowledge or reply to a message
$interaction->acknowledge(); // acknowledges the message, doesn't show source message
$interaction->acknowledge(true); // acknowledges the message and shows the source message
// to reply to the message
$interaction->reply('Hello, world!'); // replies to the message, doesn't show source message
$interaction->replyWithSource('Hello, world!'); // replies to the message and shows the source message
// the `reply` methods take 4 parameters: content, tts, embed and allowed_mentions
// all but content are optional.
// read the discord developer documentation to see what to pass to these options:
// https://discord.com/developers/docs/resources/channel#create-message
});
// starts the ReactPHP event loop
$client->run();
include 'vendor/autoload.php';
// make sure you have included DiscordPHP into your project - `composer hoices;
$discord = new Discord([
'token' => '##################',
]);
$client = new Client([
'public_key' => '???????????????',
'loop' => $discord->getLoop(),
]);
$client->linkDiscord($discord, false); // false signifies that we still want to use the HTTP server - default is true, which will use gateway
$discord->on('ready', function (Discord $discord) {
// DiscordPHP is ready
});
$client->registerCommand('my_cool_command', function (Interaction $interaction, Choices $choices) use ($discord) {
// there are a couple fields in $interaction that will return DiscordPHP parts:
$interaction->guild;
$interaction->channel;
$interaction->member;
// if you don't link DiscordPHP, it will simply return raw arrays
$discord->guilds->get('id', 'coolguild')->members->ban(); // do something ?
$interaction->acknowledge();
});
$discord->run();
iscord\Slash\Client;
$client = new Client([
'public_key' => '???????',
'uri' => null, // note the null uri - signifies to not register the socket
]);
// register your commands like normal
$client->registerCommand(...);
// note the difference here - runCgi instead of run
$client->runCgi();
iscord\Discord;
use Discord\Slash\Client;
$discord = new Discord([
'token' => 'abcd.efdgh.asdas',
]);
$client = new Client([
'loop' => $discord->getLoop(), // Discord and Client MUST share event loops
]);
$client->linkDiscord($discord);
$client->registerCommand(...);
$discord->run();
$ composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.