From cb37714ca1e2d2f7aad6420b59b638e17b75a553 Mon Sep 17 00:00:00 2001 From: mattbk Date: Mon, 5 Nov 2018 12:02:00 -0600 Subject: [PATCH] Add emoji. --- bin/post-311.R | 40 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/bin/post-311.R b/bin/post-311.R index 3ba6a84..5885eb2 100644 --- a/bin/post-311.R +++ b/bin/post-311.R @@ -15,6 +15,7 @@ library(ini) library(mastodon) #devtools::install_github('ThomasChln/mastodon') library(RSQLite) library(stringr) +library(emo) ### Config # Authentication variables @@ -58,6 +59,8 @@ recent_requests <- do.call("rbind",recent_requests) recent_requests$url <- paste0("https://iframe.publicstuff.com/#?client_id=",client_id,"&request_id=",recent_requests$id) # Add posted column (to include in database table) and default to 0 (false) recent_requests$posted <- 0 +# Add request_type ID +recent_requests <- merge(recent_requests,city_request_types, by.x = "title", by.y = "request_type_name", all.x=T) ## Store requests in a database # Create DB if it doesn't exist, otherwise connect @@ -83,7 +86,6 @@ mydb <- dbConnect(RSQLite::SQLite(), "requests.sqlite") #all_requests <- dbGetQuery(mydb, 'SELECT * FROM requests') new_requests <- dbGetQuery(mydb, 'SELECT * FROM requests WHERE posted <> 1 ORDER BY date_created') - # Only post if there are new requests if(nrow(new_requests) > 0){ # Set number of posts allowed at once. Will need to adjust according to cron @@ -91,13 +93,47 @@ if(nrow(new_requests) > 0){ posts_at_once <- min(3, nrow(new_requests)) # One post per request, up to limit for(i in 1:posts_at_once){ + # Select request request <- new_requests[i,] + # Determine emoji + if(request$request_type_id==28157){ + emoji <- emo::ji("biohazard") + } else if(request$request_type_id==28158){ + emoji <- emo::ji("poop") + } else if(request$request_type_id==28400){ + emoji <- emo::ji("bicycle") + } else if(request$request_type_id==28171){ + emoji <- emo::ji("recycle") + } else if(request$request_type_id==32004){ + emoji <- emo::ji("snowman") + } else if(request$request_type_id==28155){ + emoji <- emo::ji("car") + } else if(request$request_type_id==28086){ + emoji <- emo::ji("leaves") + } else if(request$request_type_id==28060){ + emoji <- emo::ji("bulb") + } else if(request$request_type_id==27903){ + emoji <- emo::ji("seedling") + } else if(request$request_type_id==27902){ + emoji <- emo::ji("tractor") + } else if(request$request_type_id==27901){ + emoji <- emo::ji("alarm") + } else if(request$request_type_id==26104){ + emoji <- emo::ji("pick") + } else if(request$request_type_id==26096){ + emoji <- emo::ji("biohazard") + } else emoji <- emo::ji("interrobang") #27904, general concern + # Post one selected request - post_text <- paste0(request$title, " at ", str_squish(request$address), " (",request$url,"): ", request$description) + post_text <- paste0(emoji, " ", request$title, " at ", str_squish(request$address), " (",request$url,"): ", request$description) + # Check for image if(nchar(request$image_thumbnail) > 1){ + # Get the image download.file(gsub("small","large",request$image_thumbnail), 'temp.jpg', mode="wb") + # Post post_media(mastodon_token, post_text, file = "temp.jpg") } else { + # Post without image post_status(mastodon_token, post_text) }