pub struct DiscordBot { /* private fields */ }Expand description
Blocking Discord Bot API client.
Implementations§
Source§impl DiscordBot
impl DiscordBot
pub fn new( bot_token: String, allowed_user_ids: Vec<i64>, commands_channel_id: String, ) -> Self
Sourcepub fn from_config(config: &ChannelConfig) -> Option<Self>
pub fn from_config(config: &ChannelConfig) -> Option<Self>
Build a DiscordBot from a ChannelConfig.
Returns None if either the token or commands channel ID is missing.
The token can be provided directly or via BATTY_DISCORD_BOT_TOKEN.
pub fn commands_channel_id(&self) -> &str
pub fn send_plain_message(&self, channel_id: &str, text: &str) -> Result<()>
pub fn send_embed( &self, channel_id: &str, title: &str, description: &str, color: u32, ) -> Result<()>
pub fn send_command_reply(&self, text: &str) -> Result<()>
pub fn send_formatted_message( &self, channel_id: &str, message: &str, ) -> Result<()>
pub fn validate_token(&self) -> Result<BotIdentity>
pub fn list_guilds(&self) -> Result<Vec<GuildSummary>>
pub fn list_guild_channels(&self, guild_id: &str) -> Result<Vec<ChannelSummary>>
pub fn get_channel(&self, channel_id: &str) -> Result<ChannelSummary>
pub fn create_message(&self, channel_id: &str, body: &Value) -> Result<String>
pub fn edit_message( &self, channel_id: &str, message_id: &str, body: &Value, ) -> Result<()>
pub fn pin_message(&self, channel_id: &str, message_id: &str) -> Result<()>
pub fn poll_commands(&mut self) -> Result<Vec<InboundMessage>>
Auto Trait Implementations§
impl Freeze for DiscordBot
impl RefUnwindSafe for DiscordBot
impl Send for DiscordBot
impl Sync for DiscordBot
impl Unpin for DiscordBot
impl UnsafeUnpin for DiscordBot
impl UnwindSafe for DiscordBot
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.