mod types;
use crate::{
request::{NoContent, TwitchAPIRequest},
types::{
constants::{FROM_USER_ID, TO_USER_ID, WHISPERS},
UserId,
},
TwitchAPI,
};
use types::WhisperBody;
pub trait WhisperAPI {
fn send_whisper(
&self,
from_user_id: &UserId,
to_user_id: &UserId,
message: &str,
) -> TwitchAPIRequest<NoContent>;
}
impl WhisperAPI for TwitchAPI {
simple_endpoint!(
fn send_whisper(
from_user_id: &UserId [key = FROM_USER_ID],
to_user_id: &UserId [key = TO_USER_ID],
message: &str [skip],
) -> NoContent;
endpoint: SendWhisper,
method: POST,
path: [WHISPERS],
headers: [json],
body: {
serde_json::to_string(&WhisperBody {message}).ok()
}
);
}