emilh91 / groupme-api-client
GroupMe API 客户端
2.1.1
2023-08-20 22:02 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: 4.6.10
This package is auto-updated.
Last update: 2024-09-21 00:19:23 UTC
README
此库是非官方的 PHP 包装器,用于 GroupMe v3 API。
安装
使用 Composer 安装: "emilh91/groupme-api-client": "dev-master"
样板代码
登录后,您可以在上述页面找到 GroupMe API 密钥。如果您只计划使用此库来发送机器人消息,则无需指定 API 密钥。
require 'vendor/autoload.php'; $c = new GroupMeApi\Client('API-KEY');
客户端方法
以下子部分中的所有方法都应该在新建的客户端对象上调用。
机器人方法
public function getMyBots() public function createBot($bot_name, $group_id, $avatar_url='', $callback_url='') public function sendBotMessage($bot_id, $text, array $attachments=array()) public function parseBotMessage($bot_id, $text) public function destroyBot($bot_id)
直接消息方法
public function getDirectMessageChats($page=1, $per_page=10) public function getLatestDirectMessages($other_user_id, $limit=20) public function getDirectMessagesBefore($other_user_id, $message_id) public function getDirectMessagesSince($other_user_id, $message_id) public function sendDirectMessage($other_user_id, $text, array $attachments=array(), $source_guid=null) public function parseDirectMessage($other_user_id, $text, $source_guid=null) public function likeDirectMessage($other_user_id, $message_id) public function unlikeDirectMessage($other_user_id, $message_id)
群组方法
public function getAllGroups() public function getGroups($page = 1, $per_page = 10) public function getGroupByName($name) public function getGroupById($group_id) public function getFormerGroups() public function createGroup($name, $description='', $image_url='', $share=false) public function getGroupDetails($group) public function updateGroupDetails($group_id, array $payload) public function destroyGroup($group_id) public function joinGroup($group_id, $share_token) public function rejoinGroup($group_id) public function getLeaderboard($group_id, $period='day') public function getLeaderboardForDay($group_id) public function getLeaderboardForWeek($group_id) public function getLeaderboardForMonth($group_id) public function getMyLikes($group_id) public function getMyHits($group_id) public function addMembersToGroup($group_id, array $members) public function getAddMembersToGroupResult($group_id, $results_id) public function getGroupMembers($group_id) public function updateMyGroupMembership($group_id, $nickname) public function removeGroupMember($group_id, $user_id) public function getLatestGroupMessages($group_id, $limit=20) public function getGroupMessagesBefore($group_id, $message_id, $limit=20) public function getGroupMessagesAfter($group_id, $message_id, $limit=20) public function getGroupMessagesSince($group_id, $message_id, $limit=20) public function getGroupNameById($group_id) public function getGroupIdByName($group_name) public function isMemberOfGroup($group_id) public function sendGroupMessage($group_id, $text, array $attachments=array(), $source_guid=null) public function parseGroupMessage($group_id, $text, $source_guid=null)
用户方法
public function getMyDetails() public function updateMyDetails(array $payload) public function enableSmsMode($duration, $registration_id) public function disableSmsMode()
附件
当发送消息(机器人、直接或群组)时,您可以指定附件数组。存在一个工厂类,可以轻松创建附件:GroupMeApi\AttachmentUtils。
public static function makeLocationAttachment($lat, $lng, $name='') public static function makeImageAttachment($image_url) public static function makeMentionsAttachment($users, $strpos) public static function makeSplitAttachment() public static function makeEmojiAttachment(array $charmap)
表情符号
啊哈,现代沟通的巅峰... 要在 GroupMe 中发送表情符号,您需要在创建附件时指定字符表(字符映射)。为此,还存在另一个工厂类: 要发送不涉及字符表和占位符的表情符号,只需在行内编写它们,并使用 GroupMeApi\EmojiUtils。parse*Message(...) 方法发送。
require 'vendor/autoload.php'; $c = new GroupMeApi\Client('API-KEY'); $c->parseBotMessage('BOT-ID', 'Awaiting instructions... :frustrated_face:'); $c->parseDirectMessage('OTHER-USER-ID', 'Hello :cool_guy_face::cigar_face:'); $c->parseGroupMessage('GROUP-ID', 'Hello everyone! :smiley_face::content_face:');
图像服务
在使用消息中的本地图像之前,您必须将图像上传到 GroupMe 的图像服务。
require 'vendor/autoload.php'; $c = new GroupMeApi\Client('API-KEY'); $res = $c->uploadImage('my_image_file.png', 'image/png', 'testpic');
如果上传成功,则返回变量包含图像 URL 在 $res['payload']['url'] 或错误消息在 $res['error'][]。感谢用户 rgaida 修复图像服务!