Add emoji.
This commit is contained in:
		@@ -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)
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user