diff --git a/DESCRIPTION b/DESCRIPTION index 15eb59d4..c175dd8a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: rtweet Title: Collecting Twitter Data -Version: 1.0.2.9007 +Version: 1.0.2.9008 Authors@R: c( person("Michael W.", "Kearney", , "kearneymw@missouri.edu", role = c("aut"), comment = c(ORCID = "0000-0002-0730-4694")), diff --git a/NEWS.md b/NEWS.md index 5bb28907..83dbdeb5 100644 --- a/NEWS.md +++ b/NEWS.md @@ -8,6 +8,7 @@ - retryonratelimit works again on paginated endpoints (#732) - Fixed a bug in `auth_sitrep` due to duplicate tokens - Provided `rbind` and subsetting methods (`[`) for rtweet new classes +- Fixed a bug about sending a private message (#735) # rtweet 1.0.2 diff --git a/R/post-message.R b/R/post-message.R index afd82f2c..3697d9ad 100644 --- a/R/post-message.R +++ b/R/post-message.R @@ -10,7 +10,7 @@ post_message <- function(text, user, media = NULL, token = NULL) { ## get user id if (user_type(user) != "user_id") { user_id <- lookup_users(user, token = token) - user_id <- user_id$user_id[1] + user_id <- user_id$id_str[1] } else { user_id <- user } @@ -27,7 +27,7 @@ post_message <- function(text, user, media = NULL, token = NULL) { ) ) ) - + if (!is.null(media)) { media_id <- upload_media_to_twitter(media, token = token) body$event$message_create$message_data$attachment <- list( @@ -36,8 +36,8 @@ post_message <- function(text, user, media = NULL, token = NULL) { ) } - r <- TWIT_post(token, "/1.1/direct_messages/events/new", - body = body, + r <- TWIT_post(token, "/1.1/direct_messages/events/new", + body = body, encode = "json" ) message("Your DM has been posted!") diff --git a/tests/testthat/test-post-message.R b/tests/testthat/test-post-message.R index d0c886c1..65a89066 100644 --- a/tests/testthat/test-post-message.R +++ b/tests/testthat/test-post-message.R @@ -1,9 +1,9 @@ test_that("post_message works", { skip("requires manual testing") - rt <- expect_message( - post_message(paste("Testing", Sys.time()), user = "Lluis_Revilla"), + expect_message( + rt <- post_message(paste("Testing", Sys.time()), user = "Lluis_Revilla"), "Your DM has been posted!" ) expect_equal(httr::status_code(rt), 200L) - + })