aboutsummaryrefslogtreecommitdiff
path: root/src/client/bridge/gateway/shard_messenger.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/bridge/gateway/shard_messenger.rs')
-rw-r--r--src/client/bridge/gateway/shard_messenger.rs16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/client/bridge/gateway/shard_messenger.rs b/src/client/bridge/gateway/shard_messenger.rs
index 2331d4a..6d625b6 100644
--- a/src/client/bridge/gateway/shard_messenger.rs
+++ b/src/client/bridge/gateway/shard_messenger.rs
@@ -157,7 +157,11 @@ impl ShardMessenger {
/// # try_main().unwrap();
/// # }
/// ```
- pub fn set_game(&self, game: Option<Game>) {
+ pub fn set_game<T: Into<Game>>(&self, game: Option<T>) {
+ self._set_game(game.map(Into::into))
+ }
+
+ fn _set_game(&self, game: Option<Game>) {
let _ = self.send(ShardRunnerMessage::SetGame(game));
}
@@ -195,7 +199,15 @@ impl ShardMessenger {
/// # try_main().unwrap();
/// # }
/// ```
- pub fn set_presence(&self, game: Option<Game>, mut status: OnlineStatus) {
+ pub fn set_presence<T: Into<Game>>(
+ &self,
+ game: Option<T>,
+ status: OnlineStatus,
+ ) {
+ self._set_presence(game.map(Into::into), status)
+ }
+
+ fn _set_presence(&self, game: Option<Game>, mut status: OnlineStatus) {
if status == OnlineStatus::Offline {
status = OnlineStatus::Invisible;
}