Download the PHP package shanemcc/yasmin without Composer
On this page you can find all versions of the php package shanemcc/yasmin. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download shanemcc/yasmin
More information about shanemcc/yasmin
Files in shanemcc/yasmin
Package yasmin
Short Description Yasmin is a Discord API library for PHP.
License Apache-2.0
Informations about the package yasmin
Note: This is a fork of the original CharlotteDunois/Yasmin repo with additional fixes from other forks.
Yasmin
Yasmin is a Discord API library for PHP. Yasmin connects to the Gateway and interacts with the REST API.
This library is only for PHP 7.1 (and later) and use in CLI. Only bot accounts are supported by Yasmin.
Before you start
Before you start using this Library, you need to know how PHP works, you need to know the language and you need to know how Event Loops and Promises work. This is a fundamental requirement before you start. Without this knowledge, you will only suffer.
See https://github.com/elazar/asynchronous-php for resources.
Getting Started
Getting started with Yasmin is pretty straight forward. All you need to do is to use composer to install Yasmin and its dependencies. After that, you can include composer's autoloader into your file and start interacting with Discord and Yasmin!
It is important to listen to error
events. If you don't attach an error
listener, the event emitter will throw an exception.
Make sure you also have a rejection handler for all promises, as unhandled promise rejections get swallowed and you will never know what happened to them.
Important Information: All properties on class instances, which are implemented using a magic method (which means pretty much all properties), are throwing if the property doesn't exist.
There is a WIP Gitbook with a few protips in it, feel free to read it: https://charlottedunois.gitbooks.io/yasmin-guide/content/
Example
This is a fairly trivial example of using Yasmin. You should put all your listener code into try-catch blocks and handle exceptions accordingly.
Voice Support
There is no voice support.
Documentation
https://shanemcc.github.io/Yasmin/
Windows and SSL
Unfortunately PHP on Windows does not have access to the Windows Certificate Store. This is an issue because TLS gets used and as such certificate verification gets applied (turning this off is not an option).
You will notice this issue by your script exiting immediately after one loop turn without any errors. Unfortunately there is for some reason no error or exception.
As such users of this library need to download a Certificate Authority extract from the cURL website.
The path to the caextract must be set in the php.ini
for openssl.cafile
.
Linux Support
Use git to clone this repository.
Yasmin requires PHP 7.1+ to run, as well as the following packages. It's recommended to use the latest version of php available in your repository. In the example provided, 7.1 will be used. Replace 7.1 with the version you're currently using.
Ubuntu
Notice of limited support
I cannot provide support with most issues that occur due to outdated prerequisites or implementing SSL. If you are hosting on Windows and needing a cacert.pem file but don't feel comfortable generating yourself then I personally recommend WinNMP as it generates one in its /data/ directory that you can point your PHP.ini at.
Other distros
Please refer to your distros repository to find the packages above.
All versions of yasmin with dependencies
ext-bcmath Version *
ext-date Version *
ext-filter Version *
ext-json Version *
ext-mbstring Version *
ext-openssl Version *
ext-pcre Version *
ext-zlib Version *
valzargaming/collection Version ^0.2.0
valzargaming/eventemitter Version ^0.1.5
valzargaming/validator Version ^0.3.0
clue/buzz-react Version ^2.6.0
psr/http-message Version ^1.0
ratchet/pawl Version ^0.3.1
react/event-loop Version ^1.0|^0.5|^0.4.3
react/filesystem Version ^0.1.1
react/promise Version ^2.7.0
ringcentral/psr7 Version ^1.2