Guild
Guilds represent Discord ‘servers’.
Repositories
| name | type | notes |
|---|---|---|
| roles | Role | | | |
| emojis | Emoji | | | |
| members | Member | May not contain offline members, see the `loadAllMembers
option <#basics>`_ | |
|
| channels | Channel | | | |
| stage_instances | StageInstance | | | |
| guild_scheduled_events | ScheduledEvent | | | |
| stickers | Sticker | | | |
| invites | Invite | Not initially loaded | | |
| bans | Ban | Not initially loaded without `retrieveBans
option <#basics>`_ | |
|
| commands | Command | Not initially loaded | | |
| templates | GuildTemplate | Not initially loaded | | |
| integrations | Integration | Not initially loaded | | |
Creating a role
Shortcut for $guild->roles->save($role);
. Takes an array of parameters for a role and returns a role part in a promise.
Parameters
| name | type | description | default |
|---|---|---|---|
| name | string | Role name | new role |
| permissions | string | Bitwise value of permissions | @everyone permissions |
| color | integer | RGB color value | 0 |
| hoist | bool | Hoisted role? | false |
| icon | string | image data for Role icon | null |
| unicode_emoji | string | unicode emoji for Role icon | null |
| mentionable | bool | Mentionable role? | false |
$guild->createRole([
'name' => 'New Role',
// ...
])->then(function (Role $role) {
// ...
});
Transferring ownership of guild
Transfers the ownership of the guild to another member. The bot must own the guild to be able to transfer ownership. Takes a member object or a member ID and returns nothing in a promise.
Parameters
| name | type | description |
|---|---|---|
| member | Member or member ID | The member to get ownership |
| reason | string | Reason for Audit Log |
$guild->transferOwnership($member)->then(...);
// or
$guild->transferOwnership('member_id')->then(...);
Unbanning a member with a User or user ID
Unbans a member when passed a User
object or a user ID. If you have the ban object, you can do $guild->bans->delete($ban);
. Returns nothing in a promise.
Parameters
| name | type | description |
|---|---|---|
| user_id | User
or user ID |
The user to unban |
$guild->unban($user)->then(...);
// or
$guild->unban('user_id')->then(...);
Querying the Guild audit log
Takes an array of parameters to query the audit log for the guild. Returns an Audit Log object inside a promise.
Parameters
| name | type | description |
|---|---|---|
| user_id | string, int, Member
, User
|
Filters audit log by who performed the action |
| action_type | Entry
constants |
Filters audit log by the type of action |
| before | string, int, Entry
|
Retrieves audit logs before the given audit log object |
| limit | int between 1 and 100 | Limits the amount of audit log entries to return |
$guild->getAuditLog([
'user_id' => '123456',
'action_type' => Entry::CHANNEL_CREATE,
'before' => $anotherEntry,
'limit' => 12,
])->then(function (AuditLog $auditLog) {
foreach ($auditLog->audit_log_entries as $entry) {
// $entry->...
}
});
Creating an Emoji
Takes an array of parameters for an emoji and returns an emoji part in a promise. Use the second parameter to specify local file path instead.
Parameters
| name | type | description | default |
|---|---|---|---|
| name | string | Emoji name | required |
| image | string | image data with base64 format, ignored if file path is specified | |
| roles | array | Role IDs that are allowed to use the emoji | [] |
$guild->createEmoji([
'name' => 'elephpant',
// ...
],
'/path/to/file.jpg',
'audit-log reason'
)->then(function (Emoji $emoji) {
// ...
});