Enum traq_bot_http::EventKind
source · #[non_exhaustive]pub enum EventKind {
Show 24 variants
Ping,
Joined,
Left,
MessageCreated,
MessageDeleted,
MessageUpdated,
DirectMessageCreated,
DirectMessageDeleted,
DirectMessageUpdated,
BotMessageStampsUpdated,
ChannelCreated,
ChannelTopicChanged,
UserCreated,
StampCreated,
TagAdded,
TagRemoved,
UserGroupCreated,
UserGroupUpdated,
UserGroupDeleted,
UserGroupMemberAdded,
UserGroupMemberUpdated,
UserGroupMemberRemoved,
UserGroupAdminAdded,
UserGroupAdminRemoved,
}Expand description
イベントの種類全てを網羅するenum (non-exhaustive)
Variants
Ping- ボットの接続確認Joined- チャンネルに参加したLeft- チャンネルから退出したMessageCreated- メッセージが作成されたMessageDeleted- メッセージが削除されたMessageUpdated- メッセージが更新されたDirectMessageCreated- ダイレクトメッセージが作成されたDirectMessageDeleted- ダイレクトメッセージが削除されたDirectMessageUpdated- ダイレクトメッセージが更新されたBotMessageStampsUpdated- ボットのメッセージにスタンプが付けられたChannelCreated- チャンネルが作成されたChannelTopicChanged- チャンネルのトピックが変更されたUserCreated- ユーザーが作成されたStampCreated- スタンプが作成されたTagAdded- BOTにタグが追加されたTagRemoved- BOTからタグが削除されたUserGroupCreated- ユーザーグループが作成されたUserGroupUpdated- ユーザーグループが更新されたUserGroupDeleted- ユーザーグループが削除されたUserGroupMemberAdded- ユーザーグループにメンバーが追加されたUserGroupMemberUpdated- ユーザーグループのメンバーが更新されたUserGroupMemberRemoved- ユーザーグループからメンバーが削除されたUserGroupAdminAdded- ユーザーグループに管理者が追加されたUserGroupAdminRemoved- ユーザーグループから管理者が削除された
Example
use traq_bot_http::{Event, EventKind};
use traq_bot_http::payloads::PingPayload;
let payload = r#"{
"eventTime": "2019-05-07T04:50:48.582586882Z"
}"#;
let payload = serde_json::from_str::<PingPayload>(payload).unwrap();
let event: Event = payload.into();
assert_eq!(event.kind(), EventKind::Ping);Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Ping
Joined
Left
MessageCreated
MessageDeleted
MessageUpdated
DirectMessageCreated
DirectMessageDeleted
DirectMessageUpdated
BotMessageStampsUpdated
ChannelCreated
ChannelTopicChanged
UserCreated
StampCreated
TagAdded
TagRemoved
UserGroupCreated
UserGroupUpdated
UserGroupDeleted
UserGroupMemberAdded
UserGroupMemberUpdated
UserGroupMemberRemoved
UserGroupAdminAdded
UserGroupAdminRemoved
Trait Implementations§
source§impl PartialEq for EventKind
impl PartialEq for EventKind
impl Copy for EventKind
impl Eq for EventKind
impl StructuralEq for EventKind
impl StructuralPartialEq for EventKind
Auto Trait Implementations§
impl RefUnwindSafe for EventKind
impl Send for EventKind
impl Sync for EventKind
impl Unpin for EventKind
impl UnwindSafe for EventKind
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more