mirror of
https://github.com/SkyfallWasTaken/arcade-monitor.git
synced 2024-11-22 00:43:39 +00:00
Organise Slack code in format
This commit is contained in:
parent
4516fcb337
commit
d377973c32
2 changed files with 31 additions and 27 deletions
|
@ -1,4 +1,5 @@
|
|||
use indoc::formatdoc;
|
||||
use serde_json::json;
|
||||
|
||||
use crate::items::ShopItem;
|
||||
|
||||
|
@ -83,6 +84,35 @@ pub fn format_deleted_item(item: &ShopItem) -> String {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn get_slack_blocks(diffs: &Vec<String>) -> serde_json::Value {
|
||||
let mut blocks_vec = vec![];
|
||||
for diff in diffs {
|
||||
blocks_vec.push(json!({
|
||||
"type": "section",
|
||||
"text": {
|
||||
"type": "mrkdwn",
|
||||
"text": diff
|
||||
}
|
||||
}));
|
||||
blocks_vec.push(json!({
|
||||
"type": "divider"
|
||||
}));
|
||||
}
|
||||
blocks_vec.push(json!({
|
||||
"type": "context",
|
||||
"elements": [
|
||||
{
|
||||
"type": "mrkdwn",
|
||||
"text": format!("Arcade Monitor v{}", env!("CARGO_PKG_VERSION").to_string()) // Will never panic, variable is always set by Cargo
|
||||
}
|
||||
]
|
||||
}));
|
||||
|
||||
json!({
|
||||
"blocks": blocks_vec,
|
||||
})
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod format_new_tests {
|
||||
use super::*;
|
||||
|
|
28
src/lib.rs
28
src/lib.rs
|
@ -1,6 +1,5 @@
|
|||
use items::ShopItems;
|
||||
use reqwest::Client;
|
||||
use serde_json::json;
|
||||
use worker::*;
|
||||
|
||||
mod format;
|
||||
|
@ -61,32 +60,7 @@ async fn run_scrape(env: Env) -> Result<String> {
|
|||
let changes = result.join("\n\n");
|
||||
|
||||
// slack webhook
|
||||
let mut blocks_vec = vec![];
|
||||
for diff in &result {
|
||||
blocks_vec.push(json!({
|
||||
"type": "section",
|
||||
"text": {
|
||||
"type": "mrkdwn",
|
||||
"text": diff
|
||||
}
|
||||
}));
|
||||
blocks_vec.push(json!({
|
||||
"type": "divider"
|
||||
}));
|
||||
}
|
||||
blocks_vec.push(json!({
|
||||
"type": "context",
|
||||
"elements": [
|
||||
{
|
||||
"type": "mrkdwn",
|
||||
"text": format!("Arcade Monitor v{}", env.var("CARGO_PKG_VERSION")?.to_string())
|
||||
}
|
||||
]
|
||||
}));
|
||||
|
||||
let slack_body = &json!({
|
||||
"blocks": blocks_vec,
|
||||
});
|
||||
let slack_body = format::get_slack_blocks(&result);
|
||||
client
|
||||
.post(&slack_webhook_url)
|
||||
.body(slack_body.to_string())
|
||||
|
|
Loading…
Reference in a new issue