some_random_api/endpoints/canvas/
overlay.rs

1use crate::Requester;
2use anyhow::Result;
3
4pub struct CanvasOverlayEndpoint(pub(crate) Requester);
5
6impl CanvasOverlayEndpoint {
7    /// Give your avatar a comrade overlay
8    pub async fn comrade<T: ToString>(&self, avatar_url: T) -> Result<Vec<u8>> {
9        self.0
10            .request_image(
11                "canvas/overlay/comrade",
12                &[("avatar", avatar_url.to_string())],
13            )
14            .await
15    }
16
17    /// Give your avatar a rainbow overlay
18    pub async fn gay<T: ToString>(&self, avatar_url: T) -> Result<Vec<u8>> {
19        self.0
20            .request_image("canvas/overlay/gay", &[("avatar", avatar_url.to_string())])
21            .await
22    }
23
24    /// Give your avatar a glass effect overlay
25    pub async fn glass<T: ToString>(&self, avatar_url: T) -> Result<Vec<u8>> {
26        self.0
27            .request_image(
28                "canvas/overlay/glass",
29                &[("avatar", avatar_url.to_string())],
30            )
31            .await
32    }
33
34    /// Go to horny jail
35    pub async fn jail<T: ToString>(&self, avatar_url: T) -> Result<Vec<u8>> {
36        self.0
37            .request_image("canvas/overlay/jail", &[("avatar", avatar_url.to_string())])
38            .await
39    }
40
41    /// Mission passed
42    pub async fn passed<T: ToString>(&self, avatar_url: T) -> Result<Vec<u8>> {
43        self.0
44            .request_image(
45                "canvas/overlay/passed",
46                &[("avatar", avatar_url.to_string())],
47            )
48            .await
49    }
50
51    /// I will not enter a description so you will get triggered
52    pub async fn triggered<T: ToString>(&self, avatar_url: T) -> Result<Vec<u8>> {
53        self.0
54            .request_image(
55                "canvas/overlay/triggered",
56                &[("avatar", avatar_url.to_string())],
57            )
58            .await
59    }
60
61    /// Wastedeeznuts
62    pub async fn wasted<T: ToString>(&self, avatar_url: T) -> Result<Vec<u8>> {
63        self.0
64            .request_image(
65                "canvas/overlay/wasted",
66                &[("avatar", avatar_url.to_string())],
67            )
68            .await
69    }
70}