[−][src]Struct serenity::model::id::GuildId
An identifier for a Guild
Implementations
impl GuildId
[src]
pub async fn ban(
self,
http: impl AsRef<Http>,
user: impl Into<UserId>,
dmd: u8
) -> Result<()>
[src]
self,
http: impl AsRef<Http>,
user: impl Into<UserId>,
dmd: u8
) -> Result<()>
Ban a User
from the guild, deleting a number of
days' worth of messages (dmd
) between the range 0 and 7.
Refer to the documentation for Guild::ban
for more information.
Note: Requires the Ban Members permission.
Examples
Ban a member and remove all messages they've sent in the last 4 days:
use serenity::model::id::UserId; use serenity::model::id::GuildId; // assuming a `user` has already been bound let _ = GuildId(81384788765712384).ban(&http, user, 4).await;
Errors
Returns a ModelError::DeleteMessageDaysAmount
if the number of
days' worth of messages to delete is over the maximum.
pub async fn ban_with_reason(
self,
http: impl AsRef<Http>,
user: impl Into<UserId>,
dmd: u8,
reason: impl AsRef<str>
) -> Result<()>
[src]
self,
http: impl AsRef<Http>,
user: impl Into<UserId>,
dmd: u8,
reason: impl AsRef<str>
) -> Result<()>
pub async fn bans(self, http: impl AsRef<Http>) -> Result<Vec<Ban>>
[src]
Gets a list of the guild's bans.
Requires the Ban Members permission.
pub async fn audit_logs(
self,
http: impl AsRef<Http>,
action_type: Option<u8>,
user_id: Option<UserId>,
before: Option<AuditLogEntryId>,
limit: Option<u8>
) -> Result<AuditLogs>
[src]
self,
http: impl AsRef<Http>,
action_type: Option<u8>,
user_id: Option<UserId>,
before: Option<AuditLogEntryId>,
limit: Option<u8>
) -> Result<AuditLogs>
Gets a list of the guild's audit log entries
pub async fn channels(
self,
http: impl AsRef<Http>
) -> Result<HashMap<ChannelId, GuildChannel>>
[src]
self,
http: impl AsRef<Http>
) -> Result<HashMap<ChannelId, GuildChannel>>
Gets all of the guild's channels over the REST API.
pub async fn create_channel(
self,
http: impl AsRef<Http>,
f: impl FnOnce(&mut CreateChannel) -> &mut CreateChannel
) -> Result<GuildChannel>
[src]
self,
http: impl AsRef<Http>,
f: impl FnOnce(&mut CreateChannel) -> &mut CreateChannel
) -> Result<GuildChannel>
Creates a GuildChannel
in the the guild.
Refer to http::create_channel
for more information.
Requires the Manage Channels permission.
Examples
Create a voice channel in a guild with the name test
:
use serenity::model::id::GuildId; use serenity::model::channel::ChannelType; let _channel = GuildId(7).create_channel(&http, |c| c.name("test").kind(ChannelType::Voice)).await;
pub async fn create_emoji<'_, '_>(
self,
http: impl AsRef<Http>,
name: &'_ str,
image: &'_ str
) -> Result<Emoji>
[src]
self,
http: impl AsRef<Http>,
name: &'_ str,
image: &'_ str
) -> Result<Emoji>
Creates an emoji in the guild with a name and base64-encoded image.
Refer to the documentation for Guild::create_emoji
for more
information.
Requires the Manage Emojis permission.
Examples
See the EditProfile::avatar
example for an in-depth example as to
how to read an image from the filesystem and encode it as base64. Most
of the example can be applied similarly for this method.
pub async fn create_integration<'_>(
self,
http: impl AsRef<Http>,
integration_id: impl Into<IntegrationId>,
kind: &'_ str
) -> Result<()>
[src]
self,
http: impl AsRef<Http>,
integration_id: impl Into<IntegrationId>,
kind: &'_ str
) -> Result<()>
Creates an integration for the guild.
Requires the Manage Guild permission.
pub async fn create_role<F>(self, http: impl AsRef<Http>, f: F) -> Result<Role> where
F: FnOnce(&mut EditRole) -> &mut EditRole,
[src]
F: FnOnce(&mut EditRole) -> &mut EditRole,
Creates a new role in the guild with the data set, if any.
See the documentation for Guild::create_role
on how to use this.
Note: Requires the Manage Roles permission.
pub async fn delete(self, http: impl AsRef<Http>) -> Result<PartialGuild>
[src]
Deletes the current guild if the current account is the owner of the guild.
Refer to Guild::delete
for more information.
Note: Requires the current user to be the owner of the guild.
pub async fn delete_emoji(
self,
http: impl AsRef<Http>,
emoji_id: impl Into<EmojiId>
) -> Result<()>
[src]
self,
http: impl AsRef<Http>,
emoji_id: impl Into<EmojiId>
) -> Result<()>
Deletes an Emoji
from the guild.
Requires the Manage Emojis permission.
pub async fn delete_integration(
self,
http: impl AsRef<Http>,
integration_id: impl Into<IntegrationId>
) -> Result<()>
[src]
self,
http: impl AsRef<Http>,
integration_id: impl Into<IntegrationId>
) -> Result<()>
Deletes an integration by Id from the guild.
Requires the Manage Guild permission.
pub async fn delete_role(
self,
http: impl AsRef<Http>,
role_id: impl Into<RoleId>
) -> Result<()>
[src]
self,
http: impl AsRef<Http>,
role_id: impl Into<RoleId>
) -> Result<()>
Deletes a Role
by Id from the guild.
Also see Role::delete
if you have the cache
and methods
features
enabled.
Requires the Manage Roles permission.
pub async fn edit<F, '_>(
&'_ mut self,
http: impl AsRef<Http>,
f: F
) -> Result<PartialGuild> where
F: FnOnce(&mut EditGuild) -> &mut EditGuild,
[src]
&'_ mut self,
http: impl AsRef<Http>,
f: F
) -> Result<PartialGuild> where
F: FnOnce(&mut EditGuild) -> &mut EditGuild,
Edits the current guild with new data where specified.
Refer to Guild::edit
for more information.
Note: Requires the current user to have the Manage Guild permission.
pub async fn edit_emoji<'_>(
self,
http: impl AsRef<Http>,
emoji_id: impl Into<EmojiId>,
name: &'_ str
) -> Result<Emoji>
[src]
self,
http: impl AsRef<Http>,
emoji_id: impl Into<EmojiId>,
name: &'_ str
) -> Result<Emoji>
Edits an Emoji
's name in the guild.
Also see Emoji::edit
if you have the cache
and methods
features
enabled.
Requires the Manage Emojis permission.
pub async fn edit_member<F>(
self,
http: impl AsRef<Http>,
user_id: impl Into<UserId>,
f: F
) -> Result<()> where
F: FnOnce(&mut EditMember) -> &mut EditMember,
[src]
self,
http: impl AsRef<Http>,
user_id: impl Into<UserId>,
f: F
) -> Result<()> where
F: FnOnce(&mut EditMember) -> &mut EditMember,
Edits the properties of member of the guild, such as muting or nicknaming them.
Refer to EditMember
's documentation for a full list of methods and
permission restrictions.
Examples
Mute a member and set their roles to just one role with a predefined Id:
guild.edit_member(&context, user_id, |m| m.mute(true).roles(&vec![role_id]));
pub async fn edit_nickname<'_>(
self,
http: impl AsRef<Http>,
new_nickname: Option<&'_ str>
) -> Result<()>
[src]
self,
http: impl AsRef<Http>,
new_nickname: Option<&'_ str>
) -> Result<()>
Edits the current user's nickname for the guild.
Pass None
to reset the nickname.
Requires the Change Nickname permission.
pub async fn edit_role<F>(
self,
http: impl AsRef<Http>,
role_id: impl Into<RoleId>,
f: F
) -> Result<Role> where
F: FnOnce(&mut EditRole) -> &mut EditRole,
[src]
self,
http: impl AsRef<Http>,
role_id: impl Into<RoleId>,
f: F
) -> Result<Role> where
F: FnOnce(&mut EditRole) -> &mut EditRole,
Edits a Role
, optionally setting its new fields.
Requires the Manage Roles permission.
Examples
Make a role hoisted:
use serenity::model::{GuildId, RoleId}; GuildId(7).edit_role(&context, RoleId(8), |r| r.hoist(true));
pub async fn edit_role_position(
self,
http: impl AsRef<Http>,
role_id: impl Into<RoleId>,
position: u64
) -> Result<Vec<Role>>
[src]
self,
http: impl AsRef<Http>,
role_id: impl Into<RoleId>,
position: u64
) -> Result<Vec<Role>>
Edits the order of Role
s
Requires the Manage Roles permission.
Examples
Change the order of a role:
use serenity::model::{GuildId, RoleId}; GuildId(7).edit_role_position(&context, RoleId(8), 2);
pub async fn to_guild_cached(self, cache: impl AsRef<Cache>) -> Option<Guild>
[src]
Tries to find the Guild
by its Id in the cache.
pub async fn to_partial_guild(
self,
http: impl AsRef<Http>
) -> Result<PartialGuild>
[src]
self,
http: impl AsRef<Http>
) -> Result<PartialGuild>
Requests PartialGuild
over REST API.
Note: This will not be a Guild
, as the REST API does not send
all data with a guild retrieval.
pub async fn integrations(
self,
http: impl AsRef<Http>
) -> Result<Vec<Integration>>
[src]
self,
http: impl AsRef<Http>
) -> Result<Vec<Integration>>
Gets all integration of the guild.
This performs a request over the REST API.
pub async fn invites(self, http: impl AsRef<Http>) -> Result<Vec<RichInvite>>
[src]
Gets all of the guild's invites.
Requires the Manage Guild permission.
pub async fn kick(
self,
http: impl AsRef<Http>,
user_id: impl Into<UserId>
) -> Result<()>
[src]
self,
http: impl AsRef<Http>,
user_id: impl Into<UserId>
) -> Result<()>
Kicks a Member
from the guild.
Requires the Kick Members permission.
pub async fn kick_with_reason<'_>(
self,
http: impl AsRef<Http>,
user_id: impl Into<UserId>,
reason: &'_ str
) -> Result<()>
[src]
self,
http: impl AsRef<Http>,
user_id: impl Into<UserId>,
reason: &'_ str
) -> Result<()>
pub async fn leave(self, http: impl AsRef<Http>) -> Result<()>
[src]
Leaves the guild.
pub async fn member(
self,
cache_http: impl CacheHttp,
user_id: impl Into<UserId>
) -> Result<Member>
[src]
self,
cache_http: impl CacheHttp,
user_id: impl Into<UserId>
) -> Result<Member>
Gets a user's Member
for the guild by Id.
If the cache feature is enabled the cache will be checked first. If not found it will resort to an http request.
pub async fn members(
self,
http: impl AsRef<Http>,
limit: Option<u64>,
after: impl Into<Option<UserId>>
) -> Result<Vec<Member>>
[src]
self,
http: impl AsRef<Http>,
limit: Option<u64>,
after: impl Into<Option<UserId>>
) -> Result<Vec<Member>>
Gets a list of the guild's members.
Optionally pass in the limit
to limit the number of results. Maximum
value is 1000. Optionally pass in after
to offset the results by a
User
's Id.
pub fn members_iter<H: AsRef<Http>>(
self,
http: H
) -> impl Stream<Item = Result<Member>>
[src]
self,
http: H
) -> impl Stream<Item = Result<Member>>
Streams over all the members in a guild.
This is accomplished and equivilent to repeated calls to [members
].
A buffer of at most 1,000 members is used to reduce the number of calls
necessary.
Examples
use serenity::model::guild::MembersIter; use serenity::futures::StreamExt; let mut members = guild_id.members_iter(&ctx).boxed(); while let Some(member_result) = members.next().await { match member_result { Ok(member) => println!( "{} is {}", member, member.display_name(), ), Err(error) => eprintln!("Uh oh! Error: {}", error), } }
pub async fn move_member(
self,
http: impl AsRef<Http>,
user_id: impl Into<UserId>,
channel_id: impl Into<ChannelId>
) -> Result<()>
[src]
self,
http: impl AsRef<Http>,
user_id: impl Into<UserId>,
channel_id: impl Into<ChannelId>
) -> Result<()>
Moves a member to a specific voice channel.
Requires the Move Members permission.
pub async fn name(self, cache: impl AsRef<Cache>) -> Option<String>
[src]
Returns the name of whatever guild this id holds.
pub async fn disconnect_member(
self,
http: impl AsRef<Http>,
user_id: impl Into<UserId>
) -> Result<()>
[src]
self,
http: impl AsRef<Http>,
user_id: impl Into<UserId>
) -> Result<()>
Disconnects a member from a voice channel in the guild.
Requires the Move Members permission.
pub async fn prune_count(
self,
http: impl AsRef<Http>,
days: u16
) -> Result<GuildPrune>
[src]
self,
http: impl AsRef<Http>,
days: u16
) -> Result<GuildPrune>
Gets the number of Member
s that would be pruned with the given
number of days.
Requires the Kick Members permission.
pub async fn reorder_channels<It>(
self,
http: impl AsRef<Http>,
channels: It
) -> Result<()> where
It: IntoIterator<Item = (ChannelId, u64)>,
[src]
self,
http: impl AsRef<Http>,
channels: It
) -> Result<()> where
It: IntoIterator<Item = (ChannelId, u64)>,
Re-orders the channels of the guild.
Accepts an iterator of a tuple of the channel ID to modify and its new position.
Although not required, you should specify all channels' positions, regardless of whether they were updated. Otherwise, positioning can sometimes get weird.
pub async fn shard_id(self, cache: impl AsRef<Cache>) -> u64
[src]
Returns the Id of the shard associated with the guild.
When the cache is enabled this will automatically retrieve the total number of shards.
Note: When the cache is enabled, this function unlocks the cache to
retrieve the total number of shards in use. If you already have the
total, consider using utils::shard_id
.
pub async fn start_integration_sync(
self,
http: impl AsRef<Http>,
integration_id: impl Into<IntegrationId>
) -> Result<()>
[src]
self,
http: impl AsRef<Http>,
integration_id: impl Into<IntegrationId>
) -> Result<()>
Starts an integration sync for the given integration Id.
Requires the Manage Guild permission.
pub async fn start_prune(
self,
http: impl AsRef<Http>,
days: u16
) -> Result<GuildPrune>
[src]
self,
http: impl AsRef<Http>,
days: u16
) -> Result<GuildPrune>
Starts a prune of Member
s.
See the documentation on GuildPrune
for more information.
Note: Requires the Kick Members permission.
pub async fn unban(
self,
http: impl AsRef<Http>,
user_id: impl Into<UserId>
) -> Result<()>
[src]
self,
http: impl AsRef<Http>,
user_id: impl Into<UserId>
) -> Result<()>
Unbans a User
from the guild.
Requires the Ban Members permission.
pub async fn vanity_url(self, http: impl AsRef<Http>) -> Result<String>
[src]
Retrieve's the guild's vanity URL.
Note: Requires the Manage Guild permission.
pub async fn webhooks(self, http: impl AsRef<Http>) -> Result<Vec<Webhook>>
[src]
Retrieves the guild's webhooks.
Note: Requires the Manage Webhooks permission.
pub fn await_reply<'a>(
&self,
shard_messenger: &'a impl AsRef<ShardMessenger>
) -> CollectReply<'a>ⓘImportant traits for CollectReply<'a>
impl<'a> Future for CollectReply<'a> type Output = Option<Arc<Message>>;
[src]
&self,
shard_messenger: &'a impl AsRef<ShardMessenger>
) -> CollectReply<'a>ⓘ
Important traits for CollectReply<'a>
impl<'a> Future for CollectReply<'a> type Output = Option<Arc<Message>>;
Returns a future that will await one message sent in this guild.
pub fn await_replies<'a>(
&self,
shard_messenger: &'a impl AsRef<ShardMessenger>
) -> MessageCollectorBuilder<'a>ⓘImportant traits for MessageCollectorBuilder<'a>
impl<'a> Future for MessageCollectorBuilder<'a> type Output = MessageCollector;
[src]
&self,
shard_messenger: &'a impl AsRef<ShardMessenger>
) -> MessageCollectorBuilder<'a>ⓘ
Important traits for MessageCollectorBuilder<'a>
impl<'a> Future for MessageCollectorBuilder<'a> type Output = MessageCollector;
Returns a stream builder which can be awaited to obtain a stream of messages in this guild.
pub fn await_reaction<'a>(
&self,
shard_messenger: &'a impl AsRef<ShardMessenger>
) -> CollectReaction<'a>ⓘImportant traits for CollectReaction<'a>
impl<'a> Future for CollectReaction<'a> type Output = Option<Arc<ReactionAction>>;
[src]
&self,
shard_messenger: &'a impl AsRef<ShardMessenger>
) -> CollectReaction<'a>ⓘ
Important traits for CollectReaction<'a>
impl<'a> Future for CollectReaction<'a> type Output = Option<Arc<ReactionAction>>;
Await a single reaction in this guild.
pub fn await_reactions<'a>(
&self,
shard_messenger: &'a impl AsRef<ShardMessenger>
) -> ReactionCollectorBuilder<'a>ⓘImportant traits for ReactionCollectorBuilder<'a>
impl<'a> Future for ReactionCollectorBuilder<'a> type Output = ReactionCollector;
[src]
&self,
shard_messenger: &'a impl AsRef<ShardMessenger>
) -> ReactionCollectorBuilder<'a>ⓘ
Important traits for ReactionCollectorBuilder<'a>
impl<'a> Future for ReactionCollectorBuilder<'a> type Output = ReactionCollector;
Returns a stream builder which can be awaited to obtain a stream of reactions sent in this guild.
impl GuildId
[src]
pub fn created_at(&self) -> DateTime<FixedOffset>
[src]
Retrieves the time that the Id was created at.
pub fn as_u64(&self) -> &u64
[src]
Immutably borrow inner Id.
pub fn as_mut_u64(&mut self) -> &mut u64
[src]
Mutably borrow inner Id.
Trait Implementations
impl AsRef<GuildId> for GuildId
[src]
impl Clone for GuildId
[src]
impl Copy for GuildId
[src]
impl Debug for GuildId
[src]
impl Default for GuildId
[src]
impl<'de> Deserialize<'de> for GuildId
[src]
fn deserialize<D: Deserializer<'de>>(
deserializer: D
) -> StdResult<Self, D::Error>
[src]
deserializer: D
) -> StdResult<Self, D::Error>
impl Display for GuildId
[src]
impl Eq for GuildId
[src]
impl<'a> From<&'a Guild> for GuildId
[src]
impl<'a> From<&'a GuildId> for GuildId
[src]
impl<'a> From<&'a GuildInfo> for GuildId
[src]
impl<'a> From<&'a InviteGuild> for GuildId
[src]
fn from(invite_guild: &InviteGuild) -> GuildId
[src]
Gets the Id of Invite Guild struct.
impl<'a> From<&'a PartialGuild> for GuildId
[src]
fn from(guild: &PartialGuild) -> GuildId
[src]
Gets the Id of a partial guild.
impl From<Guild> for GuildId
[src]
impl From<GuildId> for GuildContainer
[src]
fn from(guild_id: GuildId) -> GuildContainer
[src]
impl From<GuildId> for u64
[src]
impl From<GuildId> for i64
[src]
impl From<GuildInfo> for GuildId
[src]
impl From<InviteGuild> for GuildId
[src]
fn from(invite_guild: InviteGuild) -> GuildId
[src]
Gets the Id of Invite Guild struct.
impl From<PartialGuild> for GuildId
[src]
fn from(guild: PartialGuild) -> GuildId
[src]
Gets the Id of a partial guild.
impl From<u64> for GuildId
[src]
impl Hash for GuildId
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Ord for GuildId
[src]
fn cmp(&self, other: &GuildId) -> Ordering
[src]
#[must_use]fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self
[src]
impl PartialEq<GuildId> for GuildId
[src]
impl PartialEq<u64> for GuildId
[src]
impl PartialOrd<GuildId> for GuildId
[src]
fn partial_cmp(&self, other: &GuildId) -> Option<Ordering>
[src]
fn lt(&self, other: &GuildId) -> bool
[src]
fn le(&self, other: &GuildId) -> bool
[src]
fn gt(&self, other: &GuildId) -> bool
[src]
fn ge(&self, other: &GuildId) -> bool
[src]
impl Serialize for GuildId
[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl StructuralEq for GuildId
[src]
impl StructuralPartialEq for GuildId
[src]
Auto Trait Implementations
impl RefUnwindSafe for GuildId
impl Send for GuildId
impl Sync for GuildId
impl Unpin for GuildId
impl UnwindSafe for GuildId
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
fn equivalent(&self, key: &K) -> bool
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,