From dca2b37fb0261e78ca2d2a7c9c5a52a8c2aeaaa4 Mon Sep 17 00:00:00 2001 From: jude Date: Wed, 14 Oct 2020 11:31:18 +0100 Subject: [PATCH] made webhook avatar configurable --- README.md | 1 + assets/webhook.jpg | Bin 0 -> 21474 bytes src/commands/reminder_cmds.rs | 36 +++++++++++++++++++++++----------- src/consts.rs | 1 + 4 files changed, 27 insertions(+), 11 deletions(-) create mode 100644 assets/webhook.jpg diff --git a/README.md b/README.md index 4ed717b..e1de61a 100644 --- a/README.md +++ b/README.md @@ -33,3 +33,4 @@ __Other Variables__ * `PYTHON_LOCATION` - default `venv/bin/python3`. Can be changed if your Python executable is located somewhere else * `LOCAL_LANGUAGE` - default `EN`. Specifies the string set to fall back to if a string cannot be found (and to be used with new users) * `THEME_COLOR` - default `8fb677`. Specifies the hex value of the color to use on info message embeds +* `WEBHOOK_AVATAR` - default `None`, accepts the path to an image file to be used as the avatar when creating webhooks. **IMPORTANT: image file must be 128x128 or smaller in size** diff --git a/assets/webhook.jpg b/assets/webhook.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ee2609882bf3c3a6b7e30b5a9c94f840c760f889 GIT binary patch literal 21474 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 String { let (hours, seconds) = seconds.div_rem(&HOUR); let (minutes, seconds) = seconds.div_rem(&MINUTE); @@ -77,6 +80,21 @@ fn longhand_displacement(seconds: u64) -> String { sections.join(", ") } +async fn create_webhook( + ctx: impl CacheHttp, + channel: GuildChannel, + name: impl Display, + avatar: Option, +) -> SerenityResult { + if let Some(path) = avatar { + channel + .create_webhook_with_avatar(ctx.http(), name, AttachmentType::from(Path::new(&path))) + .await + } else { + channel.create_webhook(ctx.http(), name).await + } +} + #[command] #[supports_dm(false)] #[permission_level(Restricted)] @@ -1205,13 +1223,9 @@ async fn create_reminder, S: ToString + Type + Encode = env::var("WEBHOOK_AVATAR").ok(); }