Wallogit.com
2017 © Pedro Peláez
Just a non-official SDK for Chatwork
You can install and manage Chatwork SDK for PHP by using Composer, (*2)
composer require wataridori/chatwork-sdk
Or add wataridori/chatwork-sdk into the require section of your composer.json file then run composer update, (*3)
ChatworkSDK class.ChatworkSDK::setApiKey($apiKey);
If you have problems with the SSL Certificate Verification, you can turn it off by the following setting., (*4)
// Not recommend. Only do this when you have problems with the request ChatworkSDK::setSslVerificationMode(false);
Now you can easily use many functions to access Chatwork API Endpoints., (*5)
ChatworkAPI: This is the class that contains base API. You can use it to send request to Chatwork and receive the response in array., (*6)
ChatworkSDK::setApiKey($apiKey); $api = new ChatworkApi(); // Get user own information $api->me(); // Get user own statics information $api->getMyStatus(); // Get user rooms list $api->getRooms();
ChatworkSDK::setApiKey($apiKey);
$room = new ChatworkRoom($roomId);
// The following function will return an array of ChatworkUser
$members = $room->getMembers();
foreach ($members as $member) {
// Print out User Information
print_r($member->toArray());
}
// Send Message to All Members in the Room
$room->sendMessageToAll('Test Message');
// Send Message to list of members in the room
$room->sendMessageToList([$member_1, $member_2], 'Another Test Message');
The 3 classes above are extended from the ChatworkBase class. ChatworkBase provides you some useful function to work with messages.
You can easily build a TO message, REPLY or QUOTE message., (*7)
ChatworkSDK::setApiKey($apiKey);
$room = new ChatworkRoom($roomId);
$messages = $room->getMessages();
if ($messages & !empty($messages[0])) {
$lastMessage = $messages[0];
// Reset Message to null string
$room->resetMessage();
// Append the REPLY text to current message
$room->appendReplyInRoom($lastMessage);
// Append the QUOTE text to current message
$room->appendQuote($lastMessage);
// Append the Information Text to the current message
$room->appendInfo('Test Quote, Reply, Info text', 'Test from Chatwork-SDK');
// Send current message into the Room
$room->sendMessage();
}
config.json inside the tests/fixtures/ folder.config.json file. It should look like this:{
"apiKey": "YOUR-API-KEY-HERE",
"roomId": "YOUR-TEST-ROOM-HERE"
}
phpunit to start testing.View contribution guidelines here, (*8)